[
  {
    "description": {
      "type": "root",
      "children": [
        {
          "type": "paragraph",
          "children": [
            {
              "type": "text",
              "value": "The SDK creation factory. Create an instance of the SDK by calling this factory with the desired configurations.\nThe SDK instance will be referred as 'api' throughout the rest of the documentation content."
            }
          ]
        }
      ]
    },
    "tags": [
      {
        "title": "public",
        "description": null,
        "lineNumber": 3,
        "type": null
      },
      {
        "title": "method",
        "description": null,
        "lineNumber": 4,
        "name": "create"
      },
      {
        "title": "param",
        "description": "The configuration object.",
        "lineNumber": 5,
        "type": {
          "type": "NameExpression",
          "name": "config"
        },
        "name": "config"
      },
      {
        "title": "return",
        "description": "The SDK instance.",
        "lineNumber": 6,
        "type": {
          "type": "NameExpression",
          "name": "api"
        }
      },
      {
        "title": "example",
        "description": "// Instantiate the SDK.\nimport { create } from 'kandy'\nconst client = create({\n    authentication: { ... },\n    logs: { ... },\n    ...\n});\n// Use the SDK's API.\nclient.on( ... );",
        "lineNumber": 7
      }
    ],
    "loc": {
      "start": {
        "line": 3,
        "column": 0
      },
      "end": {
        "line": 20,
        "column": 3
      }
    },
    "context": {
      "loc": {
        "start": {
          "line": 121,
          "column": 0
        },
        "end": {
          "line": 121,
          "column": 58
        }
      },
      "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/builds/core/index.js"
    },
    "augments": [],
    "examples": [
      {
        "description": "// Instantiate the SDK.\nimport { create } from 'kandy'\nconst client = create({\n    authentication: { ... },\n    logs: { ... },\n    ...\n});\n// Use the SDK's API.\nclient.on( ... );"
      }
    ],
    "implements": [],
    "params": [
      {
        "title": "param",
        "name": "config",
        "lineNumber": 5,
        "description": {
          "type": "root",
          "children": [
            {
              "type": "paragraph",
              "children": [
                {
                  "type": "text",
                  "value": "The configuration object."
                }
              ]
            }
          ]
        },
        "type": {
          "type": "NameExpression",
          "name": "config"
        }
      }
    ],
    "properties": [],
    "returns": [
      {
        "description": {
          "type": "root",
          "children": [
            {
              "type": "paragraph",
              "children": [
                {
                  "type": "text",
                  "value": "The SDK instance."
                }
              ]
            }
          ]
        },
        "title": "returns",
        "type": {
          "type": "NameExpression",
          "name": "api"
        }
      }
    ],
    "sees": [],
    "throws": [],
    "todos": [],
    "yields": [],
    "access": "public",
    "kind": "function",
    "name": "create",
    "members": {
      "global": [],
      "inner": [],
      "instance": [],
      "events": [],
      "static": []
    },
    "path": [
      {
        "name": "create",
        "kind": "function"
      }
    ],
    "namespace": "create"
  },
  {
    "description": {
      "type": "root",
      "children": [
        {
          "type": "paragraph",
          "children": [
            {
              "type": "text",
              "value": "The configuration object. This object defines what different configuration\nvalues you can use when instantiating the SDK using the "
            },
            {
              "type": "link",
              "url": "#create",
              "title": null,
              "jsdoc": true,
              "children": [
                {
                  "type": "text",
                  "value": "create"
                }
              ]
            },
            {
              "type": "text",
              "value": " function."
            }
          ]
        }
      ]
    },
    "tags": [
      {
        "title": "public",
        "description": null,
        "lineNumber": 3,
        "type": null
      },
      {
        "title": "module",
        "description": null,
        "lineNumber": 4,
        "type": null,
        "name": "config"
      }
    ],
    "loc": {
      "start": {
        "line": 31,
        "column": 0
      },
      "end": {
        "line": 36,
        "column": 3
      }
    },
    "context": {
      "loc": {
        "start": {
          "line": 121,
          "column": 0
        },
        "end": {
          "line": 121,
          "column": 58
        }
      },
      "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/builds/core/index.js"
    },
    "augments": [],
    "examples": [],
    "implements": [],
    "params": [],
    "properties": [],
    "returns": [],
    "sees": [],
    "throws": [],
    "todos": [],
    "yields": [],
    "access": "public",
    "kind": "module",
    "name": "config",
    "members": {
      "global": [],
      "inner": [],
      "instance": [
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Configuration options for the Logs feature."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "The SDK will log information about the operations it is performing. The\namount of information will depend on how the Logs feature is configured."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "The format of logs can also be customized by providing a\n"
                  },
                  {
                    "type": "link",
                    "url": "#loggerloghandler",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "LogHandler"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": ". This function will receive a\n"
                  },
                  {
                    "type": "link",
                    "url": "#loggerlogentry",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "LogEntry"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " which it can handle as it sees fit. By\ndefault, the SDK will log information to the console. For more\ninformation, see the "
                  },
                  {
                    "type": "link",
                    "url": "#logger",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "Logs feature"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " description."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 12,
              "type": null
            },
            {
              "title": "static",
              "description": null,
              "lineNumber": 13
            },
            {
              "title": "name",
              "description": null,
              "lineNumber": 14,
              "name": "config.logs"
            },
            {
              "title": "memberof",
              "description": "config",
              "lineNumber": 15
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 16,
              "name": "logs"
            },
            {
              "title": "instance",
              "description": null,
              "lineNumber": 17
            },
            {
              "title": "param",
              "description": "Logs configs.",
              "lineNumber": 18,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "logs"
            },
            {
              "title": "param",
              "description": "Log level to be set. See {@link logger.levels}.",
              "lineNumber": 19,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "logs.logLevel",
              "default": "'debug'"
            },
            {
              "title": "param",
              "description": "The function to receive log entries from the\n   SDK. If not provided, a default handler will be used that logs entries\n   to the console.",
              "lineNumber": 20,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "logger.LogHandler"
                }
              },
              "name": "logs.handler"
            },
            {
              "title": "param",
              "description": "Enable the detailed call logger\n   for v3.X. Requires log level debug.",
              "lineNumber": 23,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "boolean"
                }
              },
              "name": "logs.enableFcsLogs",
              "default": "true"
            },
            {
              "title": "param",
              "description": "Options specifically for action logs when\n   logLevel is at DEBUG+ levels. Set this to false to not output action logs.",
              "lineNumber": 25,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "UnionType",
                  "elements": [
                    {
                      "type": "NameExpression",
                      "name": "Object"
                    },
                    {
                      "type": "NameExpression",
                      "name": "boolean"
                    }
                  ]
                }
              },
              "name": "logs.logActions",
              "default": "false"
            },
            {
              "title": "param",
              "description": "The function to receive action\n   log entries from the SDK. If not provided, a default handler will be used\n   that logs actions to the console.",
              "lineNumber": 27,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "logger.LogHandler"
                }
              },
              "name": "logs.logActions.handler"
            },
            {
              "title": "param",
              "description": "Only output information\n   about the action itself. Omits the SDK context for when it occurred.",
              "lineNumber": 30,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "boolean"
                }
              },
              "name": "logs.logActions.actionOnly",
              "default": "false"
            },
            {
              "title": "param",
              "description": "Whether logs should be\n   minimized when initially output. The full log is still output and can be\n   inspected on the console.",
              "lineNumber": 32,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "boolean"
                }
              },
              "name": "logs.logActions.collapsed",
              "default": "false"
            },
            {
              "title": "param",
              "description": "Include a diff of what SDK\n   context was changed by the action.",
              "lineNumber": 35,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "boolean"
                }
              },
              "name": "logs.logActions.diff",
              "default": "false"
            },
            {
              "title": "param",
              "description": "Log level to be set\n   on the action logs",
              "lineNumber": 37,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "logs.logActions.level",
              "default": "'debug'"
            },
            {
              "title": "param",
              "description": "Allow action payloads\n   to be exposed in the logs, potentially displaying sensitive information.",
              "lineNumber": 39,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "boolean"
                }
              },
              "name": "logs.logActions.exposePayloads",
              "default": "true"
            }
          ],
          "loc": {
            "start": {
              "line": 3,
              "column": 0
            },
            "end": {
              "line": 44,
              "column": 3
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 45,
                "column": 0
              },
              "end": {
                "line": 50,
                "column": 1
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/logs/config.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "logs",
              "lineNumber": 18,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Logs configs."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "properties": [
                {
                  "title": "param",
                  "name": "logs.logLevel",
                  "lineNumber": 19,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Log level to be set. See "
                          },
                          {
                            "type": "link",
                            "url": "#loggerlevels",
                            "title": null,
                            "jsdoc": true,
                            "children": [
                              {
                                "type": "text",
                                "value": "logger.levels"
                              }
                            ]
                          },
                          {
                            "type": "text",
                            "value": "."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "string"
                  },
                  "default": "'debug'"
                },
                {
                  "title": "param",
                  "name": "logs.handler",
                  "lineNumber": 20,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The function to receive log entries from the\nSDK. If not provided, a default handler will be used that logs entries\nto the console."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "logger.LogHandler"
                    }
                  }
                },
                {
                  "title": "param",
                  "name": "logs.enableFcsLogs",
                  "lineNumber": 23,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Enable the detailed call logger\nfor v3.X. Requires log level debug."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "boolean"
                  },
                  "default": "true"
                },
                {
                  "title": "param",
                  "name": "logs.logActions",
                  "lineNumber": 25,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Options specifically for action logs when\nlogLevel is at DEBUG+ levels. Set this to false to not output action logs."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "UnionType",
                    "elements": [
                      {
                        "type": "NameExpression",
                        "name": "Object"
                      },
                      {
                        "type": "NameExpression",
                        "name": "boolean"
                      }
                    ]
                  },
                  "default": "false",
                  "properties": [
                    {
                      "title": "param",
                      "name": "logs.logActions.handler",
                      "lineNumber": 27,
                      "description": {
                        "type": "root",
                        "children": [
                          {
                            "type": "paragraph",
                            "children": [
                              {
                                "type": "text",
                                "value": "The function to receive action\nlog entries from the SDK. If not provided, a default handler will be used\nthat logs actions to the console."
                              }
                            ]
                          }
                        ]
                      },
                      "type": {
                        "type": "OptionalType",
                        "expression": {
                          "type": "NameExpression",
                          "name": "logger.LogHandler"
                        }
                      }
                    },
                    {
                      "title": "param",
                      "name": "logs.logActions.actionOnly",
                      "lineNumber": 30,
                      "description": {
                        "type": "root",
                        "children": [
                          {
                            "type": "paragraph",
                            "children": [
                              {
                                "type": "text",
                                "value": "Only output information\nabout the action itself. Omits the SDK context for when it occurred."
                              }
                            ]
                          }
                        ]
                      },
                      "type": {
                        "type": "NameExpression",
                        "name": "boolean"
                      },
                      "default": "false"
                    },
                    {
                      "title": "param",
                      "name": "logs.logActions.collapsed",
                      "lineNumber": 32,
                      "description": {
                        "type": "root",
                        "children": [
                          {
                            "type": "paragraph",
                            "children": [
                              {
                                "type": "text",
                                "value": "Whether logs should be\nminimized when initially output. The full log is still output and can be\ninspected on the console."
                              }
                            ]
                          }
                        ]
                      },
                      "type": {
                        "type": "NameExpression",
                        "name": "boolean"
                      },
                      "default": "false"
                    },
                    {
                      "title": "param",
                      "name": "logs.logActions.diff",
                      "lineNumber": 35,
                      "description": {
                        "type": "root",
                        "children": [
                          {
                            "type": "paragraph",
                            "children": [
                              {
                                "type": "text",
                                "value": "Include a diff of what SDK\ncontext was changed by the action."
                              }
                            ]
                          }
                        ]
                      },
                      "type": {
                        "type": "NameExpression",
                        "name": "boolean"
                      },
                      "default": "false"
                    },
                    {
                      "title": "param",
                      "name": "logs.logActions.level",
                      "lineNumber": 37,
                      "description": {
                        "type": "root",
                        "children": [
                          {
                            "type": "paragraph",
                            "children": [
                              {
                                "type": "text",
                                "value": "Log level to be set\non the action logs"
                              }
                            ]
                          }
                        ]
                      },
                      "type": {
                        "type": "NameExpression",
                        "name": "string"
                      },
                      "default": "'debug'"
                    },
                    {
                      "title": "param",
                      "name": "logs.logActions.exposePayloads",
                      "lineNumber": 39,
                      "description": {
                        "type": "root",
                        "children": [
                          {
                            "type": "paragraph",
                            "children": [
                              {
                                "type": "text",
                                "value": "Allow action payloads\nto be exposed in the logs, potentially displaying sensitive information."
                              }
                            ]
                          }
                        ]
                      },
                      "type": {
                        "type": "NameExpression",
                        "name": "boolean"
                      },
                      "default": "true"
                    }
                  ]
                }
              ]
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "scope": "instance",
          "name": "config.logs",
          "memberof": "config",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "config",
              "kind": "module"
            },
            {
              "name": "config.logs",
              "scope": "instance"
            }
          ],
          "namespace": "config#config.logs"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Configuration options for the Authentication feature."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 2,
              "type": null
            },
            {
              "title": "name",
              "description": null,
              "lineNumber": 3,
              "name": "config.authentication"
            },
            {
              "title": "memberof",
              "description": "config",
              "lineNumber": 4
            },
            {
              "title": "instance",
              "description": null,
              "lineNumber": 5
            },
            {
              "title": "param",
              "description": "Authentication configs.",
              "lineNumber": 6,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "authentication"
            },
            {
              "title": "param",
              "description": null,
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "authentication.subscription"
            },
            {
              "title": "param",
              "description": "Hostname of the server to be used for subscription requests.",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "authentication.subscription.server"
            },
            {
              "title": "param",
              "description": "Protocol to be used for subscription requests.",
              "lineNumber": 9,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "authentication.subscription.protocol",
              "default": "'https'"
            },
            {
              "title": "param",
              "description": "Port to be used for subscription requests.",
              "lineNumber": 10,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "Number"
                }
              },
              "name": "authentication.subscription.port",
              "default": "443"
            },
            {
              "title": "param",
              "description": "Time duration, in seconds, until a subscription should expire.",
              "lineNumber": 11,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "Number"
                }
              },
              "name": "authentication.subscription.expires",
              "default": "3600"
            },
            {
              "title": "param",
              "description": "Services to subscribe to for notifications. Default value is ['call', 'IM', 'presence'].",
              "lineNumber": 12,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "Array"
                }
              },
              "name": "authentication.subscription.service"
            },
            {
              "title": "param",
              "description": null,
              "lineNumber": 13,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "authentication.subscription.localization",
              "default": "English_US"
            },
            {
              "title": "param",
              "description": null,
              "lineNumber": 14,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "Boolean"
                }
              },
              "name": "authentication.subscription.useTurn",
              "default": "true"
            },
            {
              "title": "param",
              "description": null,
              "lineNumber": 15,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "authentication.subscription.notificationType",
              "default": "Websocket"
            },
            {
              "title": "param",
              "description": null,
              "lineNumber": 16,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "authentication.websocket"
            },
            {
              "title": "param",
              "description": "Hostname of the server to be used for websocket notifications.",
              "lineNumber": 17,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "authentication.websocket.server"
            },
            {
              "title": "param",
              "description": "Protocol to be used for websocket notifications.",
              "lineNumber": 18,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "authentication.websocket.protocol",
              "default": "'wss'"
            },
            {
              "title": "param",
              "description": "Port to be used for websocket notifications.",
              "lineNumber": 19,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "Number"
                }
              },
              "name": "authentication.websocket.port",
              "default": "443"
            },
            {
              "title": "param",
              "description": null,
              "lineNumber": 20,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "Number"
                }
              },
              "name": "authentication.earlyRefreshMargin",
              "default": "300"
            }
          ],
          "loc": {
            "start": {
              "line": 25,
              "column": 0
            },
            "end": {
              "line": 46,
              "column": 3
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 54,
                "column": 0
              },
              "end": {
                "line": 72,
                "column": 1
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/auth/uc/index.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "authentication",
              "lineNumber": 6,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Authentication configs."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "properties": [
                {
                  "title": "param",
                  "name": "authentication.subscription",
                  "lineNumber": 7,
                  "type": {
                    "type": "NameExpression",
                    "name": "Object"
                  },
                  "properties": [
                    {
                      "title": "param",
                      "name": "authentication.subscription.server",
                      "lineNumber": 8,
                      "description": {
                        "type": "root",
                        "children": [
                          {
                            "type": "paragraph",
                            "children": [
                              {
                                "type": "text",
                                "value": "Hostname of the server to be used for subscription requests."
                              }
                            ]
                          }
                        ]
                      },
                      "type": {
                        "type": "NameExpression",
                        "name": "string"
                      }
                    },
                    {
                      "title": "param",
                      "name": "authentication.subscription.protocol",
                      "lineNumber": 9,
                      "description": {
                        "type": "root",
                        "children": [
                          {
                            "type": "paragraph",
                            "children": [
                              {
                                "type": "text",
                                "value": "Protocol to be used for subscription requests."
                              }
                            ]
                          }
                        ]
                      },
                      "type": {
                        "type": "NameExpression",
                        "name": "string"
                      },
                      "default": "'https'"
                    },
                    {
                      "title": "param",
                      "name": "authentication.subscription.port",
                      "lineNumber": 10,
                      "description": {
                        "type": "root",
                        "children": [
                          {
                            "type": "paragraph",
                            "children": [
                              {
                                "type": "text",
                                "value": "Port to be used for subscription requests."
                              }
                            ]
                          }
                        ]
                      },
                      "type": {
                        "type": "NameExpression",
                        "name": "Number"
                      },
                      "default": "443"
                    },
                    {
                      "title": "param",
                      "name": "authentication.subscription.expires",
                      "lineNumber": 11,
                      "description": {
                        "type": "root",
                        "children": [
                          {
                            "type": "paragraph",
                            "children": [
                              {
                                "type": "text",
                                "value": "Time duration, in seconds, until a subscription should expire."
                              }
                            ]
                          }
                        ]
                      },
                      "type": {
                        "type": "NameExpression",
                        "name": "Number"
                      },
                      "default": "3600"
                    },
                    {
                      "title": "param",
                      "name": "authentication.subscription.service",
                      "lineNumber": 12,
                      "description": {
                        "type": "root",
                        "children": [
                          {
                            "type": "paragraph",
                            "children": [
                              {
                                "type": "text",
                                "value": "Services to subscribe to for notifications. Default value is ['call', 'IM', 'presence']."
                              }
                            ]
                          }
                        ]
                      },
                      "type": {
                        "type": "OptionalType",
                        "expression": {
                          "type": "NameExpression",
                          "name": "Array"
                        }
                      }
                    },
                    {
                      "title": "param",
                      "name": "authentication.subscription.localization",
                      "lineNumber": 13,
                      "type": {
                        "type": "NameExpression",
                        "name": "string"
                      },
                      "default": "English_US"
                    },
                    {
                      "title": "param",
                      "name": "authentication.subscription.useTurn",
                      "lineNumber": 14,
                      "type": {
                        "type": "NameExpression",
                        "name": "Boolean"
                      },
                      "default": "true"
                    },
                    {
                      "title": "param",
                      "name": "authentication.subscription.notificationType",
                      "lineNumber": 15,
                      "type": {
                        "type": "NameExpression",
                        "name": "string"
                      },
                      "default": "Websocket"
                    }
                  ]
                },
                {
                  "title": "param",
                  "name": "authentication.websocket",
                  "lineNumber": 16,
                  "type": {
                    "type": "NameExpression",
                    "name": "Object"
                  },
                  "properties": [
                    {
                      "title": "param",
                      "name": "authentication.websocket.server",
                      "lineNumber": 17,
                      "description": {
                        "type": "root",
                        "children": [
                          {
                            "type": "paragraph",
                            "children": [
                              {
                                "type": "text",
                                "value": "Hostname of the server to be used for websocket notifications."
                              }
                            ]
                          }
                        ]
                      },
                      "type": {
                        "type": "NameExpression",
                        "name": "string"
                      }
                    },
                    {
                      "title": "param",
                      "name": "authentication.websocket.protocol",
                      "lineNumber": 18,
                      "description": {
                        "type": "root",
                        "children": [
                          {
                            "type": "paragraph",
                            "children": [
                              {
                                "type": "text",
                                "value": "Protocol to be used for websocket notifications."
                              }
                            ]
                          }
                        ]
                      },
                      "type": {
                        "type": "NameExpression",
                        "name": "string"
                      },
                      "default": "'wss'"
                    },
                    {
                      "title": "param",
                      "name": "authentication.websocket.port",
                      "lineNumber": 19,
                      "description": {
                        "type": "root",
                        "children": [
                          {
                            "type": "paragraph",
                            "children": [
                              {
                                "type": "text",
                                "value": "Port to be used for websocket notifications."
                              }
                            ]
                          }
                        ]
                      },
                      "type": {
                        "type": "NameExpression",
                        "name": "Number"
                      },
                      "default": "443"
                    }
                  ]
                },
                {
                  "title": "param",
                  "name": "authentication.earlyRefreshMargin",
                  "lineNumber": 20,
                  "type": {
                    "type": "NameExpression",
                    "name": "Number"
                  },
                  "default": "300"
                }
              ]
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "name": "config.authentication",
          "memberof": "config",
          "scope": "instance",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "config",
              "kind": "module"
            },
            {
              "name": "config.authentication",
              "scope": "instance"
            }
          ],
          "namespace": "config#config.authentication"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Configuration options for the call feature."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 2,
              "type": null
            },
            {
              "title": "name",
              "description": null,
              "lineNumber": 3,
              "name": "config.call"
            },
            {
              "title": "memberof",
              "description": "config",
              "lineNumber": 4
            },
            {
              "title": "instance",
              "description": null,
              "lineNumber": 5
            },
            {
              "title": "param",
              "description": "The call configuration object.",
              "lineNumber": 6,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "call"
            },
            {
              "title": "param",
              "description": "Default options to be used when making/answering a call.",
              "lineNumber": 7,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "Object"
                }
              },
              "name": "call.callDefaults"
            },
            {
              "title": "param",
              "description": "Specifies whether audio is enabled or not.",
              "lineNumber": 8,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "boolean"
                }
              },
              "name": "call.callDefaults.isAudioEnabled",
              "default": "true"
            },
            {
              "title": "param",
              "description": "Specifies whether video is enabled or not.",
              "lineNumber": 9,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "boolean"
                }
              },
              "name": "call.callDefaults.isVideoEnabled",
              "default": "true"
            },
            {
              "title": "param",
              "description": "Specifies whether to send an initial video stream or not.",
              "lineNumber": 10,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "boolean"
                }
              },
              "name": "call.callDefaults.sendInitialVideo",
              "default": "false"
            },
            {
              "title": "param",
              "description": "Specifies the container where video (coming from remote party) is rendered.",
              "lineNumber": 11,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "Object"
                }
              },
              "name": "call.callDefaults.remoteVideoContainer"
            },
            {
              "title": "param",
              "description": "Specifies the container where video (coming from local party) is rendered.",
              "lineNumber": 12,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "Object"
                }
              },
              "name": "call.callDefaults.localVideoContainer"
            },
            {
              "title": "param",
              "description": "ID of the screenshare extension being used for screenshare of Google Chrome.",
              "lineNumber": 13,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "call.chromeExtensionId"
            },
            {
              "title": "param",
              "description": "Whether to enable the recording of call statistics as part of app's local storage.",
              "lineNumber": 14,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "boolean"
                }
              },
              "name": "call.recordCallStats",
              "default": "false"
            },
            {
              "title": "param",
              "description": "Whether to use early media (e.g. for playing incoming tones) as part of an outgoing call.",
              "lineNumber": 15,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "boolean"
                }
              },
              "name": "call.earlyMedia",
              "default": "false"
            },
            {
              "title": "param",
              "description": "Audit time value for calls, as a positive number in milliseconds.",
              "lineNumber": 16,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "number"
                }
              },
              "name": "call.callAuditTimer",
              "default": "30000"
            },
            {
              "title": "param",
              "description": "Timeout for an existing ringing call before it gets terminated, as a positive number in milliseconds.",
              "lineNumber": 17,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "number"
                }
              },
              "name": "call.activeCallTimeoutMS",
              "default": "120000"
            },
            {
              "title": "param",
              "description": "When enabled, inform Spidr that RingingFeedback is supported.",
              "lineNumber": 18,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "boolean"
                }
              },
              "name": "call.ringingFeedback"
            },
            {
              "title": "param",
              "description": "Specifies alternative audio/video codecs to use for a given call. It has been deprecated so pipeline parameter should be used instead.",
              "lineNumber": 19,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "call.codecsToReplace"
            },
            {
              "title": "param",
              "description": "Sets the video as \"inactive\" instead of \"sendonly\" when holding a call.",
              "lineNumber": 20,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "boolean"
                }
              },
              "name": "call.videoInactiveOnHold",
              "default": "false"
            },
            {
              "title": "param",
              "description": "Disables any type of media (e.g. Comfort Noise) from transmitting when call is held locally.",
              "lineNumber": 21,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "boolean"
                }
              },
              "name": "call.forceDisableMediaOnHold",
              "default": "false"
            },
            {
              "title": "param",
              "description": "When provided (in milliseconds), ice candidate collection is assumed to be completed if at least one candidate is received within the interval.",
              "lineNumber": 22,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "number"
                }
              },
              "name": "call.iceCandidateCollectionTimeoutInterval",
              "default": "3000"
            },
            {
              "title": "param",
              "description": "When enabled, iceCandidateCollectionTimeoutInterval is restarted until receiving first relay candidate. If the provided cycle limit is reached, ice candidate collection assumed to be completed.",
              "lineNumber": 23,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "boolean"
                }
              },
              "name": "call.relayCandidateCollectionTimeoutCycle",
              "default": "false"
            },
            {
              "title": "param",
              "description": "When enabled, call statistics are recorded in app's localstorage after the call is terminated.",
              "lineNumber": 24,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "boolean"
                }
              },
              "name": "call.recordCallStats",
              "default": "false"
            },
            {
              "title": "param",
              "description": "Custom RTCPeerConnection constraints to use for calls. Will cause errors if malformed.",
              "lineNumber": 25,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "Object"
                }
              },
              "name": "call.callConstraints"
            },
            {
              "title": "param",
              "description": "Custom constraints to be used on Google Chrome.",
              "lineNumber": 26,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "Object"
                }
              },
              "name": "call.callConstraints.chrome"
            },
            {
              "title": "param",
              "description": "Custom constraints to be used on Mozilla Firefox.",
              "lineNumber": 27,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "Object"
                }
              },
              "name": "call.callConstraints.firefox"
            },
            {
              "title": "param",
              "description": "The bundle policy to use for peer connections. Value can be fcs.SDP_CONSTANTS.BUNDLE_POLICY.MAX_COMPAT, fcs.SDP_CONSTANTS.BUNDLE_POLICY.MAX_BUNDLE, fcs.SDP_CONSTANTS.BUNDLE_POLICY.BALANCED or fcs.SDP_CONSTANTS.BUNDLE_POLICY.DISABLED. The DISABLED option means that bundle group lines will be removed from every SDP.",
              "lineNumber": 28,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "call.bundlePolicy",
              "default": "'DISABLED'"
            },
            {
              "title": "param",
              "description": "Bandwidth controls to add for Opus audio codec.",
              "lineNumber": 29,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "Object"
                }
              },
              "name": "call.opusConfig"
            },
            {
              "title": "param",
              "description": "Maximum playback rate, in bits per second. Must be a positive value between 8000 and 48000.",
              "lineNumber": 30,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "number"
                }
              },
              "name": "call.opusConfig.maxPlaybackRate"
            },
            {
              "title": "param",
              "description": "A bitrate encoding value between 6000 and 510000 bits per second.",
              "lineNumber": 31,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "number"
                }
              },
              "name": "call.opusConfig.maxAverageBitrate"
            },
            {
              "title": "param",
              "description": "Specifies whether Forward Error Correction is enabled or not. When enabled, FEC provides robustness against packet loss. Acceptable values can only be 0 or 1.",
              "lineNumber": 32,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "number"
                }
              },
              "name": "call.opusConfig.fec"
            },
            {
              "title": "param",
              "description": "Specifies whether Discontinuous Transmission mode is enabled or not. When enabled, DTX reduces the bitrate during silence or background noise. Acceptable values can only be 0 or 1.",
              "lineNumber": 33,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "number"
                }
              },
              "name": "call.opusConfig.dtx"
            },
            {
              "title": "param",
              "description": "Packet (i.e. frame) duration in milliseconds. Frames will be combined into packets to achieve the maximum of 120 ms duration. A positive value between 2.5 and 120.",
              "lineNumber": 34,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "number"
                }
              },
              "name": "call.opusConfig.ptime"
            },
            {
              "title": "param",
              "description": "Interval at which to collect WebRTC logs for calls, in milliseconds.",
              "lineNumber": 35,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "number"
                }
              },
              "name": "call.webrtcLogCollectionInterval",
              "default": "3000"
            },
            {
              "title": "param",
              "description": "Whether we should force connection through the relay candidates (i.e. TURN server). Mostly used for testing.",
              "lineNumber": 36,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "boolean"
                }
              },
              "name": "call.useRelay",
              "default": "false"
            },
            {
              "title": "param",
              "description": "Whether we should advertise and use Trickle ICE. Accepted value is one of: 'none', 'half' or 'full'.",
              "lineNumber": 37,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "call.trickleIceSupport",
              "default": "'none'"
            },
            {
              "title": "param",
              "description": "Whether an existing voice call can be persisted, as a mobile phone moves between circuit switched and packet switched domains (e.g. GSM to WiFi).",
              "lineNumber": 38,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "boolean"
                }
              },
              "name": "call.continuity",
              "default": "false"
            },
            {
              "title": "param",
              "description": "Whether all active calls should be resynched upon connecting or reconnecting to the websocket (requires Kandy Link 4.7.1+).",
              "lineNumber": 39,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "boolean"
                }
              },
              "name": "call.resyncOnConnect",
              "default": "false"
            }
          ],
          "loc": {
            "start": {
              "line": 42,
              "column": 0
            },
            "end": {
              "line": 82,
              "column": 3
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 90,
                "column": 0
              },
              "end": {
                "line": 132,
                "column": 1
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/oldLink/index.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "call",
              "lineNumber": 6,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The call configuration object."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "properties": [
                {
                  "title": "param",
                  "name": "call.callDefaults",
                  "lineNumber": 7,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Default options to be used when making/answering a call."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "Object"
                    }
                  },
                  "properties": [
                    {
                      "title": "param",
                      "name": "call.callDefaults.isAudioEnabled",
                      "lineNumber": 8,
                      "description": {
                        "type": "root",
                        "children": [
                          {
                            "type": "paragraph",
                            "children": [
                              {
                                "type": "text",
                                "value": "Specifies whether audio is enabled or not."
                              }
                            ]
                          }
                        ]
                      },
                      "type": {
                        "type": "NameExpression",
                        "name": "boolean"
                      },
                      "default": "true"
                    },
                    {
                      "title": "param",
                      "name": "call.callDefaults.isVideoEnabled",
                      "lineNumber": 9,
                      "description": {
                        "type": "root",
                        "children": [
                          {
                            "type": "paragraph",
                            "children": [
                              {
                                "type": "text",
                                "value": "Specifies whether video is enabled or not."
                              }
                            ]
                          }
                        ]
                      },
                      "type": {
                        "type": "NameExpression",
                        "name": "boolean"
                      },
                      "default": "true"
                    },
                    {
                      "title": "param",
                      "name": "call.callDefaults.sendInitialVideo",
                      "lineNumber": 10,
                      "description": {
                        "type": "root",
                        "children": [
                          {
                            "type": "paragraph",
                            "children": [
                              {
                                "type": "text",
                                "value": "Specifies whether to send an initial video stream or not."
                              }
                            ]
                          }
                        ]
                      },
                      "type": {
                        "type": "NameExpression",
                        "name": "boolean"
                      },
                      "default": "false"
                    },
                    {
                      "title": "param",
                      "name": "call.callDefaults.remoteVideoContainer",
                      "lineNumber": 11,
                      "description": {
                        "type": "root",
                        "children": [
                          {
                            "type": "paragraph",
                            "children": [
                              {
                                "type": "text",
                                "value": "Specifies the container where video (coming from remote party) is rendered."
                              }
                            ]
                          }
                        ]
                      },
                      "type": {
                        "type": "OptionalType",
                        "expression": {
                          "type": "NameExpression",
                          "name": "Object"
                        }
                      }
                    },
                    {
                      "title": "param",
                      "name": "call.callDefaults.localVideoContainer",
                      "lineNumber": 12,
                      "description": {
                        "type": "root",
                        "children": [
                          {
                            "type": "paragraph",
                            "children": [
                              {
                                "type": "text",
                                "value": "Specifies the container where video (coming from local party) is rendered."
                              }
                            ]
                          }
                        ]
                      },
                      "type": {
                        "type": "OptionalType",
                        "expression": {
                          "type": "NameExpression",
                          "name": "Object"
                        }
                      }
                    }
                  ]
                },
                {
                  "title": "param",
                  "name": "call.chromeExtensionId",
                  "lineNumber": 13,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "ID of the screenshare extension being used for screenshare of Google Chrome."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  }
                },
                {
                  "title": "param",
                  "name": "call.recordCallStats",
                  "lineNumber": 14,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Whether to enable the recording of call statistics as part of app's local storage."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "boolean"
                  },
                  "default": "false"
                },
                {
                  "title": "param",
                  "name": "call.earlyMedia",
                  "lineNumber": 15,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Whether to use early media (e.g. for playing incoming tones) as part of an outgoing call."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "boolean"
                  },
                  "default": "false"
                },
                {
                  "title": "param",
                  "name": "call.callAuditTimer",
                  "lineNumber": 16,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Audit time value for calls, as a positive number in milliseconds."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "number"
                  },
                  "default": "30000"
                },
                {
                  "title": "param",
                  "name": "call.activeCallTimeoutMS",
                  "lineNumber": 17,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Timeout for an existing ringing call before it gets terminated, as a positive number in milliseconds."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "number"
                  },
                  "default": "120000"
                },
                {
                  "title": "param",
                  "name": "call.ringingFeedback",
                  "lineNumber": 18,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "When enabled, inform Spidr that RingingFeedback is supported."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "boolean"
                    }
                  }
                },
                {
                  "title": "param",
                  "name": "call.codecsToReplace",
                  "lineNumber": 19,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Specifies alternative audio/video codecs to use for a given call. It has been deprecated so pipeline parameter should be used instead."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  }
                },
                {
                  "title": "param",
                  "name": "call.videoInactiveOnHold",
                  "lineNumber": 20,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Sets the video as \"inactive\" instead of \"sendonly\" when holding a call."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "boolean"
                  },
                  "default": "false"
                },
                {
                  "title": "param",
                  "name": "call.forceDisableMediaOnHold",
                  "lineNumber": 21,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Disables any type of media (e.g. Comfort Noise) from transmitting when call is held locally."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "boolean"
                  },
                  "default": "false"
                },
                {
                  "title": "param",
                  "name": "call.iceCandidateCollectionTimeoutInterval",
                  "lineNumber": 22,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "When provided (in milliseconds), ice candidate collection is assumed to be completed if at least one candidate is received within the interval."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "number"
                  },
                  "default": "3000"
                },
                {
                  "title": "param",
                  "name": "call.relayCandidateCollectionTimeoutCycle",
                  "lineNumber": 23,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "When enabled, iceCandidateCollectionTimeoutInterval is restarted until receiving first relay candidate. If the provided cycle limit is reached, ice candidate collection assumed to be completed."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "boolean"
                  },
                  "default": "false"
                },
                {
                  "title": "param",
                  "name": "call.recordCallStats",
                  "lineNumber": 24,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "When enabled, call statistics are recorded in app's localstorage after the call is terminated."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "boolean"
                  },
                  "default": "false"
                },
                {
                  "title": "param",
                  "name": "call.callConstraints",
                  "lineNumber": 25,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Custom RTCPeerConnection constraints to use for calls. Will cause errors if malformed."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "Object"
                    }
                  },
                  "properties": [
                    {
                      "title": "param",
                      "name": "call.callConstraints.chrome",
                      "lineNumber": 26,
                      "description": {
                        "type": "root",
                        "children": [
                          {
                            "type": "paragraph",
                            "children": [
                              {
                                "type": "text",
                                "value": "Custom constraints to be used on Google Chrome."
                              }
                            ]
                          }
                        ]
                      },
                      "type": {
                        "type": "OptionalType",
                        "expression": {
                          "type": "NameExpression",
                          "name": "Object"
                        }
                      }
                    },
                    {
                      "title": "param",
                      "name": "call.callConstraints.firefox",
                      "lineNumber": 27,
                      "description": {
                        "type": "root",
                        "children": [
                          {
                            "type": "paragraph",
                            "children": [
                              {
                                "type": "text",
                                "value": "Custom constraints to be used on Mozilla Firefox."
                              }
                            ]
                          }
                        ]
                      },
                      "type": {
                        "type": "OptionalType",
                        "expression": {
                          "type": "NameExpression",
                          "name": "Object"
                        }
                      }
                    }
                  ]
                },
                {
                  "title": "param",
                  "name": "call.bundlePolicy",
                  "lineNumber": 28,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The bundle policy to use for peer connections. Value can be fcs.SDP_CONSTANTS.BUNDLE_POLICY.MAX_COMPAT, fcs.SDP_CONSTANTS.BUNDLE_POLICY.MAX_BUNDLE, fcs.SDP_CONSTANTS.BUNDLE_POLICY.BALANCED or fcs.SDP_CONSTANTS.BUNDLE_POLICY.DISABLED. The DISABLED option means that bundle group lines will be removed from every SDP."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "string"
                  },
                  "default": "'DISABLED'"
                },
                {
                  "title": "param",
                  "name": "call.opusConfig",
                  "lineNumber": 29,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Bandwidth controls to add for Opus audio codec."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "Object"
                    }
                  },
                  "properties": [
                    {
                      "title": "param",
                      "name": "call.opusConfig.maxPlaybackRate",
                      "lineNumber": 30,
                      "description": {
                        "type": "root",
                        "children": [
                          {
                            "type": "paragraph",
                            "children": [
                              {
                                "type": "text",
                                "value": "Maximum playback rate, in bits per second. Must be a positive value between 8000 and 48000."
                              }
                            ]
                          }
                        ]
                      },
                      "type": {
                        "type": "OptionalType",
                        "expression": {
                          "type": "NameExpression",
                          "name": "number"
                        }
                      }
                    },
                    {
                      "title": "param",
                      "name": "call.opusConfig.maxAverageBitrate",
                      "lineNumber": 31,
                      "description": {
                        "type": "root",
                        "children": [
                          {
                            "type": "paragraph",
                            "children": [
                              {
                                "type": "text",
                                "value": "A bitrate encoding value between 6000 and 510000 bits per second."
                              }
                            ]
                          }
                        ]
                      },
                      "type": {
                        "type": "OptionalType",
                        "expression": {
                          "type": "NameExpression",
                          "name": "number"
                        }
                      }
                    },
                    {
                      "title": "param",
                      "name": "call.opusConfig.fec",
                      "lineNumber": 32,
                      "description": {
                        "type": "root",
                        "children": [
                          {
                            "type": "paragraph",
                            "children": [
                              {
                                "type": "text",
                                "value": "Specifies whether Forward Error Correction is enabled or not. When enabled, FEC provides robustness against packet loss. Acceptable values can only be 0 or 1."
                              }
                            ]
                          }
                        ]
                      },
                      "type": {
                        "type": "OptionalType",
                        "expression": {
                          "type": "NameExpression",
                          "name": "number"
                        }
                      }
                    },
                    {
                      "title": "param",
                      "name": "call.opusConfig.dtx",
                      "lineNumber": 33,
                      "description": {
                        "type": "root",
                        "children": [
                          {
                            "type": "paragraph",
                            "children": [
                              {
                                "type": "text",
                                "value": "Specifies whether Discontinuous Transmission mode is enabled or not. When enabled, DTX reduces the bitrate during silence or background noise. Acceptable values can only be 0 or 1."
                              }
                            ]
                          }
                        ]
                      },
                      "type": {
                        "type": "OptionalType",
                        "expression": {
                          "type": "NameExpression",
                          "name": "number"
                        }
                      }
                    },
                    {
                      "title": "param",
                      "name": "call.opusConfig.ptime",
                      "lineNumber": 34,
                      "description": {
                        "type": "root",
                        "children": [
                          {
                            "type": "paragraph",
                            "children": [
                              {
                                "type": "text",
                                "value": "Packet (i.e. frame) duration in milliseconds. Frames will be combined into packets to achieve the maximum of 120 ms duration. A positive value between 2.5 and 120."
                              }
                            ]
                          }
                        ]
                      },
                      "type": {
                        "type": "OptionalType",
                        "expression": {
                          "type": "NameExpression",
                          "name": "number"
                        }
                      }
                    }
                  ]
                },
                {
                  "title": "param",
                  "name": "call.webrtcLogCollectionInterval",
                  "lineNumber": 35,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Interval at which to collect WebRTC logs for calls, in milliseconds."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "number"
                  },
                  "default": "3000"
                },
                {
                  "title": "param",
                  "name": "call.useRelay",
                  "lineNumber": 36,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Whether we should force connection through the relay candidates (i.e. TURN server). Mostly used for testing."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "boolean"
                  },
                  "default": "false"
                },
                {
                  "title": "param",
                  "name": "call.trickleIceSupport",
                  "lineNumber": 37,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Whether we should advertise and use Trickle ICE. Accepted value is one of: 'none', 'half' or 'full'."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "string"
                  },
                  "default": "'none'"
                },
                {
                  "title": "param",
                  "name": "call.continuity",
                  "lineNumber": 38,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Whether an existing voice call can be persisted, as a mobile phone moves between circuit switched and packet switched domains (e.g. GSM to WiFi)."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "boolean"
                  },
                  "default": "false"
                },
                {
                  "title": "param",
                  "name": "call.resyncOnConnect",
                  "lineNumber": 39,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Whether all active calls should be resynched upon connecting or reconnecting to the websocket (requires Kandy Link 4.7.1+)."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "boolean"
                  },
                  "default": "false"
                }
              ]
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "name": "config.call",
          "memberof": "config",
          "scope": "instance",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "config",
              "kind": "module"
            },
            {
              "name": "config.call",
              "scope": "instance"
            }
          ],
          "namespace": "config#config.call"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Configuration options for the Connectivity feature.\nThe SDK can only use keepalive as the connectivity check."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Keep Alive: The client sends \"keepalive\" messages (to the server) on the websocket at regular intervals. This lets the server know that the client is still connected, and that it should \"keep the connection alive\"."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "For more information on keepalive see here: https://en.wikipedia.org/wiki/Keepalive"
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 7,
              "type": null
            },
            {
              "title": "name",
              "description": null,
              "lineNumber": 8,
              "name": "config.connectivity"
            },
            {
              "title": "memberof",
              "description": "config",
              "lineNumber": 9
            },
            {
              "title": "instance",
              "description": null,
              "lineNumber": 10
            },
            {
              "title": "param",
              "description": "Connectivity configs.",
              "lineNumber": 11,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "connectivity"
            },
            {
              "title": "param",
              "description": "Time in between websocket ping attempts (milliseconds).",
              "lineNumber": 12,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "Number"
                }
              },
              "name": "connectivity.pingInterval",
              "default": "30000"
            },
            {
              "title": "param",
              "description": "Number of failed reconnect attempts before reporting an error. Can be set to 0 to not limit reconnection attempts.",
              "lineNumber": 13,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "Number"
                }
              },
              "name": "connectivity.reconnectLimit",
              "default": "5"
            },
            {
              "title": "param",
              "description": "Base time between websocket reconnect attempts (milliseconds).",
              "lineNumber": 14,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "Number"
                }
              },
              "name": "connectivity.reconnectDelay",
              "default": "5000"
            },
            {
              "title": "param",
              "description": "Reconnect delay multiplier for subsequent attempts. The reconnect delay time will be multiplied by this after each failed reconnect attempt to increase the delay between attempts. eg. 5000ms then 10000ms then 20000ms delay if value is 2.",
              "lineNumber": 15,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "Number"
                }
              },
              "name": "connectivity.reconnectTimeMultiplier",
              "default": "1"
            },
            {
              "title": "param",
              "description": "Maximum time delay between reconnect attempts (milliseconds). Used in conjunction with the reconnect time multiplier to prevent overly long delays between reconnection attempts.",
              "lineNumber": 16,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "Number"
                }
              },
              "name": "connectivity.reconnectTimeLimit",
              "default": "640000"
            },
            {
              "title": "param",
              "description": "Flag to determine whether the SDK will attempt to automatically reconnect after connectivity disruptions.",
              "lineNumber": 17,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "Boolean"
                }
              },
              "name": "connectivity.autoReconnect",
              "default": "true"
            },
            {
              "title": "param",
              "description": "Maximum pings sent (without receiving a response) before reporting an error.",
              "lineNumber": 18,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "Number"
                }
              },
              "name": "connectivity.maxMissedPings",
              "default": "3"
            },
            {
              "title": "param",
              "description": "Flag to determine whether the SDK should check connectivity.",
              "lineNumber": 19,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "Boolean"
                }
              },
              "name": "connectivity.checkConnectivity",
              "default": "true"
            },
            {
              "title": "param",
              "description": "query will send the bearer access token to authenticate the websocket and none will not send it.",
              "lineNumber": 20,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "connectivity.webSocketOAuthMode",
              "default": "query"
            }
          ],
          "loc": {
            "start": {
              "line": 36,
              "column": 0
            },
            "end": {
              "line": 57,
              "column": 3
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 58,
                "column": 0
              },
              "end": {
                "line": 62,
                "column": 1
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/connectivity/link/index.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "connectivity",
              "lineNumber": 11,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Connectivity configs."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "properties": [
                {
                  "title": "param",
                  "name": "connectivity.pingInterval",
                  "lineNumber": 12,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Time in between websocket ping attempts (milliseconds)."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "Number"
                  },
                  "default": "30000"
                },
                {
                  "title": "param",
                  "name": "connectivity.reconnectLimit",
                  "lineNumber": 13,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Number of failed reconnect attempts before reporting an error. Can be set to 0 to not limit reconnection attempts."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "Number"
                  },
                  "default": "5"
                },
                {
                  "title": "param",
                  "name": "connectivity.reconnectDelay",
                  "lineNumber": 14,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Base time between websocket reconnect attempts (milliseconds)."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "Number"
                  },
                  "default": "5000"
                },
                {
                  "title": "param",
                  "name": "connectivity.reconnectTimeMultiplier",
                  "lineNumber": 15,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Reconnect delay multiplier for subsequent attempts. The reconnect delay time will be multiplied by this after each failed reconnect attempt to increase the delay between attempts. eg. 5000ms then 10000ms then 20000ms delay if value is 2."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "Number"
                  },
                  "default": "1"
                },
                {
                  "title": "param",
                  "name": "connectivity.reconnectTimeLimit",
                  "lineNumber": 16,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Maximum time delay between reconnect attempts (milliseconds). Used in conjunction with the reconnect time multiplier to prevent overly long delays between reconnection attempts."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "Number"
                  },
                  "default": "640000"
                },
                {
                  "title": "param",
                  "name": "connectivity.autoReconnect",
                  "lineNumber": 17,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Flag to determine whether the SDK will attempt to automatically reconnect after connectivity disruptions."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "Boolean"
                  },
                  "default": "true"
                },
                {
                  "title": "param",
                  "name": "connectivity.maxMissedPings",
                  "lineNumber": 18,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Maximum pings sent (without receiving a response) before reporting an error."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "Number"
                  },
                  "default": "3"
                },
                {
                  "title": "param",
                  "name": "connectivity.checkConnectivity",
                  "lineNumber": 19,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Flag to determine whether the SDK should check connectivity."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "Boolean"
                  },
                  "default": "true"
                },
                {
                  "title": "param",
                  "name": "connectivity.webSocketOAuthMode",
                  "lineNumber": 20,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "query will send the bearer access token to authenticate the websocket and none will not send it."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "string"
                  },
                  "default": "query"
                }
              ]
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "name": "config.connectivity",
          "memberof": "config",
          "scope": "instance",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "config",
              "kind": "module"
            },
            {
              "name": "config.connectivity",
              "scope": "instance"
            }
          ],
          "namespace": "config#config.connectivity"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Configuration options for the notification feature."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 2,
              "type": null
            },
            {
              "title": "name",
              "description": null,
              "lineNumber": 3,
              "name": "config.notifications"
            },
            {
              "title": "memberof",
              "description": "config",
              "lineNumber": 4
            },
            {
              "title": "instance",
              "description": null,
              "lineNumber": 5
            },
            {
              "title": "param",
              "description": "The notifications configuration object.",
              "lineNumber": 6,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "notifications"
            },
            {
              "title": "param",
              "description": "Default amount of event ids to remember for de-duplication purposes.",
              "lineNumber": 7,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "number"
                }
              },
              "name": "notifications.idCacheLength",
              "default": "100"
            },
            {
              "title": "param",
              "description": "Communication channel mode used for incoming call notifications. Supported values are 'any-channel' or 'push-channel-only'.",
              "lineNumber": 8,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "notifications.incomingCallNotificationMode",
              "default": "'any-channel'"
            },
            {
              "title": "param",
              "description": "Object describing the server to use for push services.",
              "lineNumber": 9,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "Object"
                }
              },
              "name": "notifications.pushRegistration"
            },
            {
              "title": "param",
              "description": "Hostname for the push registration server.",
              "lineNumber": 10,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "notifications.pushRegistration.server"
            },
            {
              "title": "param",
              "description": "Port for the push registration server.",
              "lineNumber": 11,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "notifications.pushRegistration.port"
            },
            {
              "title": "param",
              "description": "Protocol for the push registration server.",
              "lineNumber": 12,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "notifications.pushRegistration.protocol"
            },
            {
              "title": "param",
              "description": "Version for the push registration server.",
              "lineNumber": 13,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "notifications.pushRegistration.version"
            }
          ],
          "loc": {
            "start": {
              "line": 18,
              "column": 0
            },
            "end": {
              "line": 32,
              "column": 3
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 34,
                "column": 0
              },
              "end": {
                "line": 37,
                "column": 1
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/notifications/link/index.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "notifications",
              "lineNumber": 6,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The notifications configuration object."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "properties": [
                {
                  "title": "param",
                  "name": "notifications.idCacheLength",
                  "lineNumber": 7,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Default amount of event ids to remember for de-duplication purposes."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "number"
                  },
                  "default": "100"
                },
                {
                  "title": "param",
                  "name": "notifications.incomingCallNotificationMode",
                  "lineNumber": 8,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Communication channel mode used for incoming call notifications. Supported values are 'any-channel' or 'push-channel-only'."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "string"
                  },
                  "default": "'any-channel'"
                },
                {
                  "title": "param",
                  "name": "notifications.pushRegistration",
                  "lineNumber": 9,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Object describing the server to use for push services."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "Object"
                    }
                  },
                  "properties": [
                    {
                      "title": "param",
                      "name": "notifications.pushRegistration.server",
                      "lineNumber": 10,
                      "description": {
                        "type": "root",
                        "children": [
                          {
                            "type": "paragraph",
                            "children": [
                              {
                                "type": "text",
                                "value": "Hostname for the push registration server."
                              }
                            ]
                          }
                        ]
                      },
                      "type": {
                        "type": "OptionalType",
                        "expression": {
                          "type": "NameExpression",
                          "name": "string"
                        }
                      }
                    },
                    {
                      "title": "param",
                      "name": "notifications.pushRegistration.port",
                      "lineNumber": 11,
                      "description": {
                        "type": "root",
                        "children": [
                          {
                            "type": "paragraph",
                            "children": [
                              {
                                "type": "text",
                                "value": "Port for the push registration server."
                              }
                            ]
                          }
                        ]
                      },
                      "type": {
                        "type": "OptionalType",
                        "expression": {
                          "type": "NameExpression",
                          "name": "string"
                        }
                      }
                    },
                    {
                      "title": "param",
                      "name": "notifications.pushRegistration.protocol",
                      "lineNumber": 12,
                      "description": {
                        "type": "root",
                        "children": [
                          {
                            "type": "paragraph",
                            "children": [
                              {
                                "type": "text",
                                "value": "Protocol for the push registration server."
                              }
                            ]
                          }
                        ]
                      },
                      "type": {
                        "type": "OptionalType",
                        "expression": {
                          "type": "NameExpression",
                          "name": "string"
                        }
                      }
                    },
                    {
                      "title": "param",
                      "name": "notifications.pushRegistration.version",
                      "lineNumber": 13,
                      "description": {
                        "type": "root",
                        "children": [
                          {
                            "type": "paragraph",
                            "children": [
                              {
                                "type": "text",
                                "value": "Version for the push registration server."
                              }
                            ]
                          }
                        ]
                      },
                      "type": {
                        "type": "OptionalType",
                        "expression": {
                          "type": "NameExpression",
                          "name": "string"
                        }
                      }
                    }
                  ]
                }
              ]
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "name": "config.notifications",
          "memberof": "config",
          "scope": "instance",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "config",
              "kind": "module"
            },
            {
              "name": "config.notifications",
              "scope": "instance"
            }
          ],
          "namespace": "config#config.notifications"
        }
      ],
      "events": [],
      "static": []
    },
    "path": [
      {
        "name": "config",
        "kind": "module"
      }
    ],
    "namespace": "config"
  },
  {
    "description": {
      "type": "root",
      "children": [
        {
          "type": "paragraph",
          "children": [
            {
              "type": "text",
              "value": "An error has occurred with a call."
            }
          ]
        }
      ]
    },
    "tags": [
      {
        "title": "public",
        "description": null,
        "lineNumber": 3,
        "type": null
      },
      {
        "title": "memberof",
        "description": "call",
        "lineNumber": 4
      },
      {
        "title": "requires",
        "description": null,
        "lineNumber": 5,
        "name": "call"
      },
      {
        "title": "requires",
        "description": null,
        "lineNumber": 6,
        "name": "callMe"
      },
      {
        "title": "event",
        "description": "call:error",
        "lineNumber": 7
      },
      {
        "title": "param",
        "description": null,
        "lineNumber": 8,
        "type": {
          "type": "NameExpression",
          "name": "Object"
        },
        "name": "params"
      },
      {
        "title": "param",
        "description": "The id of the call.",
        "lineNumber": 9,
        "type": {
          "type": "NameExpression",
          "name": "string"
        },
        "name": "params.callId"
      },
      {
        "title": "param",
        "description": "The Basic error object.",
        "lineNumber": 10,
        "type": {
          "type": "NameExpression",
          "name": "api.BasicError"
        },
        "name": "params.error"
      }
    ],
    "loc": {
      "start": {
        "line": 106,
        "column": 0
      },
      "end": {
        "line": 117,
        "column": 3
      }
    },
    "context": {
      "loc": {
        "start": {
          "line": 118,
          "column": 0
        },
        "end": {
          "line": 118,
          "column": 38
        }
      },
      "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/eventTypes.js"
    },
    "augments": [],
    "examples": [],
    "implements": [],
    "params": [
      {
        "title": "param",
        "name": "params",
        "lineNumber": 8,
        "type": {
          "type": "NameExpression",
          "name": "Object"
        },
        "properties": [
          {
            "title": "param",
            "name": "params.callId",
            "lineNumber": 9,
            "description": {
              "type": "root",
              "children": [
                {
                  "type": "paragraph",
                  "children": [
                    {
                      "type": "text",
                      "value": "The id of the call."
                    }
                  ]
                }
              ]
            },
            "type": {
              "type": "NameExpression",
              "name": "string"
            }
          },
          {
            "title": "param",
            "name": "params.error",
            "lineNumber": 10,
            "description": {
              "type": "root",
              "children": [
                {
                  "type": "paragraph",
                  "children": [
                    {
                      "type": "text",
                      "value": "The Basic error object."
                    }
                  ]
                }
              ]
            },
            "type": {
              "type": "NameExpression",
              "name": "api.BasicError"
            }
          }
        ]
      }
    ],
    "properties": [],
    "returns": [],
    "sees": [],
    "throws": [],
    "todos": [],
    "yields": [],
    "access": "public",
    "memberof": "call",
    "kind": "event",
    "name": "call:error",
    "members": {
      "global": [],
      "inner": [],
      "instance": [],
      "events": [],
      "static": []
    },
    "path": [
      {
        "name": "call:error",
        "kind": "event"
      }
    ],
    "namespace": ".event:call:error"
  },
  {
    "description": {
      "type": "root",
      "children": [
        {
          "type": "paragraph",
          "children": [
            {
              "type": "text",
              "value": "A call has successfully been forwarded."
            }
          ]
        }
      ]
    },
    "tags": [
      {
        "title": "public",
        "description": null,
        "lineNumber": 3,
        "type": null
      },
      {
        "title": "memberof",
        "description": "call",
        "lineNumber": 4
      },
      {
        "title": "requires",
        "description": null,
        "lineNumber": 5,
        "name": "call"
      },
      {
        "title": "event",
        "description": "call:forward",
        "lineNumber": 6
      },
      {
        "title": "param",
        "description": null,
        "lineNumber": 7,
        "type": {
          "type": "NameExpression",
          "name": "Object"
        },
        "name": "params"
      },
      {
        "title": "param",
        "description": "The Id of the call.",
        "lineNumber": 8,
        "type": {
          "type": "NameExpression",
          "name": "string"
        },
        "name": "params.callId"
      }
    ],
    "loc": {
      "start": {
        "line": 43,
        "column": 0
      },
      "end": {
        "line": 52,
        "column": 3
      }
    },
    "context": {
      "loc": {
        "start": {
          "line": 53,
          "column": 0
        },
        "end": {
          "line": 53,
          "column": 44
        }
      },
      "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/eventTypes.js"
    },
    "augments": [],
    "examples": [],
    "implements": [],
    "params": [
      {
        "title": "param",
        "name": "params",
        "lineNumber": 7,
        "type": {
          "type": "NameExpression",
          "name": "Object"
        },
        "properties": [
          {
            "title": "param",
            "name": "params.callId",
            "lineNumber": 8,
            "description": {
              "type": "root",
              "children": [
                {
                  "type": "paragraph",
                  "children": [
                    {
                      "type": "text",
                      "value": "The Id of the call."
                    }
                  ]
                }
              ]
            },
            "type": {
              "type": "NameExpression",
              "name": "string"
            }
          }
        ]
      }
    ],
    "properties": [],
    "returns": [],
    "sees": [],
    "throws": [],
    "todos": [],
    "yields": [],
    "access": "public",
    "memberof": "call",
    "kind": "event",
    "name": "call:forward",
    "members": {
      "global": [],
      "inner": [],
      "instance": [],
      "events": [],
      "static": []
    },
    "path": [
      {
        "name": "call:forward",
        "kind": "event"
      }
    ],
    "namespace": ".event:call:forward"
  },
  {
    "description": {
      "type": "root",
      "children": [
        {
          "type": "paragraph",
          "children": [
            {
              "type": "text",
              "value": "Calls have been successfully joined."
            }
          ]
        }
      ]
    },
    "tags": [
      {
        "title": "public",
        "description": null,
        "lineNumber": 2,
        "type": null
      },
      {
        "title": "requires",
        "description": null,
        "lineNumber": 3,
        "name": "call"
      },
      {
        "title": "memberof",
        "description": "call",
        "lineNumber": 4
      },
      {
        "title": "event",
        "description": "call:join",
        "lineNumber": 5
      },
      {
        "title": "param",
        "description": null,
        "lineNumber": 6,
        "type": {
          "type": "NameExpression",
          "name": "Object"
        },
        "name": "params"
      },
      {
        "title": "param",
        "description": "The ID of the new, joined call.",
        "lineNumber": 7,
        "type": {
          "type": "NameExpression",
          "name": "string"
        },
        "name": "params.callId"
      },
      {
        "title": "param",
        "description": "The two calls that were joined together.",
        "lineNumber": 8,
        "type": {
          "type": "NameExpression",
          "name": "Array"
        },
        "name": "params.joinedCalls"
      }
    ],
    "loc": {
      "start": {
        "line": 31,
        "column": 0
      },
      "end": {
        "line": 40,
        "column": 3
      }
    },
    "context": {
      "loc": {
        "start": {
          "line": 41,
          "column": 0
        },
        "end": {
          "line": 41,
          "column": 36
        }
      },
      "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/eventTypes.js"
    },
    "augments": [],
    "examples": [],
    "implements": [],
    "params": [
      {
        "title": "param",
        "name": "params",
        "lineNumber": 6,
        "type": {
          "type": "NameExpression",
          "name": "Object"
        },
        "properties": [
          {
            "title": "param",
            "name": "params.callId",
            "lineNumber": 7,
            "description": {
              "type": "root",
              "children": [
                {
                  "type": "paragraph",
                  "children": [
                    {
                      "type": "text",
                      "value": "The ID of the new, joined call."
                    }
                  ]
                }
              ]
            },
            "type": {
              "type": "NameExpression",
              "name": "string"
            }
          },
          {
            "title": "param",
            "name": "params.joinedCalls",
            "lineNumber": 8,
            "description": {
              "type": "root",
              "children": [
                {
                  "type": "paragraph",
                  "children": [
                    {
                      "type": "text",
                      "value": "The two calls that were joined together."
                    }
                  ]
                }
              ]
            },
            "type": {
              "type": "NameExpression",
              "name": "Array"
            }
          }
        ]
      }
    ],
    "properties": [],
    "returns": [],
    "sees": [],
    "throws": [],
    "todos": [],
    "yields": [],
    "access": "public",
    "memberof": "call",
    "kind": "event",
    "name": "call:join",
    "members": {
      "global": [],
      "inner": [],
      "instance": [],
      "events": [],
      "static": []
    },
    "path": [
      {
        "name": "call:join",
        "kind": "event"
      }
    ],
    "namespace": ".event:call:join"
  },
  {
    "description": {
      "type": "root",
      "children": [
        {
          "type": "paragraph",
          "children": [
            {
              "type": "text",
              "value": "A call's media state has changed."
            }
          ]
        }
      ]
    },
    "tags": [
      {
        "title": "public",
        "description": null,
        "lineNumber": 2,
        "type": null
      },
      {
        "title": "memberof",
        "description": "call",
        "lineNumber": 3
      },
      {
        "title": "requires",
        "description": null,
        "lineNumber": 4,
        "name": "call"
      },
      {
        "title": "requires",
        "description": null,
        "lineNumber": 5,
        "name": "callMe"
      },
      {
        "title": "event",
        "description": "call:mediaStateChange",
        "lineNumber": 6
      },
      {
        "title": "param",
        "description": null,
        "lineNumber": 7,
        "type": {
          "type": "NameExpression",
          "name": "Object"
        },
        "name": "params"
      },
      {
        "title": "param",
        "description": "The Id of the call.",
        "lineNumber": 8,
        "type": {
          "type": "NameExpression",
          "name": "string"
        },
        "name": "params.callId"
      },
      {
        "title": "param",
        "description": "New media state of the call.",
        "lineNumber": 9,
        "type": {
          "type": "NameExpression",
          "name": "string"
        },
        "name": "params.mediaState"
      }
    ],
    "loc": {
      "start": {
        "line": 80,
        "column": 0
      },
      "end": {
        "line": 90,
        "column": 3
      }
    },
    "context": {
      "loc": {
        "start": {
          "line": 91,
          "column": 0
        },
        "end": {
          "line": 91,
          "column": 62
        }
      },
      "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/eventTypes.js"
    },
    "augments": [],
    "examples": [],
    "implements": [],
    "params": [
      {
        "title": "param",
        "name": "params",
        "lineNumber": 7,
        "type": {
          "type": "NameExpression",
          "name": "Object"
        },
        "properties": [
          {
            "title": "param",
            "name": "params.callId",
            "lineNumber": 8,
            "description": {
              "type": "root",
              "children": [
                {
                  "type": "paragraph",
                  "children": [
                    {
                      "type": "text",
                      "value": "The Id of the call."
                    }
                  ]
                }
              ]
            },
            "type": {
              "type": "NameExpression",
              "name": "string"
            }
          },
          {
            "title": "param",
            "name": "params.mediaState",
            "lineNumber": 9,
            "description": {
              "type": "root",
              "children": [
                {
                  "type": "paragraph",
                  "children": [
                    {
                      "type": "text",
                      "value": "New media state of the call."
                    }
                  ]
                }
              ]
            },
            "type": {
              "type": "NameExpression",
              "name": "string"
            }
          }
        ]
      }
    ],
    "properties": [],
    "returns": [],
    "sees": [],
    "throws": [],
    "todos": [],
    "yields": [],
    "access": "public",
    "memberof": "call",
    "kind": "event",
    "name": "call:mediaStateChange",
    "members": {
      "global": [],
      "inner": [],
      "instance": [],
      "events": [],
      "static": []
    },
    "path": [
      {
        "name": "call:mediaStateChange",
        "kind": "event"
      }
    ],
    "namespace": ".event:call:mediaStateChange"
  },
  {
    "description": {
      "type": "root",
      "children": [
        {
          "type": "paragraph",
          "children": [
            {
              "type": "text",
              "value": "A new incoming call has been received."
            }
          ]
        }
      ]
    },
    "tags": [
      {
        "title": "public",
        "description": null,
        "lineNumber": 3,
        "type": null
      },
      {
        "title": "memberof",
        "description": "call",
        "lineNumber": 4
      },
      {
        "title": "requires",
        "description": null,
        "lineNumber": 5,
        "name": "call"
      },
      {
        "title": "event",
        "description": "call:receive",
        "lineNumber": 6
      },
      {
        "title": "param",
        "description": null,
        "lineNumber": 7,
        "type": {
          "type": "NameExpression",
          "name": "Object"
        },
        "name": "params"
      },
      {
        "title": "param",
        "description": "The Id of the call.",
        "lineNumber": 8,
        "type": {
          "type": "NameExpression",
          "name": "string"
        },
        "name": "params.callId"
      },
      {
        "title": "example",
        "description": "client.on('call:receive', function(callId) {\n    // We have received a call, prompt the user to respond.\n    promptUser(client.call.getById(callId));\n});",
        "lineNumber": 9
      }
    ],
    "loc": {
      "start": {
        "line": 14,
        "column": 0
      },
      "end": {
        "line": 28,
        "column": 3
      }
    },
    "context": {
      "loc": {
        "start": {
          "line": 29,
          "column": 0
        },
        "end": {
          "line": 29,
          "column": 43
        }
      },
      "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/eventTypes.js"
    },
    "augments": [],
    "examples": [
      {
        "description": "client.on('call:receive', function(callId) {\n    // We have received a call, prompt the user to respond.\n    promptUser(client.call.getById(callId));\n});"
      }
    ],
    "implements": [],
    "params": [
      {
        "title": "param",
        "name": "params",
        "lineNumber": 7,
        "type": {
          "type": "NameExpression",
          "name": "Object"
        },
        "properties": [
          {
            "title": "param",
            "name": "params.callId",
            "lineNumber": 8,
            "description": {
              "type": "root",
              "children": [
                {
                  "type": "paragraph",
                  "children": [
                    {
                      "type": "text",
                      "value": "The Id of the call."
                    }
                  ]
                }
              ]
            },
            "type": {
              "type": "NameExpression",
              "name": "string"
            }
          }
        ]
      }
    ],
    "properties": [],
    "returns": [],
    "sees": [],
    "throws": [],
    "todos": [],
    "yields": [],
    "access": "public",
    "memberof": "call",
    "kind": "event",
    "name": "call:receive",
    "members": {
      "global": [],
      "inner": [],
      "instance": [],
      "events": [],
      "static": []
    },
    "path": [
      {
        "name": "call:receive",
        "kind": "event"
      }
    ],
    "namespace": ".event:call:receive"
  },
  {
    "description": {
      "type": "root",
      "children": [
        {
          "type": "paragraph",
          "children": [
            {
              "type": "text",
              "value": "Screensharing has been started turned on or off."
            }
          ]
        }
      ]
    },
    "tags": [
      {
        "title": "public",
        "description": null,
        "lineNumber": 3,
        "type": null
      },
      {
        "title": "memberof",
        "description": "call",
        "lineNumber": 4
      },
      {
        "title": "requires",
        "description": null,
        "lineNumber": 5,
        "name": "call"
      },
      {
        "title": "requires",
        "description": null,
        "lineNumber": 6,
        "name": "callMe"
      },
      {
        "title": "event",
        "description": "call:screenshareChange",
        "lineNumber": 7
      },
      {
        "title": "param",
        "description": null,
        "lineNumber": 8,
        "type": {
          "type": "NameExpression",
          "name": "Object"
        },
        "name": "params"
      },
      {
        "title": "param",
        "description": "The Id of the call.",
        "lineNumber": 9,
        "type": {
          "type": "NameExpression",
          "name": "string"
        },
        "name": "params.callId"
      }
    ],
    "loc": {
      "start": {
        "line": 93,
        "column": 0
      },
      "end": {
        "line": 103,
        "column": 3
      }
    },
    "context": {
      "loc": {
        "start": {
          "line": 104,
          "column": 0
        },
        "end": {
          "line": 104,
          "column": 63
        }
      },
      "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/eventTypes.js"
    },
    "augments": [],
    "examples": [],
    "implements": [],
    "params": [
      {
        "title": "param",
        "name": "params",
        "lineNumber": 8,
        "type": {
          "type": "NameExpression",
          "name": "Object"
        },
        "properties": [
          {
            "title": "param",
            "name": "params.callId",
            "lineNumber": 9,
            "description": {
              "type": "root",
              "children": [
                {
                  "type": "paragraph",
                  "children": [
                    {
                      "type": "text",
                      "value": "The Id of the call."
                    }
                  ]
                }
              ]
            },
            "type": {
              "type": "NameExpression",
              "name": "string"
            }
          }
        ]
      }
    ],
    "properties": [],
    "returns": [],
    "sees": [],
    "throws": [],
    "todos": [],
    "yields": [],
    "access": "public",
    "memberof": "call",
    "kind": "event",
    "name": "call:screenshareChange",
    "members": {
      "global": [],
      "inner": [],
      "instance": [],
      "events": [],
      "static": []
    },
    "path": [
      {
        "name": "call:screenshareChange",
        "kind": "event"
      }
    ],
    "namespace": ".event:call:screenshareChange"
  },
  {
    "description": {
      "type": "root",
      "children": [
        {
          "type": "paragraph",
          "children": [
            {
              "type": "text",
              "value": "An outgoing call has successfully started."
            }
          ]
        }
      ]
    },
    "tags": [
      {
        "title": "public",
        "description": null,
        "lineNumber": 3,
        "type": null
      },
      {
        "title": "memberof",
        "description": "call",
        "lineNumber": 4
      },
      {
        "title": "requires",
        "description": null,
        "lineNumber": 5,
        "name": "call"
      },
      {
        "title": "requires",
        "description": null,
        "lineNumber": 6,
        "name": "callMe"
      },
      {
        "title": "event",
        "description": "call:start",
        "lineNumber": 7
      },
      {
        "title": "param",
        "description": null,
        "lineNumber": 8,
        "type": {
          "type": "NameExpression",
          "name": "Object"
        },
        "name": "params"
      },
      {
        "title": "param",
        "description": "The Id of the call.",
        "lineNumber": 9,
        "type": {
          "type": "NameExpression",
          "name": "string"
        },
        "name": "params.callId"
      }
    ],
    "loc": {
      "start": {
        "line": 1,
        "column": 0
      },
      "end": {
        "line": 11,
        "column": 3
      }
    },
    "context": {
      "loc": {
        "start": {
          "line": 12,
          "column": 0
        },
        "end": {
          "line": 12,
          "column": 40
        }
      },
      "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/eventTypes.js"
    },
    "augments": [],
    "examples": [],
    "implements": [],
    "params": [
      {
        "title": "param",
        "name": "params",
        "lineNumber": 8,
        "type": {
          "type": "NameExpression",
          "name": "Object"
        },
        "properties": [
          {
            "title": "param",
            "name": "params.callId",
            "lineNumber": 9,
            "description": {
              "type": "root",
              "children": [
                {
                  "type": "paragraph",
                  "children": [
                    {
                      "type": "text",
                      "value": "The Id of the call."
                    }
                  ]
                }
              ]
            },
            "type": {
              "type": "NameExpression",
              "name": "string"
            }
          }
        ]
      }
    ],
    "properties": [],
    "returns": [],
    "sees": [],
    "throws": [],
    "todos": [],
    "yields": [],
    "access": "public",
    "memberof": "call",
    "kind": "event",
    "name": "call:start",
    "members": {
      "global": [],
      "inner": [],
      "instance": [],
      "events": [],
      "static": []
    },
    "path": [
      {
        "name": "call:start",
        "kind": "event"
      }
    ],
    "namespace": ".event:call:start"
  },
  {
    "description": {
      "type": "root",
      "children": [
        {
          "type": "paragraph",
          "children": [
            {
              "type": "text",
              "value": "A call's state has changed."
            }
          ]
        }
      ]
    },
    "tags": [
      {
        "title": "public",
        "description": null,
        "lineNumber": 3,
        "type": null
      },
      {
        "title": "memberof",
        "description": "call",
        "lineNumber": 4
      },
      {
        "title": "requires",
        "description": null,
        "lineNumber": 5,
        "name": "call"
      },
      {
        "title": "requires",
        "description": null,
        "lineNumber": 6,
        "name": "callMe"
      },
      {
        "title": "event",
        "description": "call:stateChange",
        "lineNumber": 7
      },
      {
        "title": "param",
        "description": null,
        "lineNumber": 8,
        "type": {
          "type": "NameExpression",
          "name": "Object"
        },
        "name": "params"
      },
      {
        "title": "param",
        "description": "The Id of the call.",
        "lineNumber": 9,
        "type": {
          "type": "NameExpression",
          "name": "string"
        },
        "name": "params.callId"
      },
      {
        "title": "param",
        "description": "New state of the call.",
        "lineNumber": 10,
        "type": {
          "type": "NameExpression",
          "name": "string"
        },
        "name": "params.state"
      },
      {
        "title": "param",
        "description": "Information about the state change.",
        "lineNumber": 11,
        "type": {
          "type": "NameExpression",
          "name": "Object"
        },
        "name": "params.transition"
      },
      {
        "title": "param",
        "description": "Code representing the reason for the state change.",
        "lineNumber": 12,
        "type": {
          "type": "NameExpression",
          "name": "number"
        },
        "name": "params.transition.code"
      },
      {
        "title": "param",
        "description": "Explanation of the status code.",
        "lineNumber": 13,
        "type": {
          "type": "NameExpression",
          "name": "string"
        },
        "name": "params.transition.reasonText"
      },
      {
        "title": "param",
        "description": "The previous state of the call.",
        "lineNumber": 14,
        "type": {
          "type": "NameExpression",
          "name": "string"
        },
        "name": "params.transition.oldState"
      },
      {
        "title": "example",
        "description": "client.on('call:stateChange', function(params) {\n    // We are now in call with another user, so update our app to show it.\n    if(params.state === client.call.states.IN_CALL) {\n        renderCall(client.call.getById(params.callId));\n    }\n});",
        "lineNumber": 15
      }
    ],
    "loc": {
      "start": {
        "line": 55,
        "column": 0
      },
      "end": {
        "line": 77,
        "column": 3
      }
    },
    "context": {
      "loc": {
        "start": {
          "line": 78,
          "column": 0
        },
        "end": {
          "line": 78,
          "column": 51
        }
      },
      "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/eventTypes.js"
    },
    "augments": [],
    "examples": [
      {
        "description": "client.on('call:stateChange', function(params) {\n    // We are now in call with another user, so update our app to show it.\n    if(params.state === client.call.states.IN_CALL) {\n        renderCall(client.call.getById(params.callId));\n    }\n});"
      }
    ],
    "implements": [],
    "params": [
      {
        "title": "param",
        "name": "params",
        "lineNumber": 8,
        "type": {
          "type": "NameExpression",
          "name": "Object"
        },
        "properties": [
          {
            "title": "param",
            "name": "params.callId",
            "lineNumber": 9,
            "description": {
              "type": "root",
              "children": [
                {
                  "type": "paragraph",
                  "children": [
                    {
                      "type": "text",
                      "value": "The Id of the call."
                    }
                  ]
                }
              ]
            },
            "type": {
              "type": "NameExpression",
              "name": "string"
            }
          },
          {
            "title": "param",
            "name": "params.state",
            "lineNumber": 10,
            "description": {
              "type": "root",
              "children": [
                {
                  "type": "paragraph",
                  "children": [
                    {
                      "type": "text",
                      "value": "New state of the call."
                    }
                  ]
                }
              ]
            },
            "type": {
              "type": "NameExpression",
              "name": "string"
            }
          },
          {
            "title": "param",
            "name": "params.transition",
            "lineNumber": 11,
            "description": {
              "type": "root",
              "children": [
                {
                  "type": "paragraph",
                  "children": [
                    {
                      "type": "text",
                      "value": "Information about the state change."
                    }
                  ]
                }
              ]
            },
            "type": {
              "type": "NameExpression",
              "name": "Object"
            },
            "properties": [
              {
                "title": "param",
                "name": "params.transition.code",
                "lineNumber": 12,
                "description": {
                  "type": "root",
                  "children": [
                    {
                      "type": "paragraph",
                      "children": [
                        {
                          "type": "text",
                          "value": "Code representing the reason for the state change."
                        }
                      ]
                    }
                  ]
                },
                "type": {
                  "type": "NameExpression",
                  "name": "number"
                }
              },
              {
                "title": "param",
                "name": "params.transition.reasonText",
                "lineNumber": 13,
                "description": {
                  "type": "root",
                  "children": [
                    {
                      "type": "paragraph",
                      "children": [
                        {
                          "type": "text",
                          "value": "Explanation of the status code."
                        }
                      ]
                    }
                  ]
                },
                "type": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              {
                "title": "param",
                "name": "params.transition.oldState",
                "lineNumber": 14,
                "description": {
                  "type": "root",
                  "children": [
                    {
                      "type": "paragraph",
                      "children": [
                        {
                          "type": "text",
                          "value": "The previous state of the call."
                        }
                      ]
                    }
                  ]
                },
                "type": {
                  "type": "NameExpression",
                  "name": "string"
                }
              }
            ]
          }
        ]
      }
    ],
    "properties": [],
    "returns": [],
    "sees": [],
    "throws": [],
    "todos": [],
    "yields": [],
    "access": "public",
    "memberof": "call",
    "kind": "event",
    "name": "call:stateChange",
    "members": {
      "global": [],
      "inner": [],
      "instance": [],
      "events": [],
      "static": []
    },
    "path": [
      {
        "name": "call:stateChange",
        "kind": "event"
      }
    ],
    "namespace": ".event:call:stateChange"
  },
  {
    "description": {
      "type": "root",
      "children": [
        {
          "type": "paragraph",
          "children": [
            {
              "type": "text",
              "value": "Available media devices have been changed."
            }
          ]
        }
      ]
    },
    "tags": [
      {
        "title": "public",
        "description": null,
        "lineNumber": 2,
        "type": null
      },
      {
        "title": "memberof",
        "description": "media",
        "lineNumber": 3
      },
      {
        "title": "requires",
        "description": null,
        "lineNumber": 4,
        "name": "call"
      },
      {
        "title": "requires",
        "description": null,
        "lineNumber": 5,
        "name": "callMe"
      },
      {
        "title": "event",
        "description": "devices:change",
        "lineNumber": 6
      },
      {
        "title": "param",
        "description": null,
        "lineNumber": 7,
        "type": {
          "type": "NameExpression",
          "name": "Object"
        },
        "name": "params"
      },
      {
        "title": "param",
        "description": "The devices, separated by device type.",
        "lineNumber": 8,
        "type": {
          "type": "NameExpression",
          "name": "Object"
        },
        "name": "params.devices"
      }
    ],
    "loc": {
      "start": {
        "line": 156,
        "column": 0
      },
      "end": {
        "line": 165,
        "column": 3
      }
    },
    "context": {
      "loc": {
        "start": {
          "line": 166,
          "column": 0
        },
        "end": {
          "line": 166,
          "column": 45
        }
      },
      "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/eventTypes.js"
    },
    "augments": [],
    "examples": [],
    "implements": [],
    "params": [
      {
        "title": "param",
        "name": "params",
        "lineNumber": 7,
        "type": {
          "type": "NameExpression",
          "name": "Object"
        },
        "properties": [
          {
            "title": "param",
            "name": "params.devices",
            "lineNumber": 8,
            "description": {
              "type": "root",
              "children": [
                {
                  "type": "paragraph",
                  "children": [
                    {
                      "type": "text",
                      "value": "The devices, separated by device type."
                    }
                  ]
                }
              ]
            },
            "type": {
              "type": "NameExpression",
              "name": "Object"
            }
          }
        ]
      }
    ],
    "properties": [],
    "returns": [],
    "sees": [],
    "throws": [],
    "todos": [],
    "yields": [],
    "access": "public",
    "memberof": "media",
    "kind": "event",
    "name": "devices:change",
    "members": {
      "global": [],
      "inner": [],
      "instance": [],
      "events": [],
      "static": []
    },
    "path": [
      {
        "name": "devices:change",
        "kind": "event"
      }
    ],
    "namespace": ".event:devices:change"
  },
  {
    "description": {
      "type": "root",
      "children": [
        {
          "type": "paragraph",
          "children": [
            {
              "type": "text",
              "value": "A change has been made to default devices used for calls."
            }
          ]
        }
      ]
    },
    "tags": [
      {
        "title": "public",
        "description": null,
        "lineNumber": 2,
        "type": null
      },
      {
        "title": "memberof",
        "description": "media",
        "lineNumber": 3
      },
      {
        "title": "requires",
        "description": null,
        "lineNumber": 4,
        "name": "call"
      },
      {
        "title": "requires",
        "description": null,
        "lineNumber": 5,
        "name": "callMe"
      },
      {
        "title": "event",
        "description": "devices:defaultsChange",
        "lineNumber": 6
      },
      {
        "title": "param",
        "description": null,
        "lineNumber": 7,
        "type": {
          "type": "NameExpression",
          "name": "Object"
        },
        "name": "params"
      },
      {
        "title": "param",
        "description": "The devices now set as default.",
        "lineNumber": 8,
        "type": {
          "type": "NameExpression",
          "name": "Object"
        },
        "name": "params.devices"
      }
    ],
    "loc": {
      "start": {
        "line": 144,
        "column": 0
      },
      "end": {
        "line": 153,
        "column": 3
      }
    },
    "context": {
      "loc": {
        "start": {
          "line": 154,
          "column": 0
        },
        "end": {
          "line": 154,
          "column": 61
        }
      },
      "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/eventTypes.js"
    },
    "augments": [],
    "examples": [],
    "implements": [],
    "params": [
      {
        "title": "param",
        "name": "params",
        "lineNumber": 7,
        "type": {
          "type": "NameExpression",
          "name": "Object"
        },
        "properties": [
          {
            "title": "param",
            "name": "params.devices",
            "lineNumber": 8,
            "description": {
              "type": "root",
              "children": [
                {
                  "type": "paragraph",
                  "children": [
                    {
                      "type": "text",
                      "value": "The devices now set as default."
                    }
                  ]
                }
              ]
            },
            "type": {
              "type": "NameExpression",
              "name": "Object"
            }
          }
        ]
      }
    ],
    "properties": [],
    "returns": [],
    "sees": [],
    "throws": [],
    "todos": [],
    "yields": [],
    "access": "public",
    "memberof": "media",
    "kind": "event",
    "name": "devices:defaultsChange",
    "members": {
      "global": [],
      "inner": [],
      "instance": [],
      "events": [],
      "static": []
    },
    "path": [
      {
        "name": "devices:defaultsChange",
        "kind": "event"
      }
    ],
    "namespace": ".event:devices:defaultsChange"
  },
  {
    "description": {
      "type": "root",
      "children": [
        {
          "type": "paragraph",
          "children": [
            {
              "type": "text",
              "value": "Media support has been checked."
            }
          ]
        }
      ]
    },
    "tags": [
      {
        "title": "public",
        "description": null,
        "lineNumber": 2,
        "type": null
      },
      {
        "title": "memberof",
        "description": "media",
        "lineNumber": 3
      },
      {
        "title": "requires",
        "description": null,
        "lineNumber": 4,
        "name": "call"
      },
      {
        "title": "requires",
        "description": null,
        "lineNumber": 5,
        "name": "callMe"
      },
      {
        "title": "event",
        "description": "media:initialize",
        "lineNumber": 6
      },
      {
        "title": "param",
        "description": null,
        "lineNumber": 7,
        "type": {
          "type": "NameExpression",
          "name": "Object"
        },
        "name": "params"
      },
      {
        "title": "param",
        "description": "Results of initializing media.",
        "lineNumber": 8,
        "type": {
          "type": "NameExpression",
          "name": "Object"
        },
        "name": "params.result"
      },
      {
        "title": "param",
        "description": "Whether the initialization was successful or not.",
        "lineNumber": 9,
        "type": {
          "type": "NameExpression",
          "name": "boolean"
        },
        "name": "params.result.error"
      },
      {
        "title": "param",
        "description": "A unique code describing the result scenario.",
        "lineNumber": 10,
        "type": {
          "type": "NameExpression",
          "name": "number"
        },
        "name": "params.result.code"
      },
      {
        "title": "param",
        "description": "Human readable message of the result.",
        "lineNumber": 11,
        "type": {
          "type": "NameExpression",
          "name": "string"
        },
        "name": "params.result.message"
      }
    ],
    "loc": {
      "start": {
        "line": 191,
        "column": 0
      },
      "end": {
        "line": 203,
        "column": 3
      }
    },
    "context": {
      "loc": {
        "start": {
          "line": 204,
          "column": 0
        },
        "end": {
          "line": 204,
          "column": 51
        }
      },
      "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/eventTypes.js"
    },
    "augments": [],
    "examples": [],
    "implements": [],
    "params": [
      {
        "title": "param",
        "name": "params",
        "lineNumber": 7,
        "type": {
          "type": "NameExpression",
          "name": "Object"
        },
        "properties": [
          {
            "title": "param",
            "name": "params.result",
            "lineNumber": 8,
            "description": {
              "type": "root",
              "children": [
                {
                  "type": "paragraph",
                  "children": [
                    {
                      "type": "text",
                      "value": "Results of initializing media."
                    }
                  ]
                }
              ]
            },
            "type": {
              "type": "NameExpression",
              "name": "Object"
            },
            "properties": [
              {
                "title": "param",
                "name": "params.result.error",
                "lineNumber": 9,
                "description": {
                  "type": "root",
                  "children": [
                    {
                      "type": "paragraph",
                      "children": [
                        {
                          "type": "text",
                          "value": "Whether the initialization was successful or not."
                        }
                      ]
                    }
                  ]
                },
                "type": {
                  "type": "NameExpression",
                  "name": "boolean"
                }
              },
              {
                "title": "param",
                "name": "params.result.code",
                "lineNumber": 10,
                "description": {
                  "type": "root",
                  "children": [
                    {
                      "type": "paragraph",
                      "children": [
                        {
                          "type": "text",
                          "value": "A unique code describing the result scenario."
                        }
                      ]
                    }
                  ]
                },
                "type": {
                  "type": "NameExpression",
                  "name": "number"
                }
              },
              {
                "title": "param",
                "name": "params.result.message",
                "lineNumber": 11,
                "description": {
                  "type": "root",
                  "children": [
                    {
                      "type": "paragraph",
                      "children": [
                        {
                          "type": "text",
                          "value": "Human readable message of the result."
                        }
                      ]
                    }
                  ]
                },
                "type": {
                  "type": "NameExpression",
                  "name": "string"
                }
              }
            ]
          }
        ]
      }
    ],
    "properties": [],
    "returns": [],
    "sees": [],
    "throws": [],
    "todos": [],
    "yields": [],
    "access": "public",
    "memberof": "media",
    "kind": "event",
    "name": "media:initialize",
    "members": {
      "global": [],
      "inner": [],
      "instance": [],
      "events": [],
      "static": []
    },
    "path": [
      {
        "name": "media:initialize",
        "kind": "event"
      }
    ],
    "namespace": ".event:media:initialize"
  },
  {
    "description": {
      "type": "root",
      "children": [
        {
          "type": "paragraph",
          "children": [
            {
              "type": "text",
              "value": "The status of previewing local video has changed."
            }
          ]
        }
      ]
    },
    "tags": [
      {
        "title": "public",
        "description": null,
        "lineNumber": 2,
        "type": null
      },
      {
        "title": "memberof",
        "description": "media",
        "lineNumber": 3
      },
      {
        "title": "requires",
        "description": null,
        "lineNumber": 4,
        "name": "call"
      },
      {
        "title": "event",
        "description": "videoPreview:change",
        "lineNumber": 5
      },
      {
        "title": "param",
        "description": null,
        "lineNumber": 6,
        "type": {
          "type": "NameExpression",
          "name": "Object"
        },
        "name": "params"
      },
      {
        "title": "param",
        "description": "Whether the local video preview is being displayed or not.",
        "lineNumber": 7,
        "type": {
          "type": "NameExpression",
          "name": "boolean"
        },
        "name": "params.displaying"
      }
    ],
    "loc": {
      "start": {
        "line": 120,
        "column": 0
      },
      "end": {
        "line": 128,
        "column": 3
      }
    },
    "context": {
      "loc": {
        "start": {
          "line": 129,
          "column": 0
        },
        "end": {
          "line": 129,
          "column": 55
        }
      },
      "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/eventTypes.js"
    },
    "augments": [],
    "examples": [],
    "implements": [],
    "params": [
      {
        "title": "param",
        "name": "params",
        "lineNumber": 6,
        "type": {
          "type": "NameExpression",
          "name": "Object"
        },
        "properties": [
          {
            "title": "param",
            "name": "params.displaying",
            "lineNumber": 7,
            "description": {
              "type": "root",
              "children": [
                {
                  "type": "paragraph",
                  "children": [
                    {
                      "type": "text",
                      "value": "Whether the local video preview is being displayed or not."
                    }
                  ]
                }
              ]
            },
            "type": {
              "type": "NameExpression",
              "name": "boolean"
            }
          }
        ]
      }
    ],
    "properties": [],
    "returns": [],
    "sees": [],
    "throws": [],
    "todos": [],
    "yields": [],
    "access": "public",
    "memberof": "media",
    "kind": "event",
    "name": "videoPreview:change",
    "members": {
      "global": [],
      "inner": [],
      "instance": [],
      "events": [],
      "static": []
    },
    "path": [
      {
        "name": "videoPreview:change",
        "kind": "event"
      }
    ],
    "namespace": ".event:videoPreview:change"
  },
  {
    "description": {
      "type": "root",
      "children": [
        {
          "type": "paragraph",
          "children": [
            {
              "type": "text",
              "value": "An error has occurred when changing local video preview status."
            }
          ]
        }
      ]
    },
    "tags": [
      {
        "title": "public",
        "description": null,
        "lineNumber": 2,
        "type": null
      },
      {
        "title": "memberof",
        "description": "media",
        "lineNumber": 3
      },
      {
        "title": "requires",
        "description": null,
        "lineNumber": 4,
        "name": "call"
      },
      {
        "title": "event",
        "description": "videoPreview:error",
        "lineNumber": 5
      },
      {
        "title": "param",
        "description": null,
        "lineNumber": 6,
        "type": {
          "type": "NameExpression",
          "name": "Object"
        },
        "name": "params"
      },
      {
        "title": "param",
        "description": "Information about the error.",
        "lineNumber": 7,
        "type": {
          "type": "NameExpression",
          "name": "api.BasicError"
        },
        "name": "params.error"
      }
    ],
    "loc": {
      "start": {
        "line": 131,
        "column": 0
      },
      "end": {
        "line": 139,
        "column": 3
      }
    },
    "context": {
      "loc": {
        "start": {
          "line": 140,
          "column": 0
        },
        "end": {
          "line": 140,
          "column": 53
        }
      },
      "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/eventTypes.js"
    },
    "augments": [],
    "examples": [],
    "implements": [],
    "params": [
      {
        "title": "param",
        "name": "params",
        "lineNumber": 6,
        "type": {
          "type": "NameExpression",
          "name": "Object"
        },
        "properties": [
          {
            "title": "param",
            "name": "params.error",
            "lineNumber": 7,
            "description": {
              "type": "root",
              "children": [
                {
                  "type": "paragraph",
                  "children": [
                    {
                      "type": "text",
                      "value": "Information about the error."
                    }
                  ]
                }
              ]
            },
            "type": {
              "type": "NameExpression",
              "name": "api.BasicError"
            }
          }
        ]
      }
    ],
    "properties": [],
    "returns": [],
    "sees": [],
    "throws": [],
    "todos": [],
    "yields": [],
    "access": "public",
    "memberof": "media",
    "kind": "event",
    "name": "videoPreview:error",
    "members": {
      "global": [],
      "inner": [],
      "instance": [],
      "events": [],
      "static": []
    },
    "path": [
      {
        "name": "videoPreview:error",
        "kind": "event"
      }
    ],
    "namespace": ".event:videoPreview:error"
  },
  {
    "description": {
      "type": "root",
      "children": [
        {
          "type": "paragraph",
          "children": [
            {
              "type": "text",
              "value": "The 'api' is the type returned by the create function.\nIt contains various top-level functions that pertain to SDK global instance\nas well as several nested namespaces that pertain to various features (e.g. call, contacts, presence, etc)."
            }
          ]
        }
      ]
    },
    "tags": [
      {
        "title": "public",
        "description": null,
        "lineNumber": 5,
        "type": null
      },
      {
        "title": "module",
        "description": null,
        "lineNumber": 6,
        "type": null,
        "name": "api"
      }
    ],
    "loc": {
      "start": {
        "line": 22,
        "column": 0
      },
      "end": {
        "line": 29,
        "column": 3
      }
    },
    "context": {
      "loc": {
        "start": {
          "line": 121,
          "column": 0
        },
        "end": {
          "line": 121,
          "column": 58
        }
      },
      "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/builds/core/index.js"
    },
    "augments": [],
    "examples": [],
    "implements": [],
    "params": [],
    "properties": [],
    "returns": [],
    "sees": [],
    "throws": [],
    "todos": [],
    "yields": [],
    "access": "public",
    "kind": "module",
    "name": "api",
    "members": {
      "global": [],
      "inner": [],
      "instance": [],
      "events": [
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Authentication state has changed. You can get the new state by calling "
                  },
                  {
                    "type": "inlineCode",
                    "value": "getConnection()"
                  },
                  {
                    "type": "text",
                    "value": "."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "api",
              "lineNumber": 4
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 5,
              "name": "connect"
            },
            {
              "title": "event",
              "description": "auth:change",
              "lineNumber": 6
            },
            {
              "title": "param",
              "description": null,
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "params"
            },
            {
              "title": "param",
              "description": "The cause of the authentication change, provided in the event of an unsolicited disconnection. See the `disconnectReasons` API for possible values.",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "params.reason"
            }
          ],
          "loc": {
            "start": {
              "line": 1,
              "column": 0
            },
            "end": {
              "line": 10,
              "column": 3
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 11,
                "column": 0
              },
              "end": {
                "line": 11,
                "column": 40
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/auth/interface/eventTypes.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "params",
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "properties": [
                {
                  "title": "param",
                  "name": "params.reason",
                  "lineNumber": 8,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The cause of the authentication change, provided in the event of an unsolicited disconnection. See the "
                          },
                          {
                            "type": "inlineCode",
                            "value": "disconnectReasons"
                          },
                          {
                            "type": "text",
                            "value": " API for possible values."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "string"
                  }
                }
              ]
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "api",
          "kind": "event",
          "name": "auth:change",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "api",
              "kind": "module"
            },
            {
              "name": "auth:change",
              "kind": "event"
            }
          ],
          "namespace": "api.event:auth:change"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "There was an error with authentication."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "api",
              "lineNumber": 4
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 5,
              "name": "connect"
            },
            {
              "title": "event",
              "description": "auth:error",
              "lineNumber": 6
            },
            {
              "title": "param",
              "description": null,
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "params"
            },
            {
              "title": "param",
              "description": "The Basic error object.",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "api.BasicError"
              },
              "name": "params.error"
            }
          ],
          "loc": {
            "start": {
              "line": 13,
              "column": 0
            },
            "end": {
              "line": 23,
              "column": 3
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 24,
                "column": 0
              },
              "end": {
                "line": 24,
                "column": 38
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/auth/interface/eventTypes.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "params",
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "properties": [
                {
                  "title": "param",
                  "name": "params.error",
                  "lineNumber": 8,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The Basic error object."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "api.BasicError"
                  }
                }
              ]
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "api",
          "kind": "event",
          "name": "auth:error",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "api",
              "kind": "module"
            },
            {
              "name": "auth:error",
              "kind": "event"
            }
          ],
          "namespace": "api.event:auth:error"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "An attempt to extend the current user's subscription was made."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "In a failure scenario, the current user is still connected, and further\nresubscription attempts will be made, but may become disconnected if the\nsession expires."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 6,
              "type": null
            },
            {
              "title": "memberof",
              "description": "api",
              "lineNumber": 7
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 8,
              "name": "connect"
            },
            {
              "title": "event",
              "description": "auth:resub",
              "lineNumber": 9
            },
            {
              "title": "param",
              "description": null,
              "lineNumber": 10,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "params"
            },
            {
              "title": "param",
              "description": "The attempt number of this resubscription.",
              "lineNumber": 11,
              "type": {
                "type": "NameExpression",
                "name": "number"
              },
              "name": "params.attemptNum"
            },
            {
              "title": "param",
              "description": "Whether the resubscription failed or not.",
              "lineNumber": 12,
              "type": {
                "type": "NameExpression",
                "name": "boolean"
              },
              "name": "params.isFailure"
            },
            {
              "title": "param",
              "description": "The Basic error object.",
              "lineNumber": 13,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "api.BasicError"
                }
              },
              "name": "params.error"
            }
          ],
          "loc": {
            "start": {
              "line": 26,
              "column": 0
            },
            "end": {
              "line": 40,
              "column": 3
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 41,
                "column": 0
              },
              "end": {
                "line": 41,
                "column": 38
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/auth/interface/eventTypes.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "params",
              "lineNumber": 10,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "properties": [
                {
                  "title": "param",
                  "name": "params.attemptNum",
                  "lineNumber": 11,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The attempt number of this resubscription."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "number"
                  }
                },
                {
                  "title": "param",
                  "name": "params.isFailure",
                  "lineNumber": 12,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Whether the resubscription failed or not."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "boolean"
                  }
                },
                {
                  "title": "param",
                  "name": "params.error",
                  "lineNumber": 13,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The Basic error object."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "api.BasicError"
                    }
                  }
                }
              ]
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "api",
          "kind": "event",
          "name": "auth:resub",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "api",
              "kind": "module"
            },
            {
              "name": "auth:resub",
              "kind": "event"
            }
          ],
          "namespace": "api.event:auth:resub"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "The information (credentials) needed for connecting have been set."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "api",
              "lineNumber": 4
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 5,
              "name": "connect"
            },
            {
              "title": "event",
              "description": "auth:credentialsSet",
              "lineNumber": 6
            }
          ],
          "loc": {
            "start": {
              "line": 43,
              "column": 0
            },
            "end": {
              "line": 50,
              "column": 3
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 51,
                "column": 0
              },
              "end": {
                "line": 51,
                "column": 57
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/auth/interface/eventTypes.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "api",
          "kind": "event",
          "name": "auth:credentialsSet",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "api",
              "kind": "module"
            },
            {
              "name": "auth:credentialsSet",
              "kind": "event"
            }
          ],
          "namespace": "api.event:auth:credentialsSet"
        }
      ],
      "static": [
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Returns the current version of the API."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "api",
              "lineNumber": 4
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 5,
              "name": "getVersion"
            }
          ],
          "loc": {
            "start": {
              "line": 266,
              "column": 4
            },
            "end": {
              "line": 272,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 273,
                "column": 4
              },
              "end": {
                "line": 275,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/factory.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "api",
          "kind": "function",
          "name": "getVersion",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "api",
              "kind": "module"
            },
            {
              "name": "getVersion",
              "kind": "function"
            }
          ],
          "namespace": "apigetVersion"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Destroys the SDK, and removes its state, rendering the SDK unusable.\nUseful when a user logs out and their call data needs to be destroyed.\nThe SDK must be recreated to be usable again.\nThe destroy command is async, and will happen on the next tick\nso as not to interfere with any ongoing events."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 7,
              "type": null
            },
            {
              "title": "memberof",
              "description": "api",
              "lineNumber": 8
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 9,
              "name": "destroy"
            },
            {
              "title": "example",
              "description": "// Instantiate the SDK.\nimport { create } from 'kandy'\nconst config = {\n    authentication: { ... },\n    logs: { ... },\n    ...\n}\nlet client = create(config);\nclient.on( ... )\n// Use the SDK\n...\n// Destroy the SDK, then recreate on the next step\nclient.destroy()\nclient = create(config)\nclient.on( ... )",
              "lineNumber": 10
            }
          ],
          "loc": {
            "start": {
              "line": 278,
              "column": 4
            },
            "end": {
              "line": 304,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 305,
                "column": 4
              },
              "end": {
                "line": 331,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/factory.js"
          },
          "augments": [],
          "examples": [
            {
              "description": "// Instantiate the SDK.\nimport { create } from 'kandy'\nconst config = {\n    authentication: { ... },\n    logs: { ... },\n    ...\n}\nlet client = create(config);\nclient.on( ... )\n// Use the SDK\n...\n// Destroy the SDK, then recreate on the next step\nclient.destroy()\nclient = create(config)\nclient.on( ... )"
            }
          ],
          "implements": [],
          "params": [],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "api",
          "kind": "function",
          "name": "destroy",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "api",
              "kind": "module"
            },
            {
              "name": "destroy",
              "kind": "function"
            }
          ],
          "namespace": "apidestroy"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Gets the current configuration Object. This is the object that is initially set as part of SDK creation using 'create' function."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "static",
              "description": null,
              "lineNumber": 4
            },
            {
              "title": "memberof",
              "description": "api",
              "lineNumber": 5
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 6,
              "name": "config"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 7,
              "name": "getConfig"
            },
            {
              "title": "returns",
              "description": "A configuration Object.",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              }
            }
          ],
          "loc": {
            "start": {
              "line": 15,
              "column": 4
            },
            "end": {
              "line": 24,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 25,
                "column": 4
              },
              "end": {
                "line": 28,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/config/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [],
          "properties": [],
          "returns": [
            {
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "A configuration Object."
                      }
                    ]
                  }
                ]
              },
              "title": "returns",
              "type": {
                "type": "NameExpression",
                "name": "Object"
              }
            }
          ],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "scope": "static",
          "memberof": "api",
          "kind": "function",
          "name": "getConfig",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "api",
              "kind": "module"
            },
            {
              "name": "getConfig",
              "kind": "function",
              "scope": "static"
            }
          ],
          "namespace": "api.getConfig"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Update the configuration values for the SDK to use."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "This API will only modify the configurations provided, leaving other configurations\nas they were originally set, by performing a merge of the new values into the\nprevious values."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Please note that updating the "
                  },
                  {
                    "type": "link",
                    "url": "#configconfigcall",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "call.removeH264Codecs"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " configuration will not immediately change the SDP handlers used for a call. If you want to add or remove the\nh264 codec remover sdp handler you should follow this procedure:"
                  }
                ]
              },
              {
                "type": "list",
                "ordered": true,
                "start": 1,
                "spread": false,
                "children": [
                  {
                    "type": "listItem",
                    "spread": false,
                    "checked": null,
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Update the config for removeH264Codecs using the "
                          },
                          {
                            "type": "link",
                            "url": "#apiupdateconfig",
                            "title": null,
                            "jsdoc": true,
                            "children": [
                              {
                                "type": "text",
                                "value": "updateConfig"
                              }
                            ]
                          },
                          {
                            "type": "text",
                            "value": " API."
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "type": "listItem",
                    "spread": true,
                    "checked": null,
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Update the sdp handler list using the "
                          },
                          {
                            "type": "link",
                            "url": "call.setSdpHandlers",
                            "title": null,
                            "jsdoc": true,
                            "children": [
                              {
                                "type": "text",
                                "value": "setSdpHandlers"
                              }
                            ]
                          },
                          {
                            "type": "text",
                            "value": " API and provide any client defined SDP handler functions."
                          }
                        ]
                      },
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "NOTE: You can get the currently defined SDP handler functions with the "
                          },
                          {
                            "type": "link",
                            "url": "#apigetconfig",
                            "title": null,
                            "jsdoc": true,
                            "children": [
                              {
                                "type": "text",
                                "value": "getConfig"
                              }
                            ]
                          },
                          {
                            "type": "text",
                            "value": " API."
                          }
                        ]
                      }
                    ]
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Please note that the object provided to the "
                  },
                  {
                    "type": "inlineCode",
                    "value": "updateConfig"
                  },
                  {
                    "type": "text",
                    "value": " API may be different\nthan the object retrieved from the "
                  },
                  {
                    "type": "link",
                    "url": "#apigetconfig",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "getConfig"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " API. This may happen when a format\nchange has happened and the SDK modifies the provided format to alleviate\nbackwards-compatibility issues. We recommend ensuring the configurations you\nprovide are as described by the "
                  },
                  {
                    "type": "link",
                    "url": "#config",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "config"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " section."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 20,
              "type": null
            },
            {
              "title": "static",
              "description": null,
              "lineNumber": 21
            },
            {
              "title": "memberof",
              "description": "api",
              "lineNumber": 22
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 23,
              "name": "config"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 24,
              "name": "updateConfig"
            },
            {
              "title": "param",
              "description": "Key-value pairs that will be placed into the store. See {@link config} for details on what key-value pairs are available for use.",
              "lineNumber": 25,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "newConfigValues"
            },
            {
              "title": "example",
              "description": "// Instantiate the SDK with certain configs.\nconst client = create({\n  authentication: { ... },\n  logs: { ... },\n  ...\n})\n\n// Modify a subsection of the configs at a later time.\n// This will only update the specified configurations.\nclient.updateConfig({\n    logs: {\n      loglevel: 'DEBUG'\n    }\n})",
              "lineNumber": 26
            }
          ],
          "loc": {
            "start": {
              "line": 30,
              "column": 4
            },
            "end": {
              "line": 71,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 72,
                "column": 4
              },
              "end": {
                "line": 84,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/config/interface/api.js"
          },
          "augments": [],
          "examples": [
            {
              "description": "// Instantiate the SDK with certain configs.\nconst client = create({\n  authentication: { ... },\n  logs: { ... },\n  ...\n})\n\n// Modify a subsection of the configs at a later time.\n// This will only update the specified configurations.\nclient.updateConfig({\n    logs: {\n      loglevel: 'DEBUG'\n    }\n})"
            }
          ],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "newConfigValues",
              "lineNumber": 25,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Key-value pairs that will be placed into the store. See "
                      },
                      {
                        "type": "link",
                        "url": "#config",
                        "title": null,
                        "jsdoc": true,
                        "children": [
                          {
                            "type": "text",
                            "value": "config"
                          }
                        ]
                      },
                      {
                        "type": "text",
                        "value": " for details on what key-value pairs are available for use."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "Object"
              }
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "scope": "static",
          "memberof": "api",
          "kind": "function",
          "name": "updateConfig",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "api",
              "kind": "module"
            },
            {
              "name": "updateConfig",
              "kind": "function",
              "scope": "static"
            }
          ],
          "namespace": "api.updateConfig"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Add an event listener for the specified event type. The event is emitted by the SDK instance."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "api",
              "lineNumber": 4
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 5,
              "name": "on"
            },
            {
              "title": "param",
              "description": "The event type for which to add the listener.",
              "lineNumber": 6,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "type"
            },
            {
              "title": "param",
              "description": "The listener for the event type. The parameters of the listener depend on the event type.",
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "Function"
              },
              "name": "listener"
            },
            {
              "title": "throws",
              "description": "Invalid event type",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "Error"
              }
            },
            {
              "title": "example",
              "description": "// Listen for events of a specific type emitted by the SDK.\nclient.on('dummy:event', function (params) {\n   // Handle the event.\n})",
              "lineNumber": 9
            }
          ],
          "loc": {
            "start": {
              "line": 17,
              "column": 2
            },
            "end": {
              "line": 31,
              "column": 5
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 32,
                "column": 2
              },
              "end": {
                "line": 35,
                "column": 3
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/events/interface/api.js"
          },
          "augments": [],
          "examples": [
            {
              "description": "// Listen for events of a specific type emitted by the SDK.\nclient.on('dummy:event', function (params) {\n   // Handle the event.\n})"
            }
          ],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "type",
              "lineNumber": 6,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The event type for which to add the listener."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "param",
              "name": "listener",
              "lineNumber": 7,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The listener for the event type. The parameters of the listener depend on the event type."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "Function"
              }
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [
            {
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Invalid event type"
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "Error"
              }
            }
          ],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "api",
          "kind": "function",
          "name": "on",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "api",
              "kind": "module"
            },
            {
              "name": "on",
              "kind": "function"
            }
          ],
          "namespace": "apion"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Removes an event listener for the specified event type. The event is emitted by the SDK instance."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "api",
              "lineNumber": 4
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 5,
              "name": "off"
            },
            {
              "title": "param",
              "description": "The event type for which to remote the listener.",
              "lineNumber": 6,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "type"
            },
            {
              "title": "param",
              "description": "The listener to remove.",
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "Function"
              },
              "name": "listener"
            },
            {
              "title": "throws",
              "description": "Invalid event type",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "Error"
              }
            }
          ],
          "loc": {
            "start": {
              "line": 37,
              "column": 2
            },
            "end": {
              "line": 46,
              "column": 5
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 47,
                "column": 2
              },
              "end": {
                "line": 50,
                "column": 3
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/events/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "type",
              "lineNumber": 6,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The event type for which to remote the listener."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "param",
              "name": "listener",
              "lineNumber": 7,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The listener to remove."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "Function"
              }
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [
            {
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Invalid event type"
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "Error"
              }
            }
          ],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "api",
          "kind": "function",
          "name": "off",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "api",
              "kind": "module"
            },
            {
              "name": "off",
              "kind": "function"
            }
          ],
          "namespace": "apioff"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Adds a global event listener to SDK instance."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "api",
              "lineNumber": 4
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 5,
              "name": "subscribe"
            },
            {
              "title": "param",
              "description": "The event listener to add. The parameters are (type, ...args), where args depend on the event type.",
              "lineNumber": 6,
              "type": {
                "type": "NameExpression",
                "name": "Function"
              },
              "name": "listener"
            },
            {
              "title": "throws",
              "description": "Listener not a function",
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "Error"
              }
            }
          ],
          "loc": {
            "start": {
              "line": 52,
              "column": 2
            },
            "end": {
              "line": 60,
              "column": 5
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 61,
                "column": 2
              },
              "end": {
                "line": 64,
                "column": 3
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/events/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "listener",
              "lineNumber": 6,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The event listener to add. The parameters are (type, ...args), where args depend on the event type."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "Function"
              }
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [
            {
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Listener not a function"
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "Error"
              }
            }
          ],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "api",
          "kind": "function",
          "name": "subscribe",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "api",
              "kind": "module"
            },
            {
              "name": "subscribe",
              "kind": "function"
            }
          ],
          "namespace": "apisubscribe"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Removes a global event listener from SDK instance."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "api",
              "lineNumber": 4
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 5,
              "name": "unsubscribe"
            },
            {
              "title": "param",
              "description": "The event listener to remove.",
              "lineNumber": 6,
              "type": {
                "type": "NameExpression",
                "name": "Function"
              },
              "name": "listener"
            },
            {
              "title": "throws",
              "description": "Listener not a function",
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "Error"
              }
            }
          ],
          "loc": {
            "start": {
              "line": 66,
              "column": 2
            },
            "end": {
              "line": 74,
              "column": 5
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 75,
                "column": 2
              },
              "end": {
                "line": 78,
                "column": 3
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/events/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "listener",
              "lineNumber": 6,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The event listener to remove."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "Function"
              }
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [
            {
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Listener not a function"
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "Error"
              }
            }
          ],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "api",
          "kind": "function",
          "name": "unsubscribe",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "api",
              "kind": "module"
            },
            {
              "name": "unsubscribe",
              "kind": "function"
            }
          ],
          "namespace": "apiunsubscribe"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Connect with user credentials to any backend services that the SDK instance deals with."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "deprecated",
              "description": "Since version 4.19.0. Please see {@link apisetCredentials setCredentials} and {@link services.subscribe subscribe} for new method of connecting.",
              "lineNumber": 4
            },
            {
              "title": "memberof",
              "description": "api",
              "lineNumber": 5
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 6,
              "name": "userCredentialsAuth"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 7,
              "name": "connect"
            },
            {
              "title": "param",
              "description": "The credentials object.",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "credentials"
            },
            {
              "title": "param",
              "description": "The username including the application's domain.",
              "lineNumber": 9,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "credentials.username"
            },
            {
              "title": "param",
              "description": "The user's password.",
              "lineNumber": 10,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "credentials.password"
            },
            {
              "title": "param",
              "description": "The user's authorization name.",
              "lineNumber": 11,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "credentials.authname"
            },
            {
              "title": "param",
              "description": "The options object for non-credential options.",
              "lineNumber": 12,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "Object"
                }
              },
              "name": "options"
            },
            {
              "title": "param",
              "description": "Force the oldest connection to log out if too many simultaneous connections. Link only.",
              "lineNumber": 13,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "boolean"
                }
              },
              "name": "options.forceLogOut"
            },
            {
              "title": "param",
              "description": "Unique ID for the client. This is used by the platform to identify an instance of the application used by the specific device.",
              "lineNumber": 14,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "options.clientCorrelator"
            },
            {
              "title": "example",
              "description": "client.connect({\n  username: 'alfred@example.com',\n  password: '********'\n  authname: '********'\n}, {\n  forceLogOut: true\n});",
              "lineNumber": 15
            }
          ],
          "loc": {
            "start": {
              "line": 19,
              "column": 4
            },
            "end": {
              "line": 42,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 202,
                "column": 4
              },
              "end": {
                "line": 207,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/auth/interface/api.js"
          },
          "augments": [],
          "examples": [
            {
              "description": "client.connect({\n  username: 'alfred@example.com',\n  password: '********'\n  authname: '********'\n}, {\n  forceLogOut: true\n});"
            }
          ],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "credentials",
              "lineNumber": 8,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The credentials object."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "properties": [
                {
                  "title": "param",
                  "name": "credentials.username",
                  "lineNumber": 9,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The username including the application's domain."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "string"
                  }
                },
                {
                  "title": "param",
                  "name": "credentials.password",
                  "lineNumber": 10,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The user's password."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "string"
                  }
                },
                {
                  "title": "param",
                  "name": "credentials.authname",
                  "lineNumber": 11,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The user's authorization name."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  }
                }
              ]
            },
            {
              "title": "param",
              "name": "options",
              "lineNumber": 12,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The options object for non-credential options."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "Object"
                }
              },
              "properties": [
                {
                  "title": "param",
                  "name": "options.forceLogOut",
                  "lineNumber": 13,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Force the oldest connection to log out if too many simultaneous connections. Link only."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "boolean"
                    }
                  }
                },
                {
                  "title": "param",
                  "name": "options.clientCorrelator",
                  "lineNumber": 14,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Unique ID for the client. This is used by the platform to identify an instance of the application used by the specific device."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  }
                }
              ]
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "deprecated": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Since version 4.19.0. Please see "
                  },
                  {
                    "type": "link",
                    "url": "#apisetcredentials",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "setCredentials"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " and "
                  },
                  {
                    "type": "link",
                    "url": "services.subscribe",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "subscribe"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " for new method of connecting."
                  }
                ]
              }
            ]
          },
          "memberof": "api",
          "kind": "function",
          "name": "connect",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "api",
              "kind": "module"
            },
            {
              "name": "connect",
              "kind": "function"
            }
          ],
          "namespace": "apiconnect"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Connect by providing an access token to any backend services that the SDK instance deals with.\nYou can optionally provide a refresh token and the SDK will automatically get new access tokens."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 4,
              "type": null
            },
            {
              "title": "deprecated",
              "description": "Since version 4.19.0. Please see {@link apisetCredentials setCredentials} and {@link services.subscribe subscribe} for new method of connecting.",
              "lineNumber": 5
            },
            {
              "title": "memberof",
              "description": "api",
              "lineNumber": 6
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 7,
              "name": "accessTokenAuth"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 8,
              "name": "connect"
            },
            {
              "title": "param",
              "description": "The credentials object.",
              "lineNumber": 9,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "credentials"
            },
            {
              "title": "param",
              "description": "The username without the application's domain.",
              "lineNumber": 10,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "credentials.username"
            },
            {
              "title": "param",
              "description": "An access token for the user with the provided user Id.",
              "lineNumber": 11,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "credentials.accessToken"
            },
            {
              "title": "param",
              "description": "A refresh token for the same user.",
              "lineNumber": 12,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "credentials.refreshToken"
            },
            {
              "title": "param",
              "description": "The time in seconds until the access token will expire.",
              "lineNumber": 13,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "number"
                }
              },
              "name": "credentials.expires"
            },
            {
              "title": "param",
              "description": "The options object for non-credential options.",
              "lineNumber": 14,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "Object"
                }
              },
              "name": "options"
            },
            {
              "title": "param",
              "description": "Unique ID for the client. This is used by the platform to identify an instance of the application used by the specific device.",
              "lineNumber": 15,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "options.clientCorrelator"
            },
            {
              "title": "example",
              "description": "client.connect({\n  username: 'alfred@example.com',\n  accessToken: 'AT0V1fswAiJadokx1iJMQdG04pRf',\n  refreshToken: 'RTG9SV3QAoJaeUSEQCZAHqrhde1yT',\n  expires: 3600\n});",
              "lineNumber": 16
            }
          ],
          "loc": {
            "start": {
              "line": 64,
              "column": 4
            },
            "end": {
              "line": 87,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 202,
                "column": 4
              },
              "end": {
                "line": 207,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/auth/interface/api.js"
          },
          "augments": [],
          "examples": [
            {
              "description": "client.connect({\n  username: 'alfred@example.com',\n  accessToken: 'AT0V1fswAiJadokx1iJMQdG04pRf',\n  refreshToken: 'RTG9SV3QAoJaeUSEQCZAHqrhde1yT',\n  expires: 3600\n});"
            }
          ],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "credentials",
              "lineNumber": 9,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The credentials object."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "properties": [
                {
                  "title": "param",
                  "name": "credentials.username",
                  "lineNumber": 10,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The username without the application's domain."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "string"
                  }
                },
                {
                  "title": "param",
                  "name": "credentials.accessToken",
                  "lineNumber": 11,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "An access token for the user with the provided user Id."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "string"
                  }
                },
                {
                  "title": "param",
                  "name": "credentials.refreshToken",
                  "lineNumber": 12,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "A refresh token for the same user."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  }
                },
                {
                  "title": "param",
                  "name": "credentials.expires",
                  "lineNumber": 13,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The time in seconds until the access token will expire."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "number"
                    }
                  }
                }
              ]
            },
            {
              "title": "param",
              "name": "options",
              "lineNumber": 14,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The options object for non-credential options."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "Object"
                }
              },
              "properties": [
                {
                  "title": "param",
                  "name": "options.clientCorrelator",
                  "lineNumber": 15,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Unique ID for the client. This is used by the platform to identify an instance of the application used by the specific device."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  }
                }
              ]
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "deprecated": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Since version 4.19.0. Please see "
                  },
                  {
                    "type": "link",
                    "url": "#apisetcredentials",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "setCredentials"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " and "
                  },
                  {
                    "type": "link",
                    "url": "services.subscribe",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "subscribe"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " for new method of connecting."
                  }
                ]
              }
            ]
          },
          "memberof": "api",
          "kind": "function",
          "name": "connect",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "api",
              "kind": "module"
            },
            {
              "name": "connect",
              "kind": "function"
            }
          ],
          "namespace": "apiconnect"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Connect by providing a refresh token to any backend services that the SDK instance deals with."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "deprecated",
              "description": "Since version 4.19.0. Please see {@link apisetCredentials setCredentials} and {@link services.subscribe subscribe} for new method of connecting.",
              "lineNumber": 4
            },
            {
              "title": "memberof",
              "description": "api",
              "lineNumber": 5
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 6,
              "name": "accessTokenAuth"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 7,
              "name": "connect"
            },
            {
              "title": "param",
              "description": "The credentials object.",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "credentials"
            },
            {
              "title": "param",
              "description": "The username without the application's domain.",
              "lineNumber": 9,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "credentials.username"
            },
            {
              "title": "param",
              "description": "A refresh token for the same user.",
              "lineNumber": 10,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "credentials.refreshToken"
            },
            {
              "title": "param",
              "description": "The time in seconds until the access token will expire.",
              "lineNumber": 11,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "number"
                }
              },
              "name": "credentials.expires"
            },
            {
              "title": "param",
              "description": "The options object for non-credential options.",
              "lineNumber": 12,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "Object"
                }
              },
              "name": "options"
            },
            {
              "title": "param",
              "description": "Unique ID for the client. This is used by the platform to identify an instance of the application used by the specific device.",
              "lineNumber": 13,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "options.clientCorrelator"
            },
            {
              "title": "example",
              "description": "client.connect({\n  username: 'alfred@example.com',\n  refreshToken: 'RTG9SV3QAoJaeUSEQCZAHqrhde1yT'\n  expires: 3600\n});",
              "lineNumber": 14
            }
          ],
          "loc": {
            "start": {
              "line": 143,
              "column": 4
            },
            "end": {
              "line": 163,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 202,
                "column": 4
              },
              "end": {
                "line": 207,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/auth/interface/api.js"
          },
          "augments": [],
          "examples": [
            {
              "description": "client.connect({\n  username: 'alfred@example.com',\n  refreshToken: 'RTG9SV3QAoJaeUSEQCZAHqrhde1yT'\n  expires: 3600\n});"
            }
          ],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "credentials",
              "lineNumber": 8,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The credentials object."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "properties": [
                {
                  "title": "param",
                  "name": "credentials.username",
                  "lineNumber": 9,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The username without the application's domain."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "string"
                  }
                },
                {
                  "title": "param",
                  "name": "credentials.refreshToken",
                  "lineNumber": 10,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "A refresh token for the same user."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "string"
                  }
                },
                {
                  "title": "param",
                  "name": "credentials.expires",
                  "lineNumber": 11,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The time in seconds until the access token will expire."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "number"
                    }
                  }
                }
              ]
            },
            {
              "title": "param",
              "name": "options",
              "lineNumber": 12,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The options object for non-credential options."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "Object"
                }
              },
              "properties": [
                {
                  "title": "param",
                  "name": "options.clientCorrelator",
                  "lineNumber": 13,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Unique ID for the client. This is used by the platform to identify an instance of the application used by the specific device."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  }
                }
              ]
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "deprecated": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Since version 4.19.0. Please see "
                  },
                  {
                    "type": "link",
                    "url": "#apisetcredentials",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "setCredentials"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " and "
                  },
                  {
                    "type": "link",
                    "url": "services.subscribe",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "subscribe"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " for new method of connecting."
                  }
                ]
              }
            ]
          },
          "memberof": "api",
          "kind": "function",
          "name": "connect",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "api",
              "kind": "module"
            },
            {
              "name": "connect",
              "kind": "function"
            }
          ],
          "namespace": "apiconnect"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Connect by providing an oAuth token to any backend services that the SDK instance deals with."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "deprecated",
              "description": "Since version 4.19.0. Please see {@link apisetCredentials setCredentials} and {@link services.subscribe subscribe} for new method of connecting.",
              "lineNumber": 4
            },
            {
              "title": "memberof",
              "description": "api",
              "lineNumber": 5
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 6,
              "name": "oauthToken"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 7,
              "name": "connect"
            },
            {
              "title": "param",
              "description": "The credentials object.",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "credentials"
            },
            {
              "title": "param",
              "description": "The username without the application's domain.",
              "lineNumber": 9,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "credentials.username"
            },
            {
              "title": "param",
              "description": "An OAuth token provided by an outside service.",
              "lineNumber": 10,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "credentials.oauthToken"
            },
            {
              "title": "param",
              "description": "The options object for non-credential options.",
              "lineNumber": 11,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "Object"
                }
              },
              "name": "options"
            },
            {
              "title": "param",
              "description": "Unique ID for the client. This is used by the platform to identify an instance of the application used by the specific device.",
              "lineNumber": 12,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "options.clientCorrelator"
            },
            {
              "title": "example",
              "description": "client.connect({\n  username: 'alfred@example.com',\n  oauthToken: 'RTG9SV3QAoJaeUSEQCZAHqrhde1yT'\n});",
              "lineNumber": 13
            }
          ],
          "loc": {
            "start": {
              "line": 164,
              "column": 4
            },
            "end": {
              "line": 182,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 202,
                "column": 4
              },
              "end": {
                "line": 207,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/auth/interface/api.js"
          },
          "augments": [],
          "examples": [
            {
              "description": "client.connect({\n  username: 'alfred@example.com',\n  oauthToken: 'RTG9SV3QAoJaeUSEQCZAHqrhde1yT'\n});"
            }
          ],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "credentials",
              "lineNumber": 8,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The credentials object."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "properties": [
                {
                  "title": "param",
                  "name": "credentials.username",
                  "lineNumber": 9,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The username without the application's domain."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "string"
                  }
                },
                {
                  "title": "param",
                  "name": "credentials.oauthToken",
                  "lineNumber": 10,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "An OAuth token provided by an outside service."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "string"
                  }
                }
              ]
            },
            {
              "title": "param",
              "name": "options",
              "lineNumber": 11,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The options object for non-credential options."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "Object"
                }
              },
              "properties": [
                {
                  "title": "param",
                  "name": "options.clientCorrelator",
                  "lineNumber": 12,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Unique ID for the client. This is used by the platform to identify an instance of the application used by the specific device."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  }
                }
              ]
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "deprecated": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Since version 4.19.0. Please see "
                  },
                  {
                    "type": "link",
                    "url": "#apisetcredentials",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "setCredentials"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " and "
                  },
                  {
                    "type": "link",
                    "url": "services.subscribe",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "subscribe"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " for new method of connecting."
                  }
                ]
              }
            ]
          },
          "memberof": "api",
          "kind": "function",
          "name": "connect",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "api",
              "kind": "module"
            },
            {
              "name": "connect",
              "kind": "function"
            }
          ],
          "namespace": "apiconnect"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Disconnects from the backend. This will close the websocket and you will stop receiving events."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "deprecated",
              "description": "Since version 4.19.0. Please see {@link services.unsubscribe unsubscribe} for new method of disconnecting.",
              "lineNumber": 4
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 5,
              "name": "userCredentialsAuth"
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 6,
              "name": "userCredentialsDAKAuth"
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 7,
              "name": "accessTokenAuth"
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 8,
              "name": "accessTokenAuthCIM"
            },
            {
              "title": "memberof",
              "description": "api",
              "lineNumber": 9
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 10,
              "name": "disconnect"
            }
          ],
          "loc": {
            "start": {
              "line": 209,
              "column": 4
            },
            "end": {
              "line": 220,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 221,
                "column": 4
              },
              "end": {
                "line": 224,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/auth/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "deprecated": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Since version 4.19.0. Please see "
                  },
                  {
                    "type": "link",
                    "url": "services.unsubscribe",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "unsubscribe"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " for new method of disconnecting."
                  }
                ]
              }
            ]
          },
          "memberof": "api",
          "kind": "function",
          "name": "disconnect",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "api",
              "kind": "module"
            },
            {
              "name": "disconnect",
              "kind": "function"
            }
          ],
          "namespace": "apidisconnect"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "If you're authenticating with tokens that expire and have not provided a refresh token to the "
                  },
                  {
                    "type": "inlineCode",
                    "value": "connect"
                  },
                  {
                    "type": "text",
                    "value": " function, you can update your access token with "
                  },
                  {
                    "type": "inlineCode",
                    "value": "updateToken"
                  },
                  {
                    "type": "text",
                    "value": " before it expires to stay connected."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "api",
              "lineNumber": 4
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 5,
              "name": "accessTokenAuth"
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 6,
              "name": "accessTokenAuthCIM"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 7,
              "name": "updateToken"
            },
            {
              "title": "param",
              "description": "The credentials object.",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "credentials"
            },
            {
              "title": "param",
              "description": "The username without the application's domain.",
              "lineNumber": 9,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "credentials.username"
            },
            {
              "title": "param",
              "description": "An access token for the user with the provided user Id.",
              "lineNumber": 10,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "credentials.accessToken"
            }
          ],
          "loc": {
            "start": {
              "line": 226,
              "column": 4
            },
            "end": {
              "line": 237,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 270,
                "column": 4
              },
              "end": {
                "line": 275,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/auth/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "credentials",
              "lineNumber": 8,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The credentials object."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "properties": [
                {
                  "title": "param",
                  "name": "credentials.username",
                  "lineNumber": 9,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The username without the application's domain."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "string"
                  }
                },
                {
                  "title": "param",
                  "name": "credentials.accessToken",
                  "lineNumber": 10,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "An access token for the user with the provided user Id."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "string"
                  }
                }
              ]
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "api",
          "kind": "function",
          "name": "updateToken",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "api",
              "kind": "module"
            },
            {
              "name": "updateToken",
              "kind": "function"
            }
          ],
          "namespace": "apiupdateToken"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "If you're authenticating with tokens that expire and have not provided a refresh token to the "
                  },
                  {
                    "type": "inlineCode",
                    "value": "connect"
                  },
                  {
                    "type": "text",
                    "value": " function, you can update your access token with "
                  },
                  {
                    "type": "inlineCode",
                    "value": "updateToken"
                  },
                  {
                    "type": "text",
                    "value": " before it expires to stay connected."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "api",
              "lineNumber": 4
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 5,
              "name": "oauthToken"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 6,
              "name": "updateToken"
            },
            {
              "title": "param",
              "description": "The credentials object.",
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "credentials"
            },
            {
              "title": "param",
              "description": "The username without the application's domain.",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "credentials.username"
            },
            {
              "title": "param",
              "description": "An OAuth token provided by an outside service.",
              "lineNumber": 9,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "credentials.oauthToken"
            },
            {
              "title": "example",
              "description": "client.updateToken({\n  username: 'alfred@example.com',\n  oauthToken: 'RTG9SV3QAoJaeUSEQCZAHqrhde1yT'\n});",
              "lineNumber": 10
            }
          ],
          "loc": {
            "start": {
              "line": 238,
              "column": 4
            },
            "end": {
              "line": 253,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 270,
                "column": 4
              },
              "end": {
                "line": 275,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/auth/interface/api.js"
          },
          "augments": [],
          "examples": [
            {
              "description": "client.updateToken({\n  username: 'alfred@example.com',\n  oauthToken: 'RTG9SV3QAoJaeUSEQCZAHqrhde1yT'\n});"
            }
          ],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "credentials",
              "lineNumber": 7,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The credentials object."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "properties": [
                {
                  "title": "param",
                  "name": "credentials.username",
                  "lineNumber": 8,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The username without the application's domain."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "string"
                  }
                },
                {
                  "title": "param",
                  "name": "credentials.oauthToken",
                  "lineNumber": 9,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "An OAuth token provided by an outside service."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "string"
                  }
                }
              ]
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "api",
          "kind": "function",
          "name": "updateToken",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "api",
              "kind": "module"
            },
            {
              "name": "updateToken",
              "kind": "function"
            }
          ],
          "namespace": "apiupdateToken"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Retrieves information about the current user."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "api",
              "lineNumber": 4
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 5,
              "name": "getUserInfo"
            },
            {
              "title": "returns",
              "description": "user The user data.",
              "lineNumber": 6,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              }
            },
            {
              "title": "returns",
              "description": "user.username The username of the current user. Note that this username can take different encoded forms.\n                                It's not meant to be displayed to a user.",
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "returns",
              "description": "user.token The current access token.",
              "lineNumber": 9,
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "loc": {
            "start": {
              "line": 296,
              "column": 4
            },
            "end": {
              "line": 306,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 307,
                "column": 4
              },
              "end": {
                "line": 310,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/auth/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [],
          "properties": [],
          "returns": [
            {
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "user The user data."
                      }
                    ]
                  }
                ]
              },
              "title": "returns",
              "type": {
                "type": "NameExpression",
                "name": "Object"
              }
            },
            {
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "user.username The username of the current user. Note that this username can take different encoded forms.\nIt's not meant to be displayed to a user."
                      }
                    ]
                  }
                ]
              },
              "title": "returns",
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "user.token The current access token."
                      }
                    ]
                  }
                ]
              },
              "title": "returns",
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "api",
          "kind": "function",
          "name": "getUserInfo",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "api",
              "kind": "module"
            },
            {
              "name": "getUserInfo",
              "kind": "function"
            }
          ],
          "namespace": "apigetUserInfo"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Get the connection state."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "api",
              "lineNumber": 4
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 5,
              "name": "connect"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 6,
              "name": "getConnection"
            },
            {
              "title": "returns",
              "description": "connection The connection state.",
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              }
            },
            {
              "title": "returns",
              "description": "connection.isConnected Whether the authenticated user is currently connected.",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "boolean"
              }
            },
            {
              "title": "returns",
              "description": "connection.isPending Whether the authenticated user's connection is currently pending.",
              "lineNumber": 9,
              "type": {
                "type": "NameExpression",
                "name": "boolean"
              }
            },
            {
              "title": "returns",
              "description": "connection.error The error object if an error occurred.",
              "lineNumber": 10,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              }
            },
            {
              "title": "returns",
              "description": "connection.error.message The error message.",
              "lineNumber": 11,
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "returns",
              "description": "connection.error.stack The stack trace of the error.",
              "lineNumber": 12,
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "loc": {
            "start": {
              "line": 312,
              "column": 4
            },
            "end": {
              "line": 325,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 326,
                "column": 4
              },
              "end": {
                "line": 335,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/auth/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [],
          "properties": [],
          "returns": [
            {
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "connection The connection state."
                      }
                    ]
                  }
                ]
              },
              "title": "returns",
              "type": {
                "type": "NameExpression",
                "name": "Object"
              }
            },
            {
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "connection.isConnected Whether the authenticated user is currently connected."
                      }
                    ]
                  }
                ]
              },
              "title": "returns",
              "type": {
                "type": "NameExpression",
                "name": "boolean"
              }
            },
            {
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "connection.isPending Whether the authenticated user's connection is currently pending."
                      }
                    ]
                  }
                ]
              },
              "title": "returns",
              "type": {
                "type": "NameExpression",
                "name": "boolean"
              }
            },
            {
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "connection.error The error object if an error occurred."
                      }
                    ]
                  }
                ]
              },
              "title": "returns",
              "type": {
                "type": "NameExpression",
                "name": "Object"
              }
            },
            {
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "connection.error.message The error message."
                      }
                    ]
                  }
                ]
              },
              "title": "returns",
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "connection.error.stack The stack trace of the error."
                      }
                    ]
                  }
                ]
              },
              "title": "returns",
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "api",
          "kind": "function",
          "name": "getConnection",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "api",
              "kind": "module"
            },
            {
              "name": "getConnection",
              "kind": "function"
            }
          ],
          "namespace": "apigetConnection"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Retrieves the services that the user is subscribed for."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "api",
              "lineNumber": 4
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 5,
              "name": "services"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 6,
              "name": "getServices"
            },
            {
              "title": "return",
              "description": "A list of subscribed-to services.",
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "Array"
              }
            }
          ],
          "loc": {
            "start": {
              "line": 337,
              "column": 4
            },
            "end": {
              "line": 345,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 346,
                "column": 4
              },
              "end": {
                "line": 349,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/auth/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [],
          "properties": [],
          "returns": [
            {
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "A list of subscribed-to services."
                      }
                    ]
                  }
                ]
              },
              "title": "returns",
              "type": {
                "type": "NameExpression",
                "name": "Array"
              }
            }
          ],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "api",
          "kind": "function",
          "name": "getServices",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "api",
              "kind": "module"
            },
            {
              "name": "getServices",
              "kind": "function"
            }
          ],
          "namespace": "apigetServices"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Possible subscription states of the user."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "api",
              "lineNumber": 4
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 5,
              "name": "connect"
            },
            {
              "title": "property",
              "description": "All requested feature subscriptions exist.",
              "lineNumber": 6,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "FULL"
            },
            {
              "title": "property",
              "description": "Some feature subscriptions exist.",
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "PARTIAL"
            },
            {
              "title": "property",
              "description": "No feature subscriptions exist.",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "NONE"
            }
          ],
          "loc": {
            "start": {
              "line": 351,
              "column": 4
            },
            "end": {
              "line": 360,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 361,
                "column": 4
              },
              "end": {
                "line": 361,
                "column": 42
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/auth/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [],
          "properties": [
            {
              "title": "property",
              "name": "FULL",
              "lineNumber": 6,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "All requested feature subscriptions exist."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "property",
              "name": "PARTIAL",
              "lineNumber": 7,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Some feature subscriptions exist."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "property",
              "name": "NONE",
              "lineNumber": 8,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "No feature subscriptions exist."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "api",
          "name": "subscriptionStates",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "api",
              "kind": "module"
            },
            {
              "name": "subscriptionStates"
            }
          ],
          "namespace": "apisubscriptionStates"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Possible reasons for disconnecting."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "api",
              "lineNumber": 4
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 5,
              "name": "connect"
            },
            {
              "title": "property",
              "description": "Connection was terminated by the server",
              "lineNumber": 6,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "GONE"
            },
            {
              "title": "property",
              "description": "Internet connection was lost",
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "LOST_CONNECTION"
            },
            {
              "title": "property",
              "description": "WebSocket was overridden by the server",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "WS_OVERRIDDEN"
            }
          ],
          "loc": {
            "start": {
              "line": 363,
              "column": 4
            },
            "end": {
              "line": 372,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 373,
                "column": 4
              },
              "end": {
                "line": 373,
                "column": 41
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/auth/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [],
          "properties": [
            {
              "title": "property",
              "name": "GONE",
              "lineNumber": 6,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Connection was terminated by the server"
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "property",
              "name": "LOST_CONNECTION",
              "lineNumber": 7,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Internet connection was lost"
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "property",
              "name": "WS_OVERRIDDEN",
              "lineNumber": 8,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "WebSocket was overridden by the server"
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "api",
          "name": "disconnectReasons",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "api",
              "kind": "module"
            },
            {
              "name": "disconnectReasons"
            }
          ],
          "namespace": "apidisconnectReasons"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Sets the user credentials necessary to make requests to the platform."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "api",
              "lineNumber": 4
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 5,
              "name": "userCredentialsAuth"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 6,
              "name": "setCredentials"
            },
            {
              "title": "param",
              "description": "The credentials object.",
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "credentials"
            },
            {
              "title": "param",
              "description": "The username including the application's domain.",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "credentials.username"
            },
            {
              "title": "param",
              "description": "The user's password.",
              "lineNumber": 9,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "credentials.password"
            },
            {
              "title": "param",
              "description": "The user's authorization name.",
              "lineNumber": 10,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "credentials.authname"
            },
            {
              "title": "example",
              "description": "client.setCredentials({\n  username: 'alfred@example.com',\n  password: '********'\n  authname: '********'\n});",
              "lineNumber": 11
            }
          ],
          "loc": {
            "start": {
              "line": 405,
              "column": 4
            },
            "end": {
              "line": 422,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 503,
                "column": 4
              },
              "end": {
                "line": 518,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/auth/interface/api.js"
          },
          "augments": [],
          "examples": [
            {
              "description": "client.setCredentials({\n  username: 'alfred@example.com',\n  password: '********'\n  authname: '********'\n});"
            }
          ],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "credentials",
              "lineNumber": 7,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The credentials object."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "properties": [
                {
                  "title": "param",
                  "name": "credentials.username",
                  "lineNumber": 8,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The username including the application's domain."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "string"
                  }
                },
                {
                  "title": "param",
                  "name": "credentials.password",
                  "lineNumber": 9,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The user's password."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "string"
                  }
                },
                {
                  "title": "param",
                  "name": "credentials.authname",
                  "lineNumber": 10,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The user's authorization name."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  }
                }
              ]
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "api",
          "kind": "function",
          "name": "setCredentials",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "api",
              "kind": "module"
            },
            {
              "name": "setCredentials",
              "kind": "function"
            }
          ],
          "namespace": "apisetCredentials"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "The Basic Error object. Provides information about an error that occurred in the SDK."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 2,
              "type": null
            },
            {
              "title": "static",
              "description": null,
              "lineNumber": 3
            },
            {
              "title": "typedef",
              "description": null,
              "lineNumber": 4,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "BasicError"
            },
            {
              "title": "memberof",
              "description": "api",
              "lineNumber": 5
            },
            {
              "title": "property",
              "description": "The code of the error. If no code is known, this will be 'NO_CODE'.",
              "lineNumber": 6,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "code"
            },
            {
              "title": "property",
              "description": "A human-readable message to describe the error. If no message is known, this will be 'An error occurred'.",
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "message"
            }
          ],
          "loc": {
            "start": {
              "line": 1,
              "column": 0
            },
            "end": {
              "line": 9,
              "column": 3
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 11,
                "column": 0
              },
              "end": {
                "line": 25,
                "column": 16
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/errors/index.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [],
          "properties": [
            {
              "title": "property",
              "name": "code",
              "lineNumber": 6,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The code of the error. If no code is known, this will be 'NO_CODE'."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "property",
              "name": "message",
              "lineNumber": 7,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "A human-readable message to describe the error. If no message is known, this will be 'An error occurred'."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "scope": "static",
          "kind": "typedef",
          "name": "BasicError",
          "type": {
            "type": "NameExpression",
            "name": "Object"
          },
          "memberof": "api",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "api",
              "kind": "module"
            },
            {
              "name": "BasicError",
              "kind": "typedef",
              "scope": "static"
            }
          ],
          "namespace": "api.BasicError"
        }
      ]
    },
    "path": [
      {
        "name": "api",
        "kind": "module"
      }
    ],
    "namespace": "api"
  },
  {
    "description": {
      "type": "root",
      "children": [
        {
          "type": "paragraph",
          "children": [
            {
              "type": "text",
              "value": "The audio bridge feature allows multiple audio calls to be bridged together\nfor a local three-way call."
            }
          ]
        },
        {
          "type": "paragraph",
          "children": [
            {
              "type": "text",
              "value": "Audio bridge functions are all part of the 'audioBridge' namespace."
            }
          ]
        }
      ]
    },
    "tags": [
      {
        "title": "public",
        "description": null,
        "lineNumber": 5,
        "type": null
      },
      {
        "title": "module",
        "description": null,
        "lineNumber": 6,
        "type": null,
        "name": "AudioBridge"
      },
      {
        "title": "requires",
        "description": null,
        "lineNumber": 7,
        "name": "call"
      }
    ],
    "loc": {
      "start": {
        "line": 22,
        "column": 0
      },
      "end": {
        "line": 30,
        "column": 3
      }
    },
    "context": {
      "loc": {
        "start": {
          "line": 32,
          "column": 0
        },
        "end": {
          "line": 39,
          "column": 20
        }
      },
      "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/api.js"
    },
    "augments": [],
    "examples": [],
    "implements": [],
    "params": [],
    "properties": [],
    "returns": [],
    "sees": [],
    "throws": [],
    "todos": [],
    "yields": [],
    "access": "public",
    "kind": "module",
    "name": "AudioBridge",
    "members": {
      "global": [],
      "inner": [],
      "instance": [],
      "events": [
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "A change has occurred in an audio bridge."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 2,
              "type": null
            },
            {
              "title": "memberof",
              "description": "AudioBridge",
              "lineNumber": 3
            },
            {
              "title": "event",
              "description": "audioBridge:change",
              "lineNumber": 4
            },
            {
              "title": "param",
              "description": null,
              "lineNumber": 5,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "params"
            },
            {
              "title": "param",
              "description": "The bridge that the change occurred on.",
              "lineNumber": 6,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "bridgeId"
            }
          ],
          "loc": {
            "start": {
              "line": 206,
              "column": 0
            },
            "end": {
              "line": 213,
              "column": 3
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 214,
                "column": 0
              },
              "end": {
                "line": 214,
                "column": 49
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/eventTypes.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "params",
              "lineNumber": 5,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              }
            },
            {
              "title": "param",
              "name": "bridgeId",
              "lineNumber": 6,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The bridge that the change occurred on."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "AudioBridge",
          "kind": "event",
          "name": "audioBridge:change",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "AudioBridge",
              "kind": "module"
            },
            {
              "name": "audioBridge:change",
              "kind": "event"
            }
          ],
          "namespace": "AudioBridge.event:audioBridge:change"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "An error occurred while performing an audio bridge operation."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 2,
              "type": null
            },
            {
              "title": "memberof",
              "description": "AudioBridge",
              "lineNumber": 3
            },
            {
              "title": "event",
              "description": "audioBridge:error",
              "lineNumber": 4
            },
            {
              "title": "param",
              "description": null,
              "lineNumber": 5,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "params"
            },
            {
              "title": "param",
              "description": "The Basic error object.",
              "lineNumber": 6,
              "type": {
                "type": "NameExpression",
                "name": "api.BasicError"
              },
              "name": "params.error"
            }
          ],
          "loc": {
            "start": {
              "line": 216,
              "column": 0
            },
            "end": {
              "line": 223,
              "column": 3
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 224,
                "column": 0
              },
              "end": {
                "line": 224,
                "column": 47
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/eventTypes.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "params",
              "lineNumber": 5,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "properties": [
                {
                  "title": "param",
                  "name": "params.error",
                  "lineNumber": 6,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The Basic error object."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "api.BasicError"
                  }
                }
              ]
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "AudioBridge",
          "kind": "event",
          "name": "audioBridge:error",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "AudioBridge",
              "kind": "module"
            },
            {
              "name": "audioBridge:error",
              "kind": "event"
            }
          ],
          "namespace": "AudioBridge.event:audioBridge:error"
        }
      ],
      "static": [
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Creates a local bridge that can be used to join audio calls."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 2,
              "type": null
            },
            {
              "title": "memberof",
              "description": "AudioBridge",
              "lineNumber": 3
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 4,
              "name": "create"
            },
            {
              "title": "return",
              "description": "ID used to identify the bridge.",
              "lineNumber": 5,
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "loc": {
            "start": {
              "line": 767,
              "column": 4
            },
            "end": {
              "line": 773,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 774,
                "column": 4
              },
              "end": {
                "line": 780,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [],
          "properties": [],
          "returns": [
            {
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "ID used to identify the bridge."
                      }
                    ]
                  }
                ]
              },
              "title": "returns",
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "AudioBridge",
          "kind": "function",
          "name": "create",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "AudioBridge",
              "kind": "module"
            },
            {
              "name": "create",
              "kind": "function"
            }
          ],
          "namespace": "AudioBridgecreate"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Closes an existing audio bridge."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 2,
              "type": null
            },
            {
              "title": "memberof",
              "description": "AudioBridge",
              "lineNumber": 3
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 4,
              "name": "close"
            },
            {
              "title": "param",
              "description": "Identifier for the bridge to act on.",
              "lineNumber": 5,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "bridgeId"
            }
          ],
          "loc": {
            "start": {
              "line": 782,
              "column": 4
            },
            "end": {
              "line": 788,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 789,
                "column": 4
              },
              "end": {
                "line": 792,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "bridgeId",
              "lineNumber": 5,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Identifier for the bridge to act on."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "AudioBridge",
          "kind": "function",
          "name": "close",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "AudioBridge",
              "kind": "module"
            },
            {
              "name": "close",
              "kind": "function"
            }
          ],
          "namespace": "AudioBridgeclose"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Adds a call to the specified local audio bridge."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 2,
              "type": null
            },
            {
              "title": "memberof",
              "description": "AudioBridge",
              "lineNumber": 3
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 4,
              "name": "addCall"
            },
            {
              "title": "param",
              "description": "Identifier for the bridge to act on.",
              "lineNumber": 5,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "bridgeId"
            },
            {
              "title": "param",
              "description": "Identifier for the call to add.",
              "lineNumber": 6,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "callId"
            }
          ],
          "loc": {
            "start": {
              "line": 794,
              "column": 4
            },
            "end": {
              "line": 801,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 802,
                "column": 4
              },
              "end": {
                "line": 805,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "bridgeId",
              "lineNumber": 5,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Identifier for the bridge to act on."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "param",
              "name": "callId",
              "lineNumber": 6,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Identifier for the call to add."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "AudioBridge",
          "kind": "function",
          "name": "addCall",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "AudioBridge",
              "kind": "module"
            },
            {
              "name": "addCall",
              "kind": "function"
            }
          ],
          "namespace": "AudioBridgeaddCall"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Remove a specified call from the local audio bridge."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 2,
              "type": null
            },
            {
              "title": "memberof",
              "description": "AudioBridge",
              "lineNumber": 3
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 4,
              "name": "removeCall"
            },
            {
              "title": "param",
              "description": "Identifier for the bridge to act on.",
              "lineNumber": 5,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "bridgeId"
            },
            {
              "title": "param",
              "description": "Identifier for the call to remove.",
              "lineNumber": 6,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "callId"
            }
          ],
          "loc": {
            "start": {
              "line": 807,
              "column": 4
            },
            "end": {
              "line": 814,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 815,
                "column": 4
              },
              "end": {
                "line": 818,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "bridgeId",
              "lineNumber": 5,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Identifier for the bridge to act on."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "param",
              "name": "callId",
              "lineNumber": 6,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Identifier for the call to remove."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "AudioBridge",
          "kind": "function",
          "name": "removeCall",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "AudioBridge",
              "kind": "module"
            },
            {
              "name": "removeCall",
              "kind": "function"
            }
          ],
          "namespace": "AudioBridgeremoveCall"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Mute the local audio for all of the calls on the bridge."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 2,
              "type": null
            },
            {
              "title": "memberof",
              "description": "AudioBridge",
              "lineNumber": 3
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 4,
              "name": "mute"
            },
            {
              "title": "param",
              "description": "Identifier for the bridge to act on.",
              "lineNumber": 5,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "bridgeId"
            }
          ],
          "loc": {
            "start": {
              "line": 820,
              "column": 4
            },
            "end": {
              "line": 826,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 827,
                "column": 4
              },
              "end": {
                "line": 830,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "bridgeId",
              "lineNumber": 5,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Identifier for the bridge to act on."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "AudioBridge",
          "kind": "function",
          "name": "mute",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "AudioBridge",
              "kind": "module"
            },
            {
              "name": "mute",
              "kind": "function"
            }
          ],
          "namespace": "AudioBridgemute"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Unmute the local audio for all of the calls on the bridge."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 2,
              "type": null
            },
            {
              "title": "memberof",
              "description": "AudioBridge",
              "lineNumber": 3
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 4,
              "name": "unmute"
            },
            {
              "title": "param",
              "description": "Identifier for the bridge to act on.",
              "lineNumber": 5,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "bridgeId"
            }
          ],
          "loc": {
            "start": {
              "line": 832,
              "column": 4
            },
            "end": {
              "line": 838,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 839,
                "column": 4
              },
              "end": {
                "line": 842,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "bridgeId",
              "lineNumber": 5,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Identifier for the bridge to act on."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "AudioBridge",
          "kind": "function",
          "name": "unmute",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "AudioBridge",
              "kind": "module"
            },
            {
              "name": "unmute",
              "kind": "function"
            }
          ],
          "namespace": "AudioBridgeunmute"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Silence the remote audio for all of the calls on the bridge."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 2,
              "type": null
            },
            {
              "title": "memberof",
              "description": "AudioBridge",
              "lineNumber": 3
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 4,
              "name": "silence"
            },
            {
              "title": "param",
              "description": "Identifier for the bridge to act on.",
              "lineNumber": 5,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "bridgeId"
            }
          ],
          "loc": {
            "start": {
              "line": 844,
              "column": 4
            },
            "end": {
              "line": 850,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 851,
                "column": 4
              },
              "end": {
                "line": 854,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "bridgeId",
              "lineNumber": 5,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Identifier for the bridge to act on."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "AudioBridge",
          "kind": "function",
          "name": "silence",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "AudioBridge",
              "kind": "module"
            },
            {
              "name": "silence",
              "kind": "function"
            }
          ],
          "namespace": "AudioBridgesilence"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Un-silence the remote audio for all of the calls on the bridge."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 2,
              "type": null
            },
            {
              "title": "memberof",
              "description": "AudioBridge",
              "lineNumber": 3
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 4,
              "name": "unsilence"
            },
            {
              "title": "param",
              "description": "Identifier for the bridge to act on.",
              "lineNumber": 5,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "bridgeId"
            }
          ],
          "loc": {
            "start": {
              "line": 856,
              "column": 4
            },
            "end": {
              "line": 862,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 863,
                "column": 4
              },
              "end": {
                "line": 866,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "bridgeId",
              "lineNumber": 5,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Identifier for the bridge to act on."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "AudioBridge",
          "kind": "function",
          "name": "unsilence",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "AudioBridge",
              "kind": "module"
            },
            {
              "name": "unsilence",
              "kind": "function"
            }
          ],
          "namespace": "AudioBridgeunsilence"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Retrieve information about audio bridges."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 2,
              "type": null
            },
            {
              "title": "memberof",
              "description": "AudioBridge",
              "lineNumber": 3
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 4,
              "name": "getAll"
            },
            {
              "title": "return",
              "description": "List of active audio bridges.",
              "lineNumber": 5,
              "type": {
                "type": "NameExpression",
                "name": "Array"
              }
            }
          ],
          "loc": {
            "start": {
              "line": 868,
              "column": 4
            },
            "end": {
              "line": 874,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 875,
                "column": 4
              },
              "end": {
                "line": 878,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [],
          "properties": [],
          "returns": [
            {
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "List of active audio bridges."
                      }
                    ]
                  }
                ]
              },
              "title": "returns",
              "type": {
                "type": "NameExpression",
                "name": "Array"
              }
            }
          ],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "AudioBridge",
          "kind": "function",
          "name": "getAll",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "AudioBridge",
              "kind": "module"
            },
            {
              "name": "getAll",
              "kind": "function"
            }
          ],
          "namespace": "AudioBridgegetAll"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Retrieve all calls currently part of an audio bridge."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 2,
              "type": null
            },
            {
              "title": "memberof",
              "description": "AudioBridge",
              "lineNumber": 3
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 4,
              "name": "getBridgeCalls"
            },
            {
              "title": "param",
              "description": "The ID of the bridge whose calls we wish to retrieve",
              "lineNumber": 5,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "bridgeId"
            },
            {
              "title": "return",
              "description": "List of calls currently part of the specified audio bridge.",
              "lineNumber": 6,
              "type": {
                "type": "NameExpression",
                "name": "Array"
              }
            }
          ],
          "loc": {
            "start": {
              "line": 880,
              "column": 4
            },
            "end": {
              "line": 887,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 888,
                "column": 4
              },
              "end": {
                "line": 891,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "bridgeId",
              "lineNumber": 5,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The ID of the bridge whose calls we wish to retrieve"
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "properties": [],
          "returns": [
            {
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "List of calls currently part of the specified audio bridge."
                      }
                    ]
                  }
                ]
              },
              "title": "returns",
              "type": {
                "type": "NameExpression",
                "name": "Array"
              }
            }
          ],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "AudioBridge",
          "kind": "function",
          "name": "getBridgeCalls",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "AudioBridge",
              "kind": "module"
            },
            {
              "name": "getBridgeCalls",
              "kind": "function"
            }
          ],
          "namespace": "AudioBridgegetBridgeCalls"
        }
      ]
    },
    "path": [
      {
        "name": "AudioBridge",
        "kind": "module"
      }
    ],
    "namespace": "AudioBridge"
  },
  {
    "description": {
      "type": "root",
      "children": [
        {
          "type": "paragraph",
          "children": [
            {
              "type": "text",
              "value": "The 'call.history' namespace is used to retrieve and inspect the authenticated\nusers call logs."
            }
          ]
        },
        {
          "type": "paragraph",
          "children": [
            {
              "type": "text",
              "value": "Functions below are all part of this namespace."
            }
          ]
        }
      ]
    },
    "tags": [
      {
        "title": "public",
        "description": null,
        "lineNumber": 6,
        "type": null
      },
      {
        "title": "namespace",
        "description": null,
        "lineNumber": 7,
        "type": null,
        "name": "callHistory"
      }
    ],
    "loc": {
      "start": {
        "line": 1,
        "column": 0
      },
      "end": {
        "line": 9,
        "column": 3
      }
    },
    "context": {
      "loc": {
        "start": {
          "line": 12,
          "column": 0
        },
        "end": {
          "line": 12,
          "column": 36
        }
      },
      "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/callHistory/interface/api.js"
    },
    "augments": [],
    "examples": [],
    "implements": [],
    "params": [],
    "properties": [],
    "returns": [],
    "sees": [],
    "throws": [],
    "todos": [],
    "yields": [],
    "access": "public",
    "kind": "namespace",
    "name": "callHistory",
    "members": {
      "global": [],
      "inner": [],
      "instance": [],
      "events": [
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Call history state has been updated. See "
                  },
                  {
                    "type": "link",
                    "url": "#callhistoryget",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "CallHistory.get"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " to retrieve new state."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 2,
              "type": null
            },
            {
              "title": "memberof",
              "description": "callHistory",
              "lineNumber": 3
            },
            {
              "title": "event",
              "description": "callHistory:change",
              "lineNumber": 4
            }
          ],
          "loc": {
            "start": {
              "line": 1,
              "column": 0
            },
            "end": {
              "line": 6,
              "column": 3
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 7,
                "column": 0
              },
              "end": {
                "line": 7,
                "column": 55
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/callHistory/interface/eventTypes.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "callHistory",
          "kind": "event",
          "name": "callHistory:change",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "callHistory",
              "kind": "function"
            },
            {
              "name": "callHistory:change",
              "kind": "event"
            }
          ],
          "namespace": "callHistory.event:callHistory:change"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "An error occurred while performing a call history operation."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 2,
              "type": null
            },
            {
              "title": "memberof",
              "description": "callHistory",
              "lineNumber": 3
            },
            {
              "title": "event",
              "description": "callHistory:error",
              "lineNumber": 4
            },
            {
              "title": "param",
              "description": null,
              "lineNumber": 5,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "params"
            },
            {
              "title": "param",
              "description": "The Basic error object.",
              "lineNumber": 6,
              "type": {
                "type": "NameExpression",
                "name": "api.BasicError"
              },
              "name": "params.error"
            }
          ],
          "loc": {
            "start": {
              "line": 9,
              "column": 0
            },
            "end": {
              "line": 16,
              "column": 3
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 17,
                "column": 0
              },
              "end": {
                "line": 17,
                "column": 53
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/callHistory/interface/eventTypes.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "params",
              "lineNumber": 5,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "properties": [
                {
                  "title": "param",
                  "name": "params.error",
                  "lineNumber": 6,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The Basic error object."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "api.BasicError"
                  }
                }
              ]
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "callHistory",
          "kind": "event",
          "name": "callHistory:error",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "callHistory",
              "kind": "function"
            },
            {
              "name": "callHistory:error",
              "kind": "event"
            }
          ],
          "namespace": "callHistory.event:callHistory:error"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Call history cached state has been updated"
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 2,
              "type": null
            },
            {
              "title": "memberof",
              "description": "callHistory",
              "lineNumber": 3
            },
            {
              "title": "event",
              "description": "callHistoryCache:change",
              "lineNumber": 4
            }
          ],
          "loc": {
            "start": {
              "line": 19,
              "column": 0
            },
            "end": {
              "line": 24,
              "column": 3
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 25,
                "column": 0
              },
              "end": {
                "line": 25,
                "column": 66
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/callHistory/interface/eventTypes.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "callHistory",
          "kind": "event",
          "name": "callHistoryCache:change",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "callHistory",
              "kind": "function"
            },
            {
              "name": "callHistoryCache:change",
              "kind": "event"
            }
          ],
          "namespace": "callHistory.event:callHistoryCache:change"
        }
      ],
      "static": [
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Fetches the list of call logs and stores them locally. The API\n"
                  },
                  {
                    "type": "link",
                    "url": "#callhistoryget",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "CallHistory.get"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " can then be used to get\nthe logs from local state after it has been updated."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 4,
              "type": null
            },
            {
              "title": "memberof",
              "description": "callHistory",
              "lineNumber": 5
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 6,
              "name": "callHistory"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 7,
              "name": "fetch"
            },
            {
              "title": "param",
              "description": "The number of records to retrieve.",
              "lineNumber": 8,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "number"
                }
              },
              "name": "amount",
              "default": "50"
            },
            {
              "title": "param",
              "description": "Starting offset for records to retrieve.",
              "lineNumber": 9,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "number"
                }
              },
              "name": "offset",
              "default": "0"
            }
          ],
          "loc": {
            "start": {
              "line": 29,
              "column": 4
            },
            "end": {
              "line": 39,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 40,
                "column": 4
              },
              "end": {
                "line": 43,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/callHistory/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "amount",
              "lineNumber": 8,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The number of records to retrieve."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "number"
              },
              "default": "50"
            },
            {
              "title": "param",
              "name": "offset",
              "lineNumber": 9,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Starting offset for records to retrieve."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "number"
              },
              "default": "0"
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "callHistory",
          "kind": "function",
          "name": "fetch",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "callHistory",
              "kind": "function"
            },
            {
              "name": "fetch",
              "kind": "function"
            }
          ],
          "namespace": "callHistoryfetch"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Deletes the specified call log."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 2,
              "type": null
            },
            {
              "title": "memberof",
              "description": "callHistory",
              "lineNumber": 3
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 4,
              "name": "callHistory"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 5,
              "name": "remove"
            },
            {
              "title": "param",
              "description": "The ID of the call log to be removed.",
              "lineNumber": 6,
              "type": {
                "type": "NameExpression",
                "name": "number"
              },
              "name": "recordId"
            }
          ],
          "loc": {
            "start": {
              "line": 45,
              "column": 4
            },
            "end": {
              "line": 52,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 53,
                "column": 4
              },
              "end": {
                "line": 56,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/callHistory/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "recordId",
              "lineNumber": 6,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The ID of the call log to be removed."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "number"
              }
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "callHistory",
          "kind": "function",
          "name": "remove",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "callHistory",
              "kind": "function"
            },
            {
              "name": "remove",
              "kind": "function"
            }
          ],
          "namespace": "callHistoryremove"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Deletes all call logs."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 2,
              "type": null
            },
            {
              "title": "memberof",
              "description": "callHistory",
              "lineNumber": 3
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 4,
              "name": "callHistory"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 5,
              "name": "clear"
            }
          ],
          "loc": {
            "start": {
              "line": 58,
              "column": 4
            },
            "end": {
              "line": 64,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 65,
                "column": 4
              },
              "end": {
                "line": 68,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/callHistory/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "callHistory",
          "kind": "function",
          "name": "clear",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "callHistory",
              "kind": "function"
            },
            {
              "name": "clear",
              "kind": "function"
            }
          ],
          "namespace": "callHistoryclear"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Gets the list of call logs cached locally. The event\n"
                  },
                  {
                    "type": "inlineCode",
                    "value": "callHistory:changed"
                  },
                  {
                    "type": "text",
                    "value": " is used to indicate the local state of logs\nhas been updated."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 4,
              "type": null
            },
            {
              "title": "memberof",
              "description": "callHistory",
              "lineNumber": 5
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 6,
              "name": "callHistory"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 7,
              "name": "get"
            },
            {
              "title": "example",
              "description": "client.on('callHistory:change', function() {\n    // Get all call logs when they've been updated.\n    let callLogs = client.call.history.get();\n});",
              "lineNumber": 8
            },
            {
              "title": "returns",
              "description": "A list of call log records, ordered by latest first.",
              "lineNumber": 13,
              "type": {
                "type": "NameExpression",
                "name": "Array"
              }
            }
          ],
          "loc": {
            "start": {
              "line": 70,
              "column": 4
            },
            "end": {
              "line": 84,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 85,
                "column": 4
              },
              "end": {
                "line": 88,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/callHistory/interface/api.js"
          },
          "augments": [],
          "examples": [
            {
              "description": "client.on('callHistory:change', function() {\n    // Get all call logs when they've been updated.\n    let callLogs = client.call.history.get();\n});"
            }
          ],
          "implements": [],
          "params": [],
          "properties": [],
          "returns": [
            {
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "A list of call log records, ordered by latest first."
                      }
                    ]
                  }
                ]
              },
              "title": "returns",
              "type": {
                "type": "NameExpression",
                "name": "Array"
              }
            }
          ],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "callHistory",
          "kind": "function",
          "name": "get",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "callHistory",
              "kind": "function"
            },
            {
              "name": "get",
              "kind": "function"
            }
          ],
          "namespace": "callHistoryget"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Gets the cached call history data and returns stringified data."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "The data is provided in a format that can be used directly with the\n"
                  },
                  {
                    "type": "link",
                    "url": "callHistory.setCache",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "call.history.setCache"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " API. This allows an\napplication to persist the information across SDK instances when the\nbackend environment does not support the CallHistory feature."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 7,
              "type": null
            },
            {
              "title": "memberof",
              "description": "callHistory",
              "lineNumber": 8
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 9,
              "name": "callHistory"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 10,
              "name": "getCache"
            },
            {
              "title": "returns",
              "description": "A stringified list of call log records from the cache, ordered by latest first.",
              "lineNumber": 11,
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "loc": {
            "start": {
              "line": 90,
              "column": 4
            },
            "end": {
              "line": 102,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 103,
                "column": 4
              },
              "end": {
                "line": 106,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/callHistory/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [],
          "properties": [],
          "returns": [
            {
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "A stringified list of call log records from the cache, ordered by latest first."
                      }
                    ]
                  }
                ]
              },
              "title": "returns",
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "callHistory",
          "kind": "function",
          "name": "getCache",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "callHistory",
              "kind": "function"
            },
            {
              "name": "getCache",
              "kind": "function"
            }
          ],
          "namespace": "callHistorygetCache"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Sets the cached call history data, expects stringified data as it will be parsed."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "The data can be retrieved from the "
                  },
                  {
                    "type": "link",
                    "url": "callHistory.getCache",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "call.history.getCache"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " API. This allows an\napplication to persist the information across SDK instances when the\nbackend environment does not support the CallHistory feature."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 7,
              "type": null
            },
            {
              "title": "memberof",
              "description": "callHistory",
              "lineNumber": 8
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 9,
              "name": "callHistory"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 10,
              "name": "setCache"
            },
            {
              "title": "param",
              "description": "The stringified call history data to store in the cache.",
              "lineNumber": 11,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "data"
            }
          ],
          "loc": {
            "start": {
              "line": 108,
              "column": 4
            },
            "end": {
              "line": 120,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 121,
                "column": 4
              },
              "end": {
                "line": 124,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/callHistory/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "data",
              "lineNumber": 11,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The stringified call history data to store in the cache."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "callHistory",
          "kind": "function",
          "name": "setCache",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "callHistory",
              "kind": "function"
            },
            {
              "name": "setCache",
              "kind": "function"
            }
          ],
          "namespace": "callHistorysetCache"
        }
      ]
    },
    "path": [
      {
        "name": "callHistory",
        "kind": "namespace"
      }
    ],
    "namespace": "callHistory"
  },
  {
    "description": {
      "type": "root",
      "children": [
        {
          "type": "paragraph",
          "children": [
            {
              "type": "text",
              "value": "The Calls feature is used to make audio and video calls to and from\nSIP users and PSTN phones."
            }
          ]
        },
        {
          "type": "paragraph",
          "children": [
            {
              "type": "text",
              "value": "Call functions are all part of the 'call' namespace."
            }
          ]
        },
        {
          "type": "paragraph",
          "children": [
            {
              "type": "text",
              "value": "Whenever 'user' is mentioned as input parameter within this API, it needs to be provided in the user@domain format."
            }
          ]
        }
      ]
    },
    "tags": [
      {
        "title": "public",
        "description": null,
        "lineNumber": 8,
        "type": null
      },
      {
        "title": "namespace",
        "description": null,
        "lineNumber": 9,
        "type": null,
        "name": "Calls"
      }
    ],
    "loc": {
      "start": {
        "line": 1,
        "column": 0
      },
      "end": {
        "line": 11,
        "column": 3
      }
    },
    "context": {
      "loc": {
        "start": {
          "line": 32,
          "column": 0
        },
        "end": {
          "line": 39,
          "column": 20
        }
      },
      "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/api.js"
    },
    "augments": [],
    "examples": [],
    "implements": [],
    "params": [],
    "properties": [],
    "returns": [],
    "sees": [],
    "throws": [],
    "todos": [],
    "yields": [],
    "access": "public",
    "kind": "namespace",
    "name": "Calls",
    "members": {
      "global": [],
      "inner": [],
      "instance": [],
      "events": [],
      "static": [
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Retrieves the state of calls made during the current session."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "Calls",
              "lineNumber": 4
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 5,
              "name": "call"
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 6,
              "name": "callMe"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 7,
              "name": "getAll"
            },
            {
              "title": "return",
              "description": "Call objects.",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "Array"
              }
            },
            {
              "title": "example",
              "description": "let calls = client.call.getAll();\nlet currentCalls = calls.filter(call => {\n    return call.state === client.call.states.IN_CALL;\n});",
              "lineNumber": 9
            }
          ],
          "loc": {
            "start": {
              "line": 166,
              "column": 4
            },
            "end": {
              "line": 180,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 181,
                "column": 4
              },
              "end": {
                "line": 184,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/api.js"
          },
          "augments": [],
          "examples": [
            {
              "description": "let calls = client.call.getAll();\nlet currentCalls = calls.filter(call => {\n    return call.state === client.call.states.IN_CALL;\n});"
            }
          ],
          "implements": [],
          "params": [],
          "properties": [],
          "returns": [
            {
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Call objects."
                      }
                    ]
                  }
                ]
              },
              "title": "returns",
              "type": {
                "type": "NameExpression",
                "name": "Array"
              }
            }
          ],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "Calls",
          "kind": "function",
          "name": "getAll",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "Calls",
              "kind": "namespace"
            },
            {
              "name": "getAll",
              "kind": "function"
            }
          ],
          "namespace": "CallsgetAll"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Retrieves a call from state with a specific call ID."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "Calls",
              "lineNumber": 4
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 5,
              "name": "call"
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 6,
              "name": "callMe"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 7,
              "name": "getById"
            },
            {
              "title": "param",
              "description": "The ID of the call to retrieve.",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "callId"
            },
            {
              "title": "return",
              "description": "A call object.",
              "lineNumber": 9,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              }
            }
          ],
          "loc": {
            "start": {
              "line": 186,
              "column": 4
            },
            "end": {
              "line": 196,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 197,
                "column": 4
              },
              "end": {
                "line": 200,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "callId",
              "lineNumber": 8,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The ID of the call to retrieve."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "properties": [],
          "returns": [
            {
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "A call object."
                      }
                    ]
                  }
                ]
              },
              "title": "returns",
              "type": {
                "type": "NameExpression",
                "name": "Object"
              }
            }
          ],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "Calls",
          "kind": "function",
          "name": "getById",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "Calls",
              "kind": "namespace"
            },
            {
              "name": "getById",
              "kind": "function"
            }
          ],
          "namespace": "CallsgetById"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Changes camera and microphone for the specified call.\nThe call will use the current selected default devices."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 4,
              "type": null
            },
            {
              "title": "memberof",
              "description": "Calls",
              "lineNumber": 5
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 6,
              "name": "call"
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 7,
              "name": "callMe"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 8,
              "name": "changeInputDevices"
            },
            {
              "title": "param",
              "description": "The ID of the call to act upon.",
              "lineNumber": 9,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "callId"
            }
          ],
          "loc": {
            "start": {
              "line": 216,
              "column": 4
            },
            "end": {
              "line": 226,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 227,
                "column": 4
              },
              "end": {
                "line": 230,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "callId",
              "lineNumber": 9,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The ID of the call to act upon."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "Calls",
          "kind": "function",
          "name": "changeInputDevices",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "Calls",
              "kind": "namespace"
            },
            {
              "name": "changeInputDevices",
              "kind": "function"
            }
          ],
          "namespace": "CallschangeInputDevices"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Changes speaker used for call audio output.\nSupported on browser's that support HTMLMediaElement.setSinkId()."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 4,
              "type": null
            },
            {
              "title": "memberof",
              "description": "Calls",
              "lineNumber": 5
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 6,
              "name": "call"
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 7,
              "name": "callMe"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 8,
              "name": "changeSpeaker"
            },
            {
              "title": "param",
              "description": "ID of the speaker to use for call audio.",
              "lineNumber": 9,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "speakerId"
            }
          ],
          "loc": {
            "start": {
              "line": 232,
              "column": 4
            },
            "end": {
              "line": 242,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 243,
                "column": 4
              },
              "end": {
                "line": 246,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "speakerId",
              "lineNumber": 9,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "ID of the speaker to use for call audio."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "Calls",
          "kind": "function",
          "name": "changeSpeaker",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "Calls",
              "kind": "namespace"
            },
            {
              "name": "changeSpeaker",
              "kind": "function"
            }
          ],
          "namespace": "CallschangeSpeaker"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "States of a call."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 2,
              "type": null
            },
            {
              "title": "memberof",
              "description": "Calls",
              "lineNumber": 3
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 4,
              "name": "call"
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 5,
              "name": "callMe"
            },
            {
              "title": "property",
              "description": "The call is on-going.",
              "lineNumber": 6,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "IN_CALL"
            },
            {
              "title": "property",
              "description": "The call has been established and is waiting for a user response.",
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "RINGING"
            },
            {
              "title": "property",
              "description": "The call has been terminated.",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "ENDED"
            },
            {
              "title": "property",
              "description": "The call has been put on hold locally.",
              "lineNumber": 9,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "ON_HOLD"
            },
            {
              "title": "property",
              "description": "The call has been put on hold remotely.",
              "lineNumber": 10,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "ON_REMOTE_HOLD"
            },
            {
              "title": "example",
              "description": "client.on('call:stateChange', function(callInfo) {\n     if(callInfo.state === client.call.states.ENDED) {\n         // Call has ended.\n     }\n});",
              "lineNumber": 11
            }
          ],
          "loc": {
            "start": {
              "line": 248,
              "column": 4
            },
            "end": {
              "line": 265,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 266,
                "column": 4
              },
              "end": {
                "line": 266,
                "column": 27
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/api.js"
          },
          "augments": [],
          "examples": [
            {
              "description": "client.on('call:stateChange', function(callInfo) {\n     if(callInfo.state === client.call.states.ENDED) {\n         // Call has ended.\n     }\n});"
            }
          ],
          "implements": [],
          "params": [],
          "properties": [
            {
              "title": "property",
              "name": "IN_CALL",
              "lineNumber": 6,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The call is on-going."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "property",
              "name": "RINGING",
              "lineNumber": 7,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The call has been established and is waiting for a user response."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "property",
              "name": "ENDED",
              "lineNumber": 8,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The call has been terminated."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "property",
              "name": "ON_HOLD",
              "lineNumber": 9,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The call has been put on hold locally."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "property",
              "name": "ON_REMOTE_HOLD",
              "lineNumber": 10,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The call has been put on hold remotely."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "Calls",
          "name": "states",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "Calls",
              "kind": "namespace"
            },
            {
              "name": "states"
            }
          ],
          "namespace": "Callsstates"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "State of the media connection within a call."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 2,
              "type": null
            },
            {
              "title": "memberof",
              "description": "Calls",
              "lineNumber": 3
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 4,
              "name": "call"
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 5,
              "name": "callMe"
            },
            {
              "title": "property",
              "description": "A new media connection process has started.",
              "lineNumber": 6,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "NEW"
            },
            {
              "title": "property",
              "description": "Media is searching for a connection.",
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "CHECKING"
            },
            {
              "title": "property",
              "description": "Media has found a connection, but may still be searching for a better connection to use.",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "CONNECTED"
            },
            {
              "title": "property",
              "description": "Media has finished searching and been established. Audio/video should now be flowing on the call.",
              "lineNumber": 9,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "COMPLETED"
            },
            {
              "title": "property",
              "description": "Media was not able to find a connection. Audio/video will not flow.",
              "lineNumber": 10,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "FAILED"
            },
            {
              "title": "property",
              "description": "The media connection has lost its connection and is trying to recover.",
              "lineNumber": 11,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "DISCONNECTED"
            },
            {
              "title": "property",
              "description": "The media connection has shut down.",
              "lineNumber": 12,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "CLOSED"
            }
          ],
          "loc": {
            "start": {
              "line": 268,
              "column": 4
            },
            "end": {
              "line": 282,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 283,
                "column": 4
              },
              "end": {
                "line": 283,
                "column": 33
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [],
          "properties": [
            {
              "title": "property",
              "name": "NEW",
              "lineNumber": 6,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "A new media connection process has started."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "property",
              "name": "CHECKING",
              "lineNumber": 7,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Media is searching for a connection."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "property",
              "name": "CONNECTED",
              "lineNumber": 8,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Media has found a connection, but may still be searching for a better connection to use."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "property",
              "name": "COMPLETED",
              "lineNumber": 9,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Media has finished searching and been established. Audio/video should now be flowing on the call."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "property",
              "name": "FAILED",
              "lineNumber": 10,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Media was not able to find a connection. Audio/video will not flow."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "property",
              "name": "DISCONNECTED",
              "lineNumber": 11,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The media connection has lost its connection and is trying to recover."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "property",
              "name": "CLOSED",
              "lineNumber": 12,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The media connection has shut down."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "Calls",
          "name": "mediaStates",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "Calls",
              "kind": "namespace"
            },
            {
              "name": "mediaStates"
            }
          ],
          "namespace": "CallsmediaStates"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Start an outgoing call."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "Calls",
              "lineNumber": 4
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 5,
              "name": "call"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 6,
              "name": "make"
            },
            {
              "title": "param",
              "description": "Full user ID of the call recipient.",
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "callee"
            },
            {
              "title": "param",
              "description": "Call options.",
              "lineNumber": 8,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "Object"
                }
              },
              "name": "options"
            },
            {
              "title": "param",
              "description": "Sets the display name of the caller to be sent alongside the username of the user.",
              "lineNumber": 9,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "options.from"
            },
            {
              "title": "param",
              "description": "Whether to enable video during the call. If false, you cannot start video mid-call.",
              "lineNumber": 10,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "boolean"
                }
              },
              "name": "options.isVideoEnabled",
              "default": "true"
            },
            {
              "title": "param",
              "description": "Object containing firstName and lastName of caller.",
              "lineNumber": 11,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "Object"
                }
              },
              "name": "options.contact"
            },
            {
              "title": "param",
              "description": "Whether to start the call sending the local video stream.",
              "lineNumber": 12,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "boolean"
                }
              },
              "name": "options.sendInitialVideo",
              "default": "false"
            },
            {
              "title": "param",
              "description": "Whether to enable audio during the call. Setting this to false will disable audio for the call.",
              "lineNumber": 13,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "boolean"
                }
              },
              "name": "options.isAudioEnabled",
              "default": "true"
            },
            {
              "title": "param",
              "description": "Whether to enable DTLS for WebRTC calls.",
              "lineNumber": 14,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "boolean"
                }
              },
              "name": "options.webrtcdtls",
              "default": "true"
            },
            {
              "title": "param",
              "description": "The object to configure the local video resolution.",
              "lineNumber": 15,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "Object"
                }
              },
              "name": "options.videoResolution"
            },
            {
              "title": "param",
              "description": "The height in pixels of the local video.",
              "lineNumber": 16,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "number"
                }
              },
              "name": "options.videoResolution.height"
            },
            {
              "title": "param",
              "description": "The width in pixels of the local video.",
              "lineNumber": 17,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "number"
                }
              },
              "name": "options.videoResolution.width"
            },
            {
              "title": "param",
              "description": "Custom SIP header parameters for the SIP backend.",
              "lineNumber": 18,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "TypeApplication",
                  "expression": {
                    "type": "NameExpression",
                    "name": "Array"
                  },
                  "applications": [
                    {
                      "type": "RecordType",
                      "fields": [
                        {
                          "type": "FieldType",
                          "key": "name",
                          "value": {
                            "type": "NameExpression",
                            "name": "string"
                          }
                        },
                        {
                          "type": "FieldType",
                          "key": "value",
                          "value": {
                            "type": "NameExpression",
                            "name": "string"
                          }
                        }
                      ]
                    }
                  ]
                }
              },
              "name": "options.customParameters"
            },
            {
              "title": "param",
              "description": "The HTML element to use as a container for the remote video.",
              "lineNumber": 19,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "HTMLElement"
                }
              },
              "name": "options.remoteVideoContainer"
            },
            {
              "title": "param",
              "description": "The HTML element to use as a container for the local video.",
              "lineNumber": 20,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "HTMLElement"
                }
              },
              "name": "options.localVideoContainer"
            },
            {
              "title": "param",
              "description": "Whether to enable normalization of callee address.",
              "lineNumber": 21,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "boolean"
                }
              },
              "name": "options.normalizeAddress",
              "default": "false"
            },
            {
              "title": "return",
              "description": "Id of the outgoing call.",
              "lineNumber": 22,
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "example",
              "description": "let remoteContainer = document.getElementById('remote-container');\n// Start a video call that only shows the remote media (not local).\nlet callId = client.call.make('sampleUser@example.com', {\n    isVideoEnabled: true,\n    sendInitialVideo: true,\n    remoteVideoContainer: remoteContainer,\n    customParameters: [\n      {\n        \"name\": \"X-GPS\",\n        \"value\": \"42.686032,23.344565\"\n      }\n    ]\n});",
              "lineNumber": 23
            }
          ],
          "loc": {
            "start": {
              "line": 285,
              "column": 4
            },
            "end": {
              "line": 322,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 323,
                "column": 4
              },
              "end": {
                "line": 363,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/api.js"
          },
          "augments": [],
          "examples": [
            {
              "description": "let remoteContainer = document.getElementById('remote-container');\n// Start a video call that only shows the remote media (not local).\nlet callId = client.call.make('sampleUser@example.com', {\n    isVideoEnabled: true,\n    sendInitialVideo: true,\n    remoteVideoContainer: remoteContainer,\n    customParameters: [\n      {\n        \"name\": \"X-GPS\",\n        \"value\": \"42.686032,23.344565\"\n      }\n    ]\n});"
            }
          ],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "callee",
              "lineNumber": 7,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Full user ID of the call recipient."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "param",
              "name": "options",
              "lineNumber": 8,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Call options."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "Object"
                }
              },
              "properties": [
                {
                  "title": "param",
                  "name": "options.from",
                  "lineNumber": 9,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Sets the display name of the caller to be sent alongside the username of the user."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  }
                },
                {
                  "title": "param",
                  "name": "options.isVideoEnabled",
                  "lineNumber": 10,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Whether to enable video during the call. If false, you cannot start video mid-call."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "boolean"
                  },
                  "default": "true"
                },
                {
                  "title": "param",
                  "name": "options.contact",
                  "lineNumber": 11,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Object containing firstName and lastName of caller."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "Object"
                    }
                  }
                },
                {
                  "title": "param",
                  "name": "options.sendInitialVideo",
                  "lineNumber": 12,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Whether to start the call sending the local video stream."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "boolean"
                  },
                  "default": "false"
                },
                {
                  "title": "param",
                  "name": "options.isAudioEnabled",
                  "lineNumber": 13,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Whether to enable audio during the call. Setting this to false will disable audio for the call."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "boolean"
                  },
                  "default": "true"
                },
                {
                  "title": "param",
                  "name": "options.webrtcdtls",
                  "lineNumber": 14,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Whether to enable DTLS for WebRTC calls."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "boolean"
                  },
                  "default": "true"
                },
                {
                  "title": "param",
                  "name": "options.videoResolution",
                  "lineNumber": 15,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The object to configure the local video resolution."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "Object"
                    }
                  },
                  "properties": [
                    {
                      "title": "param",
                      "name": "options.videoResolution.height",
                      "lineNumber": 16,
                      "description": {
                        "type": "root",
                        "children": [
                          {
                            "type": "paragraph",
                            "children": [
                              {
                                "type": "text",
                                "value": "The height in pixels of the local video."
                              }
                            ]
                          }
                        ]
                      },
                      "type": {
                        "type": "OptionalType",
                        "expression": {
                          "type": "NameExpression",
                          "name": "number"
                        }
                      }
                    },
                    {
                      "title": "param",
                      "name": "options.videoResolution.width",
                      "lineNumber": 17,
                      "description": {
                        "type": "root",
                        "children": [
                          {
                            "type": "paragraph",
                            "children": [
                              {
                                "type": "text",
                                "value": "The width in pixels of the local video."
                              }
                            ]
                          }
                        ]
                      },
                      "type": {
                        "type": "OptionalType",
                        "expression": {
                          "type": "NameExpression",
                          "name": "number"
                        }
                      }
                    }
                  ]
                },
                {
                  "title": "param",
                  "name": "options.customParameters",
                  "lineNumber": 18,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Custom SIP header parameters for the SIP backend."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "TypeApplication",
                      "expression": {
                        "type": "NameExpression",
                        "name": "Array"
                      },
                      "applications": [
                        {
                          "type": "RecordType",
                          "fields": [
                            {
                              "type": "FieldType",
                              "key": "name",
                              "value": {
                                "type": "NameExpression",
                                "name": "string"
                              }
                            },
                            {
                              "type": "FieldType",
                              "key": "value",
                              "value": {
                                "type": "NameExpression",
                                "name": "string"
                              }
                            }
                          ]
                        }
                      ]
                    }
                  }
                },
                {
                  "title": "param",
                  "name": "options.remoteVideoContainer",
                  "lineNumber": 19,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The HTML element to use as a container for the remote video."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "HTMLElement"
                    }
                  }
                },
                {
                  "title": "param",
                  "name": "options.localVideoContainer",
                  "lineNumber": 20,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The HTML element to use as a container for the local video."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "HTMLElement"
                    }
                  }
                },
                {
                  "title": "param",
                  "name": "options.normalizeAddress",
                  "lineNumber": 21,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Whether to enable normalization of callee address."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "boolean"
                  },
                  "default": "false"
                }
              ]
            }
          ],
          "properties": [],
          "returns": [
            {
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Id of the outgoing call."
                      }
                    ]
                  }
                ]
              },
              "title": "returns",
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "Calls",
          "kind": "function",
          "name": "make",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "Calls",
              "kind": "namespace"
            },
            {
              "name": "make",
              "kind": "function"
            }
          ],
          "namespace": "Callsmake"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Answer an incoming call."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "Calls",
              "lineNumber": 4
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 5,
              "name": "call"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 6,
              "name": "answer"
            },
            {
              "title": "param",
              "description": "The ID of the call to answer.",
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "callId"
            },
            {
              "title": "param",
              "description": "Call options.",
              "lineNumber": 8,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "Object"
                }
              },
              "name": "options"
            },
            {
              "title": "param",
              "description": "Whether to enable video during the call. If false, you cannot start video mid-call.",
              "lineNumber": 9,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "boolean"
                }
              },
              "name": "options.isVideoEnabled"
            },
            {
              "title": "param",
              "description": "Whether to start the call sending the local video stream.",
              "lineNumber": 10,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "boolean"
                }
              },
              "name": "options.sendInitialVideo"
            },
            {
              "title": "param",
              "description": "Whether to enable audio during the call. Setting this to false will disable audio for the call.",
              "lineNumber": 11,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "boolean"
                }
              },
              "name": "options.isAudioEnabled",
              "default": "true"
            },
            {
              "title": "param",
              "description": "The object to configure the local video resolution.",
              "lineNumber": 12,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "Object"
                }
              },
              "name": "options.videoResolution"
            },
            {
              "title": "param",
              "description": "The height in pixels of the local video.",
              "lineNumber": 13,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "number"
                }
              },
              "name": "options.videoResolution.height"
            },
            {
              "title": "param",
              "description": "The width in pixels of the local video.",
              "lineNumber": 14,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "number"
                }
              },
              "name": "options.videoResolution.width"
            },
            {
              "title": "param",
              "description": "The HTML element to use as a container for the local video.",
              "lineNumber": 15,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "HTMLElement"
                }
              },
              "name": "options.localVideoContainer"
            },
            {
              "title": "param",
              "description": "The HTML element to use as a container for the remote video.",
              "lineNumber": 16,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "HTMLElement"
                }
              },
              "name": "options.remoteVideoContainer"
            }
          ],
          "loc": {
            "start": {
              "line": 365,
              "column": 4
            },
            "end": {
              "line": 382,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 383,
                "column": 4
              },
              "end": {
                "line": 386,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "callId",
              "lineNumber": 7,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The ID of the call to answer."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "param",
              "name": "options",
              "lineNumber": 8,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Call options."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "Object"
                }
              },
              "properties": [
                {
                  "title": "param",
                  "name": "options.isVideoEnabled",
                  "lineNumber": 9,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Whether to enable video during the call. If false, you cannot start video mid-call."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "boolean"
                    }
                  }
                },
                {
                  "title": "param",
                  "name": "options.sendInitialVideo",
                  "lineNumber": 10,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Whether to start the call sending the local video stream."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "boolean"
                    }
                  }
                },
                {
                  "title": "param",
                  "name": "options.isAudioEnabled",
                  "lineNumber": 11,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Whether to enable audio during the call. Setting this to false will disable audio for the call."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "boolean"
                  },
                  "default": "true"
                },
                {
                  "title": "param",
                  "name": "options.videoResolution",
                  "lineNumber": 12,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The object to configure the local video resolution."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "Object"
                    }
                  },
                  "properties": [
                    {
                      "title": "param",
                      "name": "options.videoResolution.height",
                      "lineNumber": 13,
                      "description": {
                        "type": "root",
                        "children": [
                          {
                            "type": "paragraph",
                            "children": [
                              {
                                "type": "text",
                                "value": "The height in pixels of the local video."
                              }
                            ]
                          }
                        ]
                      },
                      "type": {
                        "type": "OptionalType",
                        "expression": {
                          "type": "NameExpression",
                          "name": "number"
                        }
                      }
                    },
                    {
                      "title": "param",
                      "name": "options.videoResolution.width",
                      "lineNumber": 14,
                      "description": {
                        "type": "root",
                        "children": [
                          {
                            "type": "paragraph",
                            "children": [
                              {
                                "type": "text",
                                "value": "The width in pixels of the local video."
                              }
                            ]
                          }
                        ]
                      },
                      "type": {
                        "type": "OptionalType",
                        "expression": {
                          "type": "NameExpression",
                          "name": "number"
                        }
                      }
                    }
                  ]
                },
                {
                  "title": "param",
                  "name": "options.localVideoContainer",
                  "lineNumber": 15,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The HTML element to use as a container for the local video."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "HTMLElement"
                    }
                  }
                },
                {
                  "title": "param",
                  "name": "options.remoteVideoContainer",
                  "lineNumber": 16,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The HTML element to use as a container for the remote video."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "HTMLElement"
                    }
                  }
                }
              ]
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "Calls",
          "kind": "function",
          "name": "answer",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "Calls",
              "kind": "namespace"
            },
            {
              "name": "answer",
              "kind": "function"
            }
          ],
          "namespace": "Callsanswer"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Ignore an incoming call."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "Calls",
              "lineNumber": 4
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 5,
              "name": "call"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 6,
              "name": "ignore"
            },
            {
              "title": "param",
              "description": "The ID of the call to ignore.",
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "callId"
            }
          ],
          "loc": {
            "start": {
              "line": 388,
              "column": 4
            },
            "end": {
              "line": 396,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 397,
                "column": 4
              },
              "end": {
                "line": 400,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "callId",
              "lineNumber": 7,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The ID of the call to ignore."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "Calls",
          "kind": "function",
          "name": "ignore",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "Calls",
              "kind": "namespace"
            },
            {
              "name": "ignore",
              "kind": "function"
            }
          ],
          "namespace": "Callsignore"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Reject an incoming call."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "Calls",
              "lineNumber": 4
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 5,
              "name": "call"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 6,
              "name": "reject"
            },
            {
              "title": "param",
              "description": "The ID of the call to reject.",
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "callId"
            }
          ],
          "loc": {
            "start": {
              "line": 402,
              "column": 4
            },
            "end": {
              "line": 410,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 411,
                "column": 4
              },
              "end": {
                "line": 414,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "callId",
              "lineNumber": 7,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The ID of the call to reject."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "Calls",
          "kind": "function",
          "name": "reject",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "Calls",
              "kind": "namespace"
            },
            {
              "name": "reject",
              "kind": "function"
            }
          ],
          "namespace": "Callsreject"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "End an on-going call."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "Calls",
              "lineNumber": 4
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 5,
              "name": "call"
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 6,
              "name": "callMe"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 7,
              "name": "end"
            },
            {
              "title": "param",
              "description": "Id of the call to end.",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "callId"
            }
          ],
          "loc": {
            "start": {
              "line": 416,
              "column": 4
            },
            "end": {
              "line": 425,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 426,
                "column": 4
              },
              "end": {
                "line": 429,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "callId",
              "lineNumber": 8,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Id of the call to end."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "Calls",
          "kind": "function",
          "name": "end",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "Calls",
              "kind": "namespace"
            },
            {
              "name": "end",
              "kind": "function"
            }
          ],
          "namespace": "Callsend"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Mute the local audio stream on an ongoing call."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "Calls",
              "lineNumber": 4
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 5,
              "name": "call"
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 6,
              "name": "callMe"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 7,
              "name": "mute"
            },
            {
              "title": "param",
              "description": "The ID of the call being acted on.",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "callId"
            }
          ],
          "loc": {
            "start": {
              "line": 435,
              "column": 4
            },
            "end": {
              "line": 444,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 445,
                "column": 4
              },
              "end": {
                "line": 448,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "callId",
              "lineNumber": 8,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The ID of the call being acted on."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "Calls",
          "kind": "function",
          "name": "mute",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "Calls",
              "kind": "namespace"
            },
            {
              "name": "mute",
              "kind": "function"
            }
          ],
          "namespace": "Callsmute"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Unmute the local audio stream on an ongoing call."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "Calls",
              "lineNumber": 4
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 5,
              "name": "call"
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 6,
              "name": "callMe"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 7,
              "name": "unmute"
            },
            {
              "title": "param",
              "description": "The ID of the call being acted on.",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "callId"
            }
          ],
          "loc": {
            "start": {
              "line": 450,
              "column": 4
            },
            "end": {
              "line": 459,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 460,
                "column": 4
              },
              "end": {
                "line": 463,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "callId",
              "lineNumber": 8,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The ID of the call being acted on."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "Calls",
          "kind": "function",
          "name": "unmute",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "Calls",
              "kind": "namespace"
            },
            {
              "name": "unmute",
              "kind": "function"
            }
          ],
          "namespace": "Callsunmute"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Silence the remote audio on an ongoing call."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "Calls",
              "lineNumber": 4
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 5,
              "name": "call"
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 6,
              "name": "callMe"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 7,
              "name": "silence"
            },
            {
              "title": "param",
              "description": "The ID of the call being acted on.",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "callId"
            }
          ],
          "loc": {
            "start": {
              "line": 465,
              "column": 4
            },
            "end": {
              "line": 474,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 475,
                "column": 4
              },
              "end": {
                "line": 478,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "callId",
              "lineNumber": 8,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The ID of the call being acted on."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "Calls",
          "kind": "function",
          "name": "silence",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "Calls",
              "kind": "namespace"
            },
            {
              "name": "silence",
              "kind": "function"
            }
          ],
          "namespace": "Callssilence"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Un-silence the remote audio on an ongoing call."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "Calls",
              "lineNumber": 4
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 5,
              "name": "call"
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 6,
              "name": "callMe"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 7,
              "name": "unsilence"
            },
            {
              "title": "param",
              "description": "The ID of the call being acted on.",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "callId"
            }
          ],
          "loc": {
            "start": {
              "line": 480,
              "column": 4
            },
            "end": {
              "line": 489,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 490,
                "column": 4
              },
              "end": {
                "line": 493,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "callId",
              "lineNumber": 8,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The ID of the call being acted on."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "Calls",
          "kind": "function",
          "name": "unsilence",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "Calls",
              "kind": "namespace"
            },
            {
              "name": "unsilence",
              "kind": "function"
            }
          ],
          "namespace": "Callsunsilence"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Retrieves a call's customParameters."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "Calls",
              "lineNumber": 4
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 5,
              "name": "call"
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 6,
              "name": "callMe"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 7,
              "name": "getCustomParameters"
            },
            {
              "title": "param",
              "description": "The ID of the call to retrieve custom parameters.",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "callId"
            },
            {
              "title": "return",
              "description": "Custom parameters of the call.",
              "lineNumber": 9,
              "type": {
                "type": "TypeApplication",
                "expression": {
                  "type": "NameExpression",
                  "name": "Array"
                },
                "applications": [
                  {
                    "type": "RecordType",
                    "fields": [
                      {
                        "type": "FieldType",
                        "key": "name",
                        "value": {
                          "type": "NameExpression",
                          "name": "string"
                        }
                      },
                      {
                        "type": "FieldType",
                        "key": "value",
                        "value": {
                          "type": "NameExpression",
                          "name": "string"
                        }
                      }
                    ]
                  }
                ]
              }
            }
          ],
          "loc": {
            "start": {
              "line": 495,
              "column": 4
            },
            "end": {
              "line": 505,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 506,
                "column": 4
              },
              "end": {
                "line": 509,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "callId",
              "lineNumber": 8,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The ID of the call to retrieve custom parameters."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "properties": [],
          "returns": [
            {
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Custom parameters of the call."
                      }
                    ]
                  }
                ]
              },
              "title": "returns",
              "type": {
                "type": "TypeApplication",
                "expression": {
                  "type": "NameExpression",
                  "name": "Array"
                },
                "applications": [
                  {
                    "type": "RecordType",
                    "fields": [
                      {
                        "type": "FieldType",
                        "key": "name",
                        "value": {
                          "type": "NameExpression",
                          "name": "string"
                        }
                      },
                      {
                        "type": "FieldType",
                        "key": "value",
                        "value": {
                          "type": "NameExpression",
                          "name": "string"
                        }
                      }
                    ]
                  }
                ]
              }
            }
          ],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "Calls",
          "kind": "function",
          "name": "getCustomParameters",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "Calls",
              "kind": "namespace"
            },
            {
              "name": "getCustomParameters",
              "kind": "function"
            }
          ],
          "namespace": "CallsgetCustomParameters"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Set custom parameters on an ongoing call."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "Calls",
              "lineNumber": 4
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 5,
              "name": "call"
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 6,
              "name": "callMe"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 7,
              "name": "setCustomParameters"
            },
            {
              "title": "param",
              "description": "The ID of the call being acted on.",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "callId"
            },
            {
              "title": "param",
              "description": "Custom parameters for the call.",
              "lineNumber": 9,
              "type": {
                "type": "TypeApplication",
                "expression": {
                  "type": "NameExpression",
                  "name": "Array"
                },
                "applications": [
                  {
                    "type": "RecordType",
                    "fields": [
                      {
                        "type": "FieldType",
                        "key": "name",
                        "value": {
                          "type": "NameExpression",
                          "name": "string"
                        }
                      },
                      {
                        "type": "FieldType",
                        "key": "value",
                        "value": {
                          "type": "NameExpression",
                          "name": "string"
                        }
                      }
                    ]
                  }
                ]
              },
              "name": "customParameters"
            },
            {
              "title": "example",
              "description": "// Set custom parameters for call.\nclient.call.setCustomParameters(\n   callId,\n   [\n     { \"name\": \"X-GPS\",\n       \"value\": \"42.686032,23.344565\"\n     }\n   ]\n});",
              "lineNumber": 10
            }
          ],
          "loc": {
            "start": {
              "line": 511,
              "column": 4
            },
            "end": {
              "line": 531,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 532,
                "column": 4
              },
              "end": {
                "line": 535,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/api.js"
          },
          "augments": [],
          "examples": [
            {
              "description": "// Set custom parameters for call.\nclient.call.setCustomParameters(\n   callId,\n   [\n     { \"name\": \"X-GPS\",\n       \"value\": \"42.686032,23.344565\"\n     }\n   ]\n});"
            }
          ],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "callId",
              "lineNumber": 8,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The ID of the call being acted on."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "param",
              "name": "customParameters",
              "lineNumber": 9,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Custom parameters for the call."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "TypeApplication",
                "expression": {
                  "type": "NameExpression",
                  "name": "Array"
                },
                "applications": [
                  {
                    "type": "RecordType",
                    "fields": [
                      {
                        "type": "FieldType",
                        "key": "name",
                        "value": {
                          "type": "NameExpression",
                          "name": "string"
                        }
                      },
                      {
                        "type": "FieldType",
                        "key": "value",
                        "value": {
                          "type": "NameExpression",
                          "name": "string"
                        }
                      }
                    ]
                  }
                ]
              }
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "Calls",
          "kind": "function",
          "name": "setCustomParameters",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "Calls",
              "kind": "namespace"
            },
            {
              "name": "setCustomParameters",
              "kind": "function"
            }
          ],
          "namespace": "CallssetCustomParameters"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Start local video stream for an ongoing call."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "Calls",
              "lineNumber": 4
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 5,
              "name": "call"
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 6,
              "name": "callMe"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 7,
              "name": "startVideo"
            },
            {
              "title": "param",
              "description": "Id of the call being acted on.",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "callId"
            },
            {
              "title": "param",
              "description": "Options for the video stream.",
              "lineNumber": 9,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "Object"
                }
              },
              "name": "options"
            },
            {
              "title": "param",
              "description": "The video resolution configuration object.",
              "lineNumber": 10,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "Object"
                }
              },
              "name": "options.videoResolution"
            },
            {
              "title": "param",
              "description": "The height of the outgoing video in pixels.",
              "lineNumber": 11,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "number"
                }
              },
              "name": "options.videoResolution.height"
            },
            {
              "title": "param",
              "description": "The width of the outgoing video in pixels.",
              "lineNumber": 12,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "number"
                }
              },
              "name": "options.videoResolution.width"
            }
          ],
          "loc": {
            "start": {
              "line": 537,
              "column": 4
            },
            "end": {
              "line": 550,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 551,
                "column": 4
              },
              "end": {
                "line": 554,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "callId",
              "lineNumber": 8,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Id of the call being acted on."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "param",
              "name": "options",
              "lineNumber": 9,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Options for the video stream."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "Object"
                }
              },
              "properties": [
                {
                  "title": "param",
                  "name": "options.videoResolution",
                  "lineNumber": 10,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The video resolution configuration object."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "Object"
                    }
                  },
                  "properties": [
                    {
                      "title": "param",
                      "name": "options.videoResolution.height",
                      "lineNumber": 11,
                      "description": {
                        "type": "root",
                        "children": [
                          {
                            "type": "paragraph",
                            "children": [
                              {
                                "type": "text",
                                "value": "The height of the outgoing video in pixels."
                              }
                            ]
                          }
                        ]
                      },
                      "type": {
                        "type": "OptionalType",
                        "expression": {
                          "type": "NameExpression",
                          "name": "number"
                        }
                      }
                    },
                    {
                      "title": "param",
                      "name": "options.videoResolution.width",
                      "lineNumber": 12,
                      "description": {
                        "type": "root",
                        "children": [
                          {
                            "type": "paragraph",
                            "children": [
                              {
                                "type": "text",
                                "value": "The width of the outgoing video in pixels."
                              }
                            ]
                          }
                        ]
                      },
                      "type": {
                        "type": "OptionalType",
                        "expression": {
                          "type": "NameExpression",
                          "name": "number"
                        }
                      }
                    }
                  ]
                }
              ]
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "Calls",
          "kind": "function",
          "name": "startVideo",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "Calls",
              "kind": "namespace"
            },
            {
              "name": "startVideo",
              "kind": "function"
            }
          ],
          "namespace": "CallsstartVideo"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Stop local video for an ongoing call."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "Calls",
              "lineNumber": 4
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 5,
              "name": "call"
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 6,
              "name": "callMe"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 7,
              "name": "stopVideo"
            },
            {
              "title": "param",
              "description": "Id of the call being acted on.",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "callId"
            }
          ],
          "loc": {
            "start": {
              "line": 556,
              "column": 4
            },
            "end": {
              "line": 565,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 566,
                "column": 4
              },
              "end": {
                "line": 569,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "callId",
              "lineNumber": 8,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Id of the call being acted on."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "Calls",
          "kind": "function",
          "name": "stopVideo",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "Calls",
              "kind": "namespace"
            },
            {
              "name": "stopVideo",
              "kind": "function"
            }
          ],
          "namespace": "CallsstopVideo"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Put an ongoing call on hold."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "Calls",
              "lineNumber": 4
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 5,
              "name": "call"
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 6,
              "name": "callMe"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 7,
              "name": "hold"
            },
            {
              "title": "param",
              "description": "Id of the call being acted on.",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "callId"
            }
          ],
          "loc": {
            "start": {
              "line": 571,
              "column": 4
            },
            "end": {
              "line": 580,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 581,
                "column": 4
              },
              "end": {
                "line": 584,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "callId",
              "lineNumber": 8,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Id of the call being acted on."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "Calls",
          "kind": "function",
          "name": "hold",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "Calls",
              "kind": "namespace"
            },
            {
              "name": "hold",
              "kind": "function"
            }
          ],
          "namespace": "Callshold"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Return a held call to ongoing."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "Calls",
              "lineNumber": 4
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 5,
              "name": "call"
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 6,
              "name": "callMe"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 7,
              "name": "unhold"
            },
            {
              "title": "param",
              "description": "Id of the call being acted on.",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "callId"
            }
          ],
          "loc": {
            "start": {
              "line": 586,
              "column": 4
            },
            "end": {
              "line": 595,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 596,
                "column": 4
              },
              "end": {
                "line": 599,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "callId",
              "lineNumber": 8,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Id of the call being acted on."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "Calls",
          "kind": "function",
          "name": "unhold",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "Calls",
              "kind": "namespace"
            },
            {
              "name": "unhold",
              "kind": "function"
            }
          ],
          "namespace": "Callsunhold"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Starts sharing a screen over a call."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "Calls",
              "lineNumber": 4
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 5,
              "name": "call"
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 6,
              "name": "callMe"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 7,
              "name": "startScreenshare"
            },
            {
              "title": "param",
              "description": "Id of the call being acted on.",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "callId"
            },
            {
              "title": "param",
              "description": null,
              "lineNumber": 9,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "options"
            },
            {
              "title": "param",
              "description": "Id of the media screen to share.",
              "lineNumber": 10,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "options.mediaSourceId"
            },
            {
              "title": "param",
              "description": "The height of the video stream to send.",
              "lineNumber": 11,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "Number"
                }
              },
              "name": "options.height",
              "default": "768"
            },
            {
              "title": "param",
              "description": "The width of the video stream to send.",
              "lineNumber": 12,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "Number"
                }
              },
              "name": "options.width",
              "default": "1024"
            },
            {
              "title": "param",
              "description": "The number of frames per second to request.",
              "lineNumber": 13,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "Number"
                }
              },
              "name": "options.frameRate",
              "default": "15"
            }
          ],
          "loc": {
            "start": {
              "line": 601,
              "column": 4
            },
            "end": {
              "line": 615,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 616,
                "column": 4
              },
              "end": {
                "line": 619,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "callId",
              "lineNumber": 8,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Id of the call being acted on."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "param",
              "name": "options",
              "lineNumber": 9,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "properties": [
                {
                  "title": "param",
                  "name": "options.mediaSourceId",
                  "lineNumber": 10,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Id of the media screen to share."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "string"
                  }
                },
                {
                  "title": "param",
                  "name": "options.height",
                  "lineNumber": 11,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The height of the video stream to send."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "Number"
                  },
                  "default": "768"
                },
                {
                  "title": "param",
                  "name": "options.width",
                  "lineNumber": 12,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The width of the video stream to send."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "Number"
                  },
                  "default": "1024"
                },
                {
                  "title": "param",
                  "name": "options.frameRate",
                  "lineNumber": 13,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The number of frames per second to request."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "Number"
                  },
                  "default": "15"
                }
              ]
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "Calls",
          "kind": "function",
          "name": "startScreenshare",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "Calls",
              "kind": "namespace"
            },
            {
              "name": "startScreenshare",
              "kind": "function"
            }
          ],
          "namespace": "CallsstartScreenshare"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Stops sharing a screen over a call."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "Calls",
              "lineNumber": 4
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 5,
              "name": "call"
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 6,
              "name": "callMe"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 7,
              "name": "stopScreenshare"
            },
            {
              "title": "param",
              "description": "Id of the call being acted on.",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "callId"
            }
          ],
          "loc": {
            "start": {
              "line": 621,
              "column": 4
            },
            "end": {
              "line": 630,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 631,
                "column": 4
              },
              "end": {
                "line": 634,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "callId",
              "lineNumber": 8,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Id of the call being acted on."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "Calls",
          "kind": "function",
          "name": "stopScreenshare",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "Calls",
              "kind": "namespace"
            },
            {
              "name": "stopScreenshare",
              "kind": "function"
            }
          ],
          "namespace": "CallsstopScreenshare"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Send a DTMF tone over a call."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "Calls",
              "lineNumber": 4
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 5,
              "name": "call"
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 6,
              "name": "callMe"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 7,
              "name": "sendDTMF"
            },
            {
              "title": "param",
              "description": "Id of the call being acted on.",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "callId"
            },
            {
              "title": "param",
              "description": "DTMF tone to send. Valid values are [0,1,2,3,4,5,6,7,8,9,#].",
              "lineNumber": 9,
              "type": {
                "type": "NameExpression",
                "name": "number"
              },
              "name": "tone"
            }
          ],
          "loc": {
            "start": {
              "line": 636,
              "column": 4
            },
            "end": {
              "line": 647,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 648,
                "column": 4
              },
              "end": {
                "line": 651,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "callId",
              "lineNumber": 8,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Id of the call being acted on."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "param",
              "name": "tone",
              "lineNumber": 9,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "DTMF tone to send. Valid values are [0,1,2,3,4,5,6,7,8,9,#]."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "number"
              }
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "Calls",
          "kind": "function",
          "name": "sendDTMF",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "Calls",
              "kind": "namespace"
            },
            {
              "name": "sendDTMF",
              "kind": "function"
            }
          ],
          "namespace": "CallssendDTMF"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Explicitly send the current custom parameters for a call."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "Calls",
              "lineNumber": 4
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 5,
              "name": "call"
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 6,
              "name": "callMe"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 7,
              "name": "sendCustomParameters"
            },
            {
              "title": "param",
              "description": "Id of the call being acted on.",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "callId"
            }
          ],
          "loc": {
            "start": {
              "line": 653,
              "column": 4
            },
            "end": {
              "line": 662,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 663,
                "column": 4
              },
              "end": {
                "line": 666,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "callId",
              "lineNumber": 8,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Id of the call being acted on."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "Calls",
          "kind": "function",
          "name": "sendCustomParameters",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "Calls",
              "kind": "namespace"
            },
            {
              "name": "sendCustomParameters",
              "kind": "function"
            }
          ],
          "namespace": "CallssendCustomParameters"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Forward an incoming call to another user."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "Calls",
              "lineNumber": 4
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 5,
              "name": "call"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 6,
              "name": "forwardCall"
            },
            {
              "title": "param",
              "description": "Id of the call being acted on.",
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "callId"
            },
            {
              "title": "param",
              "description": "The user to forward the call to.",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "destination"
            }
          ],
          "loc": {
            "start": {
              "line": 668,
              "column": 4
            },
            "end": {
              "line": 677,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 678,
                "column": 4
              },
              "end": {
                "line": 681,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "callId",
              "lineNumber": 7,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Id of the call being acted on."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "param",
              "name": "destination",
              "lineNumber": 8,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The user to forward the call to."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "Calls",
          "kind": "function",
          "name": "forwardCall",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "Calls",
              "kind": "namespace"
            },
            {
              "name": "forwardCall",
              "kind": "function"
            }
          ],
          "namespace": "CallsforwardCall"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Transfer a call to another user."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "Calls",
              "lineNumber": 4
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 5,
              "name": "call"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 6,
              "name": "directTransfer"
            },
            {
              "title": "param",
              "description": "Id of the call being acted on.",
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "callId"
            },
            {
              "title": "param",
              "description": "The user to transfer the call to.",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "destination"
            }
          ],
          "loc": {
            "start": {
              "line": 683,
              "column": 4
            },
            "end": {
              "line": 692,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 693,
                "column": 4
              },
              "end": {
                "line": 696,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "callId",
              "lineNumber": 7,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Id of the call being acted on."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "param",
              "name": "destination",
              "lineNumber": 8,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The user to transfer the call to."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "Calls",
          "kind": "function",
          "name": "directTransfer",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "Calls",
              "kind": "namespace"
            },
            {
              "name": "directTransfer",
              "kind": "function"
            }
          ],
          "namespace": "CallsdirectTransfer"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Transfer a call to another user."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "Calls",
              "lineNumber": 4
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 5,
              "name": "call"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 6,
              "name": "consultativeTransfer"
            },
            {
              "title": "param",
              "description": "Id of the call being acted on.",
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "callId"
            },
            {
              "title": "param",
              "description": "The callId to transfer the call to.",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "destinationCallId"
            }
          ],
          "loc": {
            "start": {
              "line": 698,
              "column": 4
            },
            "end": {
              "line": 707,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 708,
                "column": 4
              },
              "end": {
                "line": 711,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "callId",
              "lineNumber": 7,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Id of the call being acted on."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "param",
              "name": "destinationCallId",
              "lineNumber": 8,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The callId to transfer the call to."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "Calls",
          "kind": "function",
          "name": "consultativeTransfer",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "Calls",
              "kind": "namespace"
            },
            {
              "name": "consultativeTransfer",
              "kind": "function"
            }
          ],
          "namespace": "CallsconsultativeTransfer"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Join two calls (both must be on hold and audio only). The joined call can be referenced via callId."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "Calls",
              "lineNumber": 4
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 5,
              "name": "call"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 6,
              "name": "join"
            },
            {
              "title": "param",
              "description": "Id of the call being acted on.",
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "callId"
            },
            {
              "title": "param",
              "description": "The callId to join the call with.",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "destinationCallId"
            }
          ],
          "loc": {
            "start": {
              "line": 713,
              "column": 4
            },
            "end": {
              "line": 722,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 723,
                "column": 4
              },
              "end": {
                "line": 726,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "callId",
              "lineNumber": 7,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Id of the call being acted on."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "param",
              "name": "destinationCallId",
              "lineNumber": 8,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The callId to join the call with."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "Calls",
          "kind": "function",
          "name": "join",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "Calls",
              "kind": "namespace"
            },
            {
              "name": "join",
              "kind": "function"
            }
          ],
          "namespace": "Callsjoin"
        }
      ]
    },
    "path": [
      {
        "name": "Calls",
        "kind": "namespace"
      }
    ],
    "namespace": "Calls"
  },
  {
    "description": {
      "type": "root",
      "children": [
        {
          "type": "paragraph",
          "children": [
            {
              "type": "text",
              "value": "The clickToCall namespace is used to bridge a call between two specified devices"
            }
          ]
        }
      ]
    },
    "tags": [
      {
        "title": "public",
        "description": null,
        "lineNumber": 3,
        "type": null
      },
      {
        "title": "namespace",
        "description": null,
        "lineNumber": 4,
        "type": null,
        "name": "clickToCall"
      },
      {
        "title": "requires",
        "description": null,
        "lineNumber": 5,
        "name": "clickToCall"
      }
    ],
    "loc": {
      "start": {
        "line": 1,
        "column": 0
      },
      "end": {
        "line": 7,
        "column": 3
      }
    },
    "context": {
      "loc": {
        "start": {
          "line": 8,
          "column": 0
        },
        "end": {
          "line": 8,
          "column": 36
        }
      },
      "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/clickToCall/interface/api.js"
    },
    "augments": [],
    "examples": [],
    "implements": [],
    "params": [],
    "properties": [],
    "returns": [],
    "sees": [],
    "throws": [],
    "todos": [],
    "yields": [],
    "access": "public",
    "kind": "namespace",
    "name": "clickToCall",
    "members": {
      "global": [],
      "inner": [],
      "instance": [],
      "events": [
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "ClickToCall has successfully started."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "clickToCall",
              "lineNumber": 4
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 5,
              "name": "clickToCall"
            },
            {
              "title": "event",
              "description": "clickToCall:start",
              "lineNumber": 6
            },
            {
              "title": "param",
              "description": null,
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "params"
            },
            {
              "title": "param",
              "description": "A unique id representing the call made",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "params.callId"
            }
          ],
          "loc": {
            "start": {
              "line": 1,
              "column": 0
            },
            "end": {
              "line": 10,
              "column": 3
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 11,
                "column": 0
              },
              "end": {
                "line": 11,
                "column": 56
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/clickToCall/interface/eventTypes.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "params",
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "properties": [
                {
                  "title": "param",
                  "name": "params.callId",
                  "lineNumber": 8,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "A unique id representing the call made"
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "string"
                  }
                }
              ]
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "clickToCall",
          "kind": "event",
          "name": "clickToCall:start",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "clickToCall",
              "kind": "namespace"
            },
            {
              "name": "clickToCall:start",
              "kind": "event"
            }
          ],
          "namespace": "clickToCall.event:clickToCall:start"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "ClickToCall had an error."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "clickToCall",
              "lineNumber": 4
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 5,
              "name": "clickToCall"
            },
            {
              "title": "event",
              "description": "clickToCall:error",
              "lineNumber": 6
            },
            {
              "title": "param",
              "description": null,
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "params"
            },
            {
              "title": "param",
              "description": "A unique id representing the call made",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "params.callId"
            },
            {
              "title": "param",
              "description": "The Basic error object.",
              "lineNumber": 9,
              "type": {
                "type": "NameExpression",
                "name": "api.BasicError"
              },
              "name": "params.error"
            }
          ],
          "loc": {
            "start": {
              "line": 13,
              "column": 0
            },
            "end": {
              "line": 24,
              "column": 3
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 25,
                "column": 0
              },
              "end": {
                "line": 25,
                "column": 54
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/clickToCall/interface/eventTypes.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "params",
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "properties": [
                {
                  "title": "param",
                  "name": "params.callId",
                  "lineNumber": 8,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "A unique id representing the call made"
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "string"
                  }
                },
                {
                  "title": "param",
                  "name": "params.error",
                  "lineNumber": 9,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The Basic error object."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "api.BasicError"
                  }
                }
              ]
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "clickToCall",
          "kind": "event",
          "name": "clickToCall:error",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "clickToCall",
              "kind": "namespace"
            },
            {
              "name": "clickToCall:error",
              "kind": "event"
            }
          ],
          "namespace": "clickToCall.event:clickToCall:error"
        }
      ],
      "static": [
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Attempts to establish a call between two specified devices"
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "clickToCall",
              "lineNumber": 4
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 5,
              "name": "make"
            },
            {
              "title": "param",
              "description": "A string representing the person making the call",
              "lineNumber": 6,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "caller"
            },
            {
              "title": "param",
              "description": "A string representing the person receiving the call",
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "callee"
            },
            {
              "title": "returns",
              "description": "callId A unique id representing the call",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "loc": {
            "start": {
              "line": 19,
              "column": 4
            },
            "end": {
              "line": 28,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 29,
                "column": 4
              },
              "end": {
                "line": 34,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/clickToCall/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "caller",
              "lineNumber": 6,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "A string representing the person making the call"
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "param",
              "name": "callee",
              "lineNumber": 7,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "A string representing the person receiving the call"
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "properties": [],
          "returns": [
            {
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "callId A unique id representing the call"
                      }
                    ]
                  }
                ]
              },
              "title": "returns",
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "clickToCall",
          "kind": "function",
          "name": "make",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "clickToCall",
              "kind": "namespace"
            },
            {
              "name": "make",
              "kind": "function"
            }
          ],
          "namespace": "clickToCallmake"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Gets all local clickToCall calls"
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "clickToCall",
              "lineNumber": 4
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 5,
              "name": "clickToCall"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 6,
              "name": "get"
            },
            {
              "title": "returns",
              "description": "A list of clickToCall records, ordered by earliest requestTime",
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "Array"
              }
            }
          ],
          "loc": {
            "start": {
              "line": 35,
              "column": 4
            },
            "end": {
              "line": 43,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 44,
                "column": 4
              },
              "end": {
                "line": 47,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/clickToCall/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [],
          "properties": [],
          "returns": [
            {
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "A list of clickToCall records, ordered by earliest requestTime"
                      }
                    ]
                  }
                ]
              },
              "title": "returns",
              "type": {
                "type": "NameExpression",
                "name": "Array"
              }
            }
          ],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "clickToCall",
          "kind": "function",
          "name": "get",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "clickToCall",
              "kind": "namespace"
            },
            {
              "name": "get",
              "kind": "function"
            }
          ],
          "namespace": "clickToCallget"
        }
      ]
    },
    "path": [
      {
        "name": "clickToCall",
        "kind": "namespace"
      }
    ],
    "namespace": "clickToCall"
  },
  {
    "description": {
      "type": "root",
      "children": [
        {
          "type": "paragraph",
          "children": [
            {
              "type": "text",
              "value": "The 'connection' namespace is used to connect and maintain connections between\nthe SDK and one or more backend servers."
            }
          ]
        }
      ]
    },
    "tags": [
      {
        "title": "public",
        "description": null,
        "lineNumber": 4,
        "type": null
      },
      {
        "title": "namespace",
        "description": null,
        "lineNumber": 5,
        "type": null,
        "name": "connection"
      }
    ],
    "loc": {
      "start": {
        "line": 4,
        "column": 0
      },
      "end": {
        "line": 10,
        "column": 3
      }
    },
    "context": {
      "loc": {
        "start": {
          "line": 44,
          "column": 0
        },
        "end": {
          "line": 44,
          "column": 70
        }
      },
      "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/connectivity/interface/api.js"
    },
    "augments": [],
    "examples": [],
    "implements": [],
    "params": [],
    "properties": [],
    "returns": [],
    "sees": [],
    "throws": [],
    "todos": [],
    "yields": [],
    "access": "public",
    "kind": "namespace",
    "name": "connection",
    "members": {
      "global": [],
      "inner": [],
      "instance": [],
      "events": [
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "The websocket to the server has changed state."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "connection",
              "lineNumber": 4
            },
            {
              "title": "event",
              "description": "ws:change",
              "lineNumber": 5
            },
            {
              "title": "param",
              "description": null,
              "lineNumber": 6,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "params"
            },
            {
              "title": "param",
              "description": "The platform",
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "params.platform"
            }
          ],
          "loc": {
            "start": {
              "line": 1,
              "column": 0
            },
            "end": {
              "line": 9,
              "column": 3
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 10,
                "column": 0
              },
              "end": {
                "line": 10,
                "column": 36
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/connectivity/interface/eventTypes.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "params",
              "lineNumber": 6,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "properties": [
                {
                  "title": "param",
                  "name": "params.platform",
                  "lineNumber": 7,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The platform"
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "string"
                  }
                }
              ]
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "connection",
          "kind": "event",
          "name": "ws:change",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "connection",
              "kind": "namespace"
            },
            {
              "name": "ws:change",
              "kind": "event"
            }
          ],
          "namespace": "connection.event:ws:change"
        }
      ],
      "static": [
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Information about a websocket connection."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Can be retrieved using the "
                  },
                  {
                    "type": "link",
                    "url": "#connectiongetsocketstate",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "connection.getSocketState"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " API."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 5,
              "type": null
            },
            {
              "title": "static",
              "description": null,
              "lineNumber": 6
            },
            {
              "title": "typedef",
              "description": null,
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "WSConnectionObject"
            },
            {
              "title": "memberof",
              "description": "connection",
              "lineNumber": 8
            },
            {
              "title": "property",
              "description": "The state of the websocket connection.",
              "lineNumber": 9,
              "type": {
                "type": "NameExpression",
                "name": "boolean"
              },
              "name": "connected"
            },
            {
              "title": "property",
              "description": "True if the client has sent a ping to the server and is still waiting for a pong response.",
              "lineNumber": 10,
              "type": {
                "type": "NameExpression",
                "name": "boolean"
              },
              "name": "pinging"
            },
            {
              "title": "property",
              "description": "Information about how the websocket is being used.",
              "lineNumber": 11,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "method"
            },
            {
              "title": "property",
              "description": "How the websocket is staying connected.",
              "lineNumber": 12,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "method.type"
            },
            {
              "title": "property",
              "description": "Who is responsible for keeping the connection alive.",
              "lineNumber": 13,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "method.responsibleParty"
            },
            {
              "title": "property",
              "description": "The SDK platform being used.",
              "lineNumber": 14,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "platform"
            },
            {
              "title": "property",
              "description": "How often the client will ping the server to test for websocket connectivity.",
              "lineNumber": 15,
              "type": {
                "type": "NameExpression",
                "name": "number"
              },
              "name": "pingInterval"
            },
            {
              "title": "property",
              "description": "How many times the SDK will try to reconnect a disconnected websocket.",
              "lineNumber": 16,
              "type": {
                "type": "NameExpression",
                "name": "number"
              },
              "name": "reconnectLimit"
            },
            {
              "title": "property",
              "description": "How long the SDK will wait before retrying websocket reconnection.",
              "lineNumber": 17,
              "type": {
                "type": "NameExpression",
                "name": "number"
              },
              "name": "reconnectDelay"
            },
            {
              "title": "property",
              "description": "Reconnect delay multiplier for subsequent attempts. The reconnect delay time will be multiplied by this after each failed reconnect attempt to increase the delay between attempts. eg. 5000ms then 10000ms then 20000ms delay if value is 2.",
              "lineNumber": 18,
              "type": {
                "type": "NameExpression",
                "name": "number"
              },
              "name": "reconnectTimeMultiplier"
            },
            {
              "title": "property",
              "description": "Maximum time delay between reconnect attempts (milliseconds). Used in conjunction with `reconnectTimeMultiplier` to prevent overly long delays between reconnection attempts.",
              "lineNumber": 19,
              "type": {
                "type": "NameExpression",
                "name": "number"
              },
              "name": "reconnectTimeLimit"
            },
            {
              "title": "property",
              "description": "Indicates if the SDK should automatically try reconnecting a disconnected websocket.",
              "lineNumber": 20,
              "type": {
                "type": "NameExpression",
                "name": "boolean"
              },
              "name": "autoReconnect"
            },
            {
              "title": "property",
              "description": "How many missed pings before the SDK stops trying to reconnect a disconnected websocket.",
              "lineNumber": 21,
              "type": {
                "type": "NameExpression",
                "name": "number"
              },
              "name": "maxMissedPings"
            },
            {
              "title": "property",
              "description": "The mode used for authenticating with the server.",
              "lineNumber": 22,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "webSocketOAuthMode"
            },
            {
              "title": "property",
              "description": "Information required to connect a websocket to the server.",
              "lineNumber": 23,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "wsInfo"
            },
            {
              "title": "property",
              "description": "The protocol to use to connect a websocket.",
              "lineNumber": 24,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "wsInfo.protocol"
            },
            {
              "title": "property",
              "description": "The domain name or IP address of the server to connect to.",
              "lineNumber": 25,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "wsInfo.server"
            },
            {
              "title": "property",
              "description": "The port of the server to connect to.",
              "lineNumber": 26,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "number"
                }
              },
              "name": "wsInfo.port"
            },
            {
              "title": "property",
              "description": "The URL path to use to request a websocket connection.",
              "lineNumber": 27,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "wsInfo.url"
            },
            {
              "title": "property",
              "description": "Any additional params that might be required by the server to establish the websocket connection.",
              "lineNumber": 28,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "wsInfo.params"
            },
            {
              "title": "property",
              "description": "The date and time that the last known contact with the server was.",
              "lineNumber": 29,
              "type": {
                "type": "NameExpression",
                "name": "number"
              },
              "name": "lastContact"
            }
          ],
          "loc": {
            "start": {
              "line": 12,
              "column": 0
            },
            "end": {
              "line": 42,
              "column": 3
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 44,
                "column": 0
              },
              "end": {
                "line": 44,
                "column": 70
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/connectivity/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [],
          "properties": [
            {
              "title": "property",
              "name": "connected",
              "lineNumber": 9,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The state of the websocket connection."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "boolean"
              }
            },
            {
              "title": "property",
              "name": "pinging",
              "lineNumber": 10,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "True if the client has sent a ping to the server and is still waiting for a pong response."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "boolean"
              }
            },
            {
              "title": "property",
              "name": "method",
              "lineNumber": 11,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Information about how the websocket is being used."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "properties": [
                {
                  "title": "property",
                  "name": "method.type",
                  "lineNumber": 12,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "How the websocket is staying connected."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  }
                },
                {
                  "title": "property",
                  "name": "method.responsibleParty",
                  "lineNumber": 13,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Who is responsible for keeping the connection alive."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  }
                }
              ]
            },
            {
              "title": "property",
              "name": "platform",
              "lineNumber": 14,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The SDK platform being used."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "property",
              "name": "pingInterval",
              "lineNumber": 15,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "How often the client will ping the server to test for websocket connectivity."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "number"
              }
            },
            {
              "title": "property",
              "name": "reconnectLimit",
              "lineNumber": 16,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "How many times the SDK will try to reconnect a disconnected websocket."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "number"
              }
            },
            {
              "title": "property",
              "name": "reconnectDelay",
              "lineNumber": 17,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "How long the SDK will wait before retrying websocket reconnection."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "number"
              }
            },
            {
              "title": "property",
              "name": "reconnectTimeMultiplier",
              "lineNumber": 18,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Reconnect delay multiplier for subsequent attempts. The reconnect delay time will be multiplied by this after each failed reconnect attempt to increase the delay between attempts. eg. 5000ms then 10000ms then 20000ms delay if value is 2."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "number"
              }
            },
            {
              "title": "property",
              "name": "reconnectTimeLimit",
              "lineNumber": 19,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Maximum time delay between reconnect attempts (milliseconds). Used in conjunction with "
                      },
                      {
                        "type": "inlineCode",
                        "value": "reconnectTimeMultiplier"
                      },
                      {
                        "type": "text",
                        "value": " to prevent overly long delays between reconnection attempts."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "number"
              }
            },
            {
              "title": "property",
              "name": "autoReconnect",
              "lineNumber": 20,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Indicates if the SDK should automatically try reconnecting a disconnected websocket."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "boolean"
              }
            },
            {
              "title": "property",
              "name": "maxMissedPings",
              "lineNumber": 21,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "How many missed pings before the SDK stops trying to reconnect a disconnected websocket."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "number"
              }
            },
            {
              "title": "property",
              "name": "webSocketOAuthMode",
              "lineNumber": 22,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The mode used for authenticating with the server."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "property",
              "name": "wsInfo",
              "lineNumber": 23,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Information required to connect a websocket to the server."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "properties": [
                {
                  "title": "property",
                  "name": "wsInfo.protocol",
                  "lineNumber": 24,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The protocol to use to connect a websocket."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  }
                },
                {
                  "title": "property",
                  "name": "wsInfo.server",
                  "lineNumber": 25,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The domain name or IP address of the server to connect to."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  }
                },
                {
                  "title": "property",
                  "name": "wsInfo.port",
                  "lineNumber": 26,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The port of the server to connect to."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "number"
                    }
                  }
                },
                {
                  "title": "property",
                  "name": "wsInfo.url",
                  "lineNumber": 27,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The URL path to use to request a websocket connection."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  }
                },
                {
                  "title": "property",
                  "name": "wsInfo.params",
                  "lineNumber": 28,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Any additional params that might be required by the server to establish the websocket connection."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  }
                }
              ]
            },
            {
              "title": "property",
              "name": "lastContact",
              "lineNumber": 29,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The date and time that the last known contact with the server was."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "number"
              }
            }
          ],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "scope": "static",
          "kind": "typedef",
          "name": "WSConnectionObject",
          "type": {
            "type": "NameExpression",
            "name": "Object"
          },
          "memberof": "connection",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "connection",
              "kind": "namespace"
            },
            {
              "name": "WSConnectionObject",
              "kind": "typedef",
              "scope": "static"
            }
          ],
          "namespace": "connection.WSConnectionObject"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Get the state of the websocket."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 2,
              "type": null
            },
            {
              "title": "static",
              "description": null,
              "lineNumber": 3
            },
            {
              "title": "memberof",
              "description": "connection",
              "lineNumber": 4
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 5,
              "name": "getSocketState"
            },
            {
              "title": "param",
              "description": "Backend platform for which to request the websocket's state.",
              "lineNumber": 6,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "platform",
              "default": "'link'"
            },
            {
              "title": "return",
              "description": "Details about the current websocket connection, including state and configuration.",
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "connection.WSConnectionObject"
              }
            }
          ],
          "loc": {
            "start": {
              "line": 56,
              "column": 4
            },
            "end": {
              "line": 64,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 65,
                "column": 4
              },
              "end": {
                "line": 68,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/connectivity/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "platform",
              "lineNumber": 6,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Backend platform for which to request the websocket's state."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "default": "'link'"
            }
          ],
          "properties": [],
          "returns": [
            {
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Details about the current websocket connection, including state and configuration."
                      }
                    ]
                  }
                ]
              },
              "title": "returns",
              "type": {
                "type": "NameExpression",
                "name": "connection.WSConnectionObject"
              }
            }
          ],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "scope": "static",
          "memberof": "connection",
          "kind": "function",
          "name": "getSocketState",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "connection",
              "kind": "namespace"
            },
            {
              "name": "getSocketState",
              "kind": "function",
              "scope": "static"
            }
          ],
          "namespace": "connection.getSocketState"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Enables or disables connectivity checking."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 2,
              "type": null
            },
            {
              "title": "memberof",
              "description": "connection",
              "lineNumber": 3
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 4,
              "name": "enableConnectivityChecking"
            },
            {
              "title": "param",
              "description": "Enable connectivity checking.",
              "lineNumber": 5,
              "type": {
                "type": "NameExpression",
                "name": "boolean"
              },
              "name": "enable"
            }
          ],
          "loc": {
            "start": {
              "line": 70,
              "column": 4
            },
            "end": {
              "line": 76,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 77,
                "column": 4
              },
              "end": {
                "line": 80,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/connectivity/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "enable",
              "lineNumber": 5,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Enable connectivity checking."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "boolean"
              }
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "connection",
          "kind": "function",
          "name": "enableConnectivityChecking",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "connection",
              "kind": "namespace"
            },
            {
              "name": "enableConnectivityChecking",
              "kind": "function"
            }
          ],
          "namespace": "connectionenableConnectivityChecking"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Triggers a reset in the connection to the WebSocket being used for notifications.\nThis can be used in scenarios where a network issue (undetectable by the SDK)\nis detected by an application."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "If there is no WebSocket currently connected, this function has no effect.\nCalling this function will trigger all the normal WebSocket and connectivity lifecycle\nevents as well as trigger re-connection processing that follows the configuration of the SDK.\nCalling this function always has the potential of causing some events being lost by the\nSDK and preventing proper operation."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 10,
              "type": null
            },
            {
              "title": "memberof",
              "description": "connection",
              "lineNumber": 11
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 12,
              "name": "resetConnection"
            }
          ],
          "loc": {
            "start": {
              "line": 82,
              "column": 4
            },
            "end": {
              "line": 95,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 96,
                "column": 4
              },
              "end": {
                "line": 109,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/connectivity/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "connection",
          "kind": "function",
          "name": "resetConnection",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "connection",
              "kind": "namespace"
            },
            {
              "name": "resetConnection",
              "kind": "function"
            }
          ],
          "namespace": "connectionresetConnection"
        }
      ]
    },
    "path": [
      {
        "name": "connection",
        "kind": "namespace"
      }
    ],
    "namespace": "connection"
  },
  {
    "description": {
      "type": "root",
      "children": [
        {
          "type": "paragraph",
          "children": [
            {
              "type": "text",
              "value": "The 'contacts' namespace allows users to store personal contacts to their account."
            }
          ]
        }
      ]
    },
    "tags": [
      {
        "title": "public",
        "description": null,
        "lineNumber": 3,
        "type": null
      },
      {
        "title": "namespace",
        "description": null,
        "lineNumber": 4,
        "type": null,
        "name": "contacts"
      }
    ],
    "loc": {
      "start": {
        "line": 10,
        "column": 2
      },
      "end": {
        "line": 15,
        "column": 5
      }
    },
    "context": {
      "loc": {
        "start": {
          "line": 17,
          "column": 2
        },
        "end": {
          "line": 195,
          "column": 3
        }
      },
      "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/users/interface/api/contacts.js"
    },
    "augments": [],
    "examples": [],
    "implements": [],
    "params": [],
    "properties": [],
    "returns": [],
    "sees": [],
    "throws": [],
    "todos": [],
    "yields": [],
    "access": "public",
    "kind": "namespace",
    "name": "contacts",
    "members": {
      "global": [],
      "inner": [],
      "instance": [],
      "events": [
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "A new contact has been added to the address book."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 2,
              "type": null
            },
            {
              "title": "memberof",
              "description": "contacts",
              "lineNumber": 3
            },
            {
              "title": "event",
              "description": "contacts:new",
              "lineNumber": 4
            },
            {
              "title": "param",
              "description": "The new contact.",
              "lineNumber": 5,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "contact"
            }
          ],
          "loc": {
            "start": {
              "line": 2,
              "column": 0
            },
            "end": {
              "line": 8,
              "column": 3
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 9,
                "column": 0
              },
              "end": {
                "line": 9,
                "column": 42
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/users/interface/events/eventTypes.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "contact",
              "lineNumber": 5,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The new contact."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "Object"
              }
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "contacts",
          "kind": "event",
          "name": "contacts:new",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "contacts",
              "kind": "namespace"
            },
            {
              "name": "contacts:new",
              "kind": "event"
            }
          ],
          "namespace": "contacts.event:contacts:new"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "An error occurred while performing a contact operation."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 2,
              "type": null
            },
            {
              "title": "memberof",
              "description": "contacts",
              "lineNumber": 3
            },
            {
              "title": "event",
              "description": "contacts:error",
              "lineNumber": 4
            },
            {
              "title": "param",
              "description": null,
              "lineNumber": 5,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "params"
            },
            {
              "title": "param",
              "description": "The Basic error object.",
              "lineNumber": 6,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "params.error"
            }
          ],
          "loc": {
            "start": {
              "line": 11,
              "column": 0
            },
            "end": {
              "line": 18,
              "column": 3
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 19,
                "column": 0
              },
              "end": {
                "line": 19,
                "column": 46
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/users/interface/events/eventTypes.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "params",
              "lineNumber": 5,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "properties": [
                {
                  "title": "param",
                  "name": "params.error",
                  "lineNumber": 6,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The Basic error object."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "Object"
                  }
                }
              ]
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "contacts",
          "kind": "event",
          "name": "contacts:error",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "contacts",
              "kind": "namespace"
            },
            {
              "name": "contacts:error",
              "kind": "event"
            }
          ],
          "namespace": "contacts.event:contacts:error"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "The contacts list has changed."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 2,
              "type": null
            },
            {
              "title": "memberof",
              "description": "contacts",
              "lineNumber": 3
            },
            {
              "title": "event",
              "description": "contacts:change",
              "lineNumber": 4
            },
            {
              "title": "example",
              "description": "client.on('contacts:change', function () {\n   // Get the updated list of contacts.\n   const contacts = client.contacts.getAll()\n   ...\n})",
              "lineNumber": 5
            }
          ],
          "loc": {
            "start": {
              "line": 21,
              "column": 0
            },
            "end": {
              "line": 32,
              "column": 3
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 33,
                "column": 0
              },
              "end": {
                "line": 33,
                "column": 48
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/users/interface/events/eventTypes.js"
          },
          "augments": [],
          "examples": [
            {
              "description": "client.on('contacts:change', function () {\n   // Get the updated list of contacts.\n   const contacts = client.contacts.getAll()\n   ...\n})"
            }
          ],
          "implements": [],
          "params": [],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "contacts",
          "kind": "event",
          "name": "contacts:change",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "contacts",
              "kind": "namespace"
            },
            {
              "name": "contacts:change",
              "kind": "event"
            }
          ],
          "namespace": "contacts.event:contacts:change"
        }
      ],
      "static": [
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Add a contact to a user's personal address book.\nWill trigger the "
                  },
                  {
                    "type": "inlineCode",
                    "value": "contacts:new"
                  },
                  {
                    "type": "text",
                    "value": " event."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 4,
              "type": null
            },
            {
              "title": "memberof",
              "description": "contacts",
              "lineNumber": 5
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 6,
              "name": "add"
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 7,
              "name": "addContactAsFriend"
            },
            {
              "title": "param",
              "description": "The contact object.",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "contact"
            },
            {
              "title": "param",
              "description": "The primary userId for the contact",
              "lineNumber": 9,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "contact.primaryContact"
            },
            {
              "title": "param",
              "description": "The contact's unique contact ID",
              "lineNumber": 10,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "contact.contactId"
            },
            {
              "title": "param",
              "description": "The contact's first name",
              "lineNumber": 11,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "contact.firstName"
            },
            {
              "title": "param",
              "description": "The contact's last name",
              "lineNumber": 12,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "contact.lastName"
            },
            {
              "title": "param",
              "description": "The URL address identifying location of user's picture",
              "lineNumber": 13,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "contact.photoUrl"
            },
            {
              "title": "param",
              "description": "The contact's email address",
              "lineNumber": 14,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "contact.emailAddress"
            },
            {
              "title": "param",
              "description": "The contact's home phone number",
              "lineNumber": 15,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "contact.homePhone"
            },
            {
              "title": "param",
              "description": "The contact's business phone number",
              "lineNumber": 16,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "contact.workPhone"
            },
            {
              "title": "param",
              "description": "The contact's mobile phone number",
              "lineNumber": 17,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "contact.mobilePhone"
            },
            {
              "title": "param",
              "description": "Conference URL and access code for this user's address book entry",
              "lineNumber": 18,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "contact.conferenceURL"
            },
            {
              "title": "param",
              "description": "The user's fax number",
              "lineNumber": 19,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "contact.fax"
            },
            {
              "title": "param",
              "description": "The user's pager number",
              "lineNumber": 20,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "contact.pager"
            },
            {
              "title": "param",
              "description": "The name of the contact list for which to add this contact to (\"friends\" by default)",
              "lineNumber": 21,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "contact.groupList"
            },
            {
              "title": "param",
              "description": "Indicates whether or not the contact is a friend of the user",
              "lineNumber": 22,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "boolean"
                }
              },
              "name": "contact.friendStatus"
            }
          ],
          "loc": {
            "start": {
              "line": 18,
              "column": 4
            },
            "end": {
              "line": 41,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 62,
                "column": 4
              },
              "end": {
                "line": 65,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/users/interface/api/contacts.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "contact",
              "lineNumber": 8,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The contact object."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "properties": [
                {
                  "title": "param",
                  "name": "contact.primaryContact",
                  "lineNumber": 9,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The primary userId for the contact"
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "string"
                  }
                },
                {
                  "title": "param",
                  "name": "contact.contactId",
                  "lineNumber": 10,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The contact's unique contact ID"
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "string"
                  }
                },
                {
                  "title": "param",
                  "name": "contact.firstName",
                  "lineNumber": 11,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The contact's first name"
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  }
                },
                {
                  "title": "param",
                  "name": "contact.lastName",
                  "lineNumber": 12,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The contact's last name"
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  }
                },
                {
                  "title": "param",
                  "name": "contact.photoUrl",
                  "lineNumber": 13,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The URL address identifying location of user's picture"
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  }
                },
                {
                  "title": "param",
                  "name": "contact.emailAddress",
                  "lineNumber": 14,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The contact's email address"
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  }
                },
                {
                  "title": "param",
                  "name": "contact.homePhone",
                  "lineNumber": 15,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The contact's home phone number"
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  }
                },
                {
                  "title": "param",
                  "name": "contact.workPhone",
                  "lineNumber": 16,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The contact's business phone number"
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  }
                },
                {
                  "title": "param",
                  "name": "contact.mobilePhone",
                  "lineNumber": 17,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The contact's mobile phone number"
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  }
                },
                {
                  "title": "param",
                  "name": "contact.conferenceURL",
                  "lineNumber": 18,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Conference URL and access code for this user's address book entry"
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  }
                },
                {
                  "title": "param",
                  "name": "contact.fax",
                  "lineNumber": 19,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The user's fax number"
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  }
                },
                {
                  "title": "param",
                  "name": "contact.pager",
                  "lineNumber": 20,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The user's pager number"
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  }
                },
                {
                  "title": "param",
                  "name": "contact.groupList",
                  "lineNumber": 21,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The name of the contact list for which to add this contact to (\"friends\" by default)"
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  }
                },
                {
                  "title": "param",
                  "name": "contact.friendStatus",
                  "lineNumber": 22,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Indicates whether or not the contact is a friend of the user"
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "contacts",
          "kind": "function",
          "name": "add",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "contacts",
              "kind": "namespace"
            },
            {
              "name": "add",
              "kind": "function"
            }
          ],
          "namespace": "contactsadd"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Retrieves local information about a contact."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "contacts",
              "lineNumber": 4
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 5,
              "name": "get"
            },
            {
              "title": "param",
              "description": "The unique contact ID of the contact.",
              "lineNumber": 6,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "contactId"
            },
            {
              "title": "return",
              "description": "Contact information.",
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              }
            }
          ],
          "loc": {
            "start": {
              "line": 67,
              "column": 4
            },
            "end": {
              "line": 75,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 76,
                "column": 4
              },
              "end": {
                "line": 79,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/users/interface/api/contacts.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "contactId",
              "lineNumber": 6,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The unique contact ID of the contact."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "properties": [],
          "returns": [
            {
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Contact information."
                      }
                    ]
                  }
                ]
              },
              "title": "returns",
              "type": {
                "type": "NameExpression",
                "name": "Object"
              }
            }
          ],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "contacts",
          "kind": "function",
          "name": "get",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "contacts",
              "kind": "namespace"
            },
            {
              "name": "get",
              "kind": "function"
            }
          ],
          "namespace": "contactsget"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Retrieves local information about all contacts."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "contacts",
              "lineNumber": 4
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 5,
              "name": "getAll"
            },
            {
              "title": "return",
              "description": "List of contact information.",
              "lineNumber": 6,
              "type": {
                "type": "NameExpression",
                "name": "Array"
              }
            }
          ],
          "loc": {
            "start": {
              "line": 81,
              "column": 4
            },
            "end": {
              "line": 88,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 89,
                "column": 4
              },
              "end": {
                "line": 92,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/users/interface/api/contacts.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [],
          "properties": [],
          "returns": [
            {
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "List of contact information."
                      }
                    ]
                  }
                ]
              },
              "title": "returns",
              "type": {
                "type": "NameExpression",
                "name": "Array"
              }
            }
          ],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "contacts",
          "kind": "function",
          "name": "getAll",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "contacts",
              "kind": "namespace"
            },
            {
              "name": "getAll",
              "kind": "function"
            }
          ],
          "namespace": "contactsgetAll"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Refreshes the local information about contacts. This will get new contacts from the platform.\nWill trigger the "
                  },
                  {
                    "type": "inlineCode",
                    "value": "contacts:change"
                  },
                  {
                    "type": "text",
                    "value": " event."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 4,
              "type": null
            },
            {
              "title": "memberof",
              "description": "contacts",
              "lineNumber": 5
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 6,
              "name": "refresh"
            }
          ],
          "loc": {
            "start": {
              "line": 94,
              "column": 4
            },
            "end": {
              "line": 101,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 102,
                "column": 4
              },
              "end": {
                "line": 105,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/users/interface/api/contacts.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "contacts",
          "kind": "function",
          "name": "refresh",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "contacts",
              "kind": "namespace"
            },
            {
              "name": "refresh",
              "kind": "function"
            }
          ],
          "namespace": "contactsrefresh"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Remove a contact from a personal address book.\nWill trigger the "
                  },
                  {
                    "type": "inlineCode",
                    "value": "contacts:change"
                  },
                  {
                    "type": "text",
                    "value": " event."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 4,
              "type": null
            },
            {
              "title": "memberof",
              "description": "contacts",
              "lineNumber": 5
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 6,
              "name": "remove"
            },
            {
              "title": "param",
              "description": "The Id of the contact that will be removed.",
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "id"
            }
          ],
          "loc": {
            "start": {
              "line": 107,
              "column": 4
            },
            "end": {
              "line": 115,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 116,
                "column": 4
              },
              "end": {
                "line": 119,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/users/interface/api/contacts.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "id",
              "lineNumber": 7,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The Id of the contact that will be removed."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "contacts",
          "kind": "function",
          "name": "remove",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "contacts",
              "kind": "namespace"
            },
            {
              "name": "remove",
              "kind": "function"
            }
          ],
          "namespace": "contactsremove"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Update a contact from the user's personal address book.\nWill trigger the "
                  },
                  {
                    "type": "inlineCode",
                    "value": "contacts:change"
                  },
                  {
                    "type": "text",
                    "value": " event."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 4,
              "type": null
            },
            {
              "title": "memberof",
              "description": "contacts",
              "lineNumber": 5
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 6,
              "name": "update"
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 7,
              "name": "addContactAsFriend"
            },
            {
              "title": "param",
              "description": "The contact object.",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "contact"
            },
            {
              "title": "param",
              "description": "The primary userId for the contact",
              "lineNumber": 9,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "contact.primaryContact"
            },
            {
              "title": "param",
              "description": "The contact's unique contact ID",
              "lineNumber": 10,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "contact.contactId"
            },
            {
              "title": "param",
              "description": "The contact's first name",
              "lineNumber": 11,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "contact.firstName"
            },
            {
              "title": "param",
              "description": "The contact's last name",
              "lineNumber": 12,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "contact.lastName"
            },
            {
              "title": "param",
              "description": "The URL address identifying location of user's picture",
              "lineNumber": 13,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "contact.photoUrl"
            },
            {
              "title": "param",
              "description": "The contact's email address",
              "lineNumber": 14,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "contact.emailAddress"
            },
            {
              "title": "param",
              "description": "The contact's home phone number",
              "lineNumber": 15,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "contact.homePhone"
            },
            {
              "title": "param",
              "description": "The contact's business phone number",
              "lineNumber": 16,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "contact.workPhone"
            },
            {
              "title": "param",
              "description": "The contact's mobile phone number",
              "lineNumber": 17,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "contact.mobilePhone"
            },
            {
              "title": "param",
              "description": "Conference URL and access code for this user's address book entry",
              "lineNumber": 18,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "contact.conferenceURL"
            },
            {
              "title": "param",
              "description": "The user's fax number",
              "lineNumber": 19,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "contact.fax"
            },
            {
              "title": "param",
              "description": "The user's pager number",
              "lineNumber": 20,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "contact.pager"
            },
            {
              "title": "param",
              "description": "The name of the contact list for which to add this contact to (\"friends\" by default)",
              "lineNumber": 21,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "contact.groupList"
            },
            {
              "title": "param",
              "description": "Indicates whether or not the contact is a friend of the user",
              "lineNumber": 22,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "boolean"
                }
              },
              "name": "contact.friendStatus"
            }
          ],
          "loc": {
            "start": {
              "line": 121,
              "column": 4
            },
            "end": {
              "line": 144,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 165,
                "column": 4
              },
              "end": {
                "line": 180,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/users/interface/api/contacts.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "contact",
              "lineNumber": 8,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The contact object."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "properties": [
                {
                  "title": "param",
                  "name": "contact.primaryContact",
                  "lineNumber": 9,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The primary userId for the contact"
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "string"
                  }
                },
                {
                  "title": "param",
                  "name": "contact.contactId",
                  "lineNumber": 10,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The contact's unique contact ID"
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "string"
                  }
                },
                {
                  "title": "param",
                  "name": "contact.firstName",
                  "lineNumber": 11,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The contact's first name"
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  }
                },
                {
                  "title": "param",
                  "name": "contact.lastName",
                  "lineNumber": 12,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The contact's last name"
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  }
                },
                {
                  "title": "param",
                  "name": "contact.photoUrl",
                  "lineNumber": 13,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The URL address identifying location of user's picture"
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  }
                },
                {
                  "title": "param",
                  "name": "contact.emailAddress",
                  "lineNumber": 14,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The contact's email address"
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  }
                },
                {
                  "title": "param",
                  "name": "contact.homePhone",
                  "lineNumber": 15,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The contact's home phone number"
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  }
                },
                {
                  "title": "param",
                  "name": "contact.workPhone",
                  "lineNumber": 16,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The contact's business phone number"
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  }
                },
                {
                  "title": "param",
                  "name": "contact.mobilePhone",
                  "lineNumber": 17,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The contact's mobile phone number"
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  }
                },
                {
                  "title": "param",
                  "name": "contact.conferenceURL",
                  "lineNumber": 18,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Conference URL and access code for this user's address book entry"
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  }
                },
                {
                  "title": "param",
                  "name": "contact.fax",
                  "lineNumber": 19,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The user's fax number"
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  }
                },
                {
                  "title": "param",
                  "name": "contact.pager",
                  "lineNumber": 20,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The user's pager number"
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  }
                },
                {
                  "title": "param",
                  "name": "contact.groupList",
                  "lineNumber": 21,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The name of the contact list for which to add this contact to (\"friends\" by default)"
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  }
                },
                {
                  "title": "param",
                  "name": "contact.friendStatus",
                  "lineNumber": 22,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Indicates whether or not the contact is a friend of the user"
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "boolean"
                    }
                  }
                }
              ]
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "contacts",
          "kind": "function",
          "name": "update",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "contacts",
              "kind": "namespace"
            },
            {
              "name": "update",
              "kind": "function"
            }
          ],
          "namespace": "contactsupdate"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Fetch a contact from the user's personal address book.\nWill trigger the "
                  },
                  {
                    "type": "inlineCode",
                    "value": "contacts:change"
                  },
                  {
                    "type": "text",
                    "value": " event."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 4,
              "type": null
            },
            {
              "title": "memberof",
              "description": "contacts",
              "lineNumber": 5
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 6,
              "name": "fetch"
            },
            {
              "title": "param",
              "description": "The unique contact ID of the contact.",
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "contactId"
            }
          ],
          "loc": {
            "start": {
              "line": 182,
              "column": 4
            },
            "end": {
              "line": 190,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 191,
                "column": 4
              },
              "end": {
                "line": 194,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/users/interface/api/contacts.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "contactId",
              "lineNumber": 7,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The unique contact ID of the contact."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "contacts",
          "kind": "function",
          "name": "fetch",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "contacts",
              "kind": "namespace"
            },
            {
              "name": "fetch",
              "kind": "function"
            }
          ],
          "namespace": "contactsfetch"
        }
      ]
    },
    "path": [
      {
        "name": "contacts",
        "kind": "namespace"
      }
    ],
    "namespace": "contacts"
  },
  {
    "description": {
      "type": "root",
      "children": [
        {
          "type": "paragraph",
          "children": [
            {
              "type": "text",
              "value": "The messaging feature revolves around a 'conversation' namespace. It is responsible to store the conversations\nand its messages, and return conversation objects when requested."
            }
          ]
        },
        {
          "type": "paragraph",
          "children": [
            {
              "type": "text",
              "value": "See the \"Conversation\" and \"Message\" sections of the documentation for more details."
            }
          ]
        },
        {
          "type": "paragraph",
          "children": [
            {
              "type": "text",
              "value": "Messaging functions are all part of the 'conversation' namespace. Ex: client.conversation.get('id')."
            }
          ]
        }
      ]
    },
    "tags": [
      {
        "title": "public",
        "description": null,
        "lineNumber": 9,
        "type": null
      },
      {
        "title": "namespace",
        "description": null,
        "lineNumber": 10,
        "type": null,
        "name": "conversation"
      }
    ],
    "loc": {
      "start": {
        "line": 1,
        "column": 0
      },
      "end": {
        "line": 12,
        "column": 3
      }
    },
    "context": {
      "loc": {
        "start": {
          "line": 14,
          "column": 0
        },
        "end": {
          "line": 14,
          "column": 40
        }
      },
      "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/messaging/interface/api.js"
    },
    "augments": [],
    "examples": [],
    "implements": [],
    "params": [],
    "properties": [],
    "returns": [],
    "sees": [],
    "throws": [],
    "todos": [],
    "yields": [],
    "access": "public",
    "kind": "namespace",
    "name": "conversation",
    "members": {
      "global": [],
      "inner": [],
      "instance": [],
      "events": [
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "A new conversation has been created and added to the state."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "conversation",
              "lineNumber": 4
            },
            {
              "title": "event",
              "description": "conversations:new",
              "lineNumber": 5
            }
          ],
          "loc": {
            "start": {
              "line": 1,
              "column": 0
            },
            "end": {
              "line": 7,
              "column": 3
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 8,
                "column": 0
              },
              "end": {
                "line": 8,
                "column": 52
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/messaging/interface/eventTypes.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "conversation",
          "kind": "event",
          "name": "conversations:new",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "conversation",
              "kind": "namespace"
            },
            {
              "name": "conversations:new",
              "kind": "event"
            }
          ],
          "namespace": "conversation.event:conversations:new"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "A change has occurred in the conversation list."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "conversation",
              "lineNumber": 4
            },
            {
              "title": "event",
              "description": "conversations:change",
              "lineNumber": 5
            },
            {
              "title": "param",
              "description": "An array of objects containing information about the conversations that have changed",
              "lineNumber": 6,
              "type": {
                "type": "NameExpression",
                "name": "Array"
              },
              "name": "params"
            },
            {
              "title": "param",
              "description": "The destination for messages created in this conversation.",
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "Array"
              },
              "name": "params.destination"
            },
            {
              "title": "param",
              "description": "The type of conversation to create. Can be one of \"chat\", \"im\", \"sms\" or \"group\"",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "params.type"
            }
          ],
          "loc": {
            "start": {
              "line": 10,
              "column": 0
            },
            "end": {
              "line": 19,
              "column": 3
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 20,
                "column": 0
              },
              "end": {
                "line": 20,
                "column": 58
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/messaging/interface/eventTypes.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "params",
              "lineNumber": 6,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "An array of objects containing information about the conversations that have changed"
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "Array"
              },
              "properties": [
                {
                  "title": "param",
                  "name": "params.destination",
                  "lineNumber": 7,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The destination for messages created in this conversation."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "Array"
                  }
                },
                {
                  "title": "param",
                  "name": "params.type",
                  "lineNumber": 8,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The type of conversation to create. Can be one of \"chat\", \"im\", \"sms\" or \"group\""
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "string"
                  }
                }
              ]
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "conversation",
          "kind": "event",
          "name": "conversations:change",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "conversation",
              "kind": "namespace"
            },
            {
              "name": "conversations:change",
              "kind": "event"
            }
          ],
          "namespace": "conversation.event:conversations:change"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "A change has occurred in a specific conversations message list.\nIf a single message was affected/created, "
                  },
                  {
                    "type": "inlineCode",
                    "value": "messageId"
                  },
                  {
                    "type": "text",
                    "value": " will be present\nas part of the event argument."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 5,
              "type": null
            },
            {
              "title": "memberof",
              "description": "conversation",
              "lineNumber": 6
            },
            {
              "title": "event",
              "description": "messages:change",
              "lineNumber": 7
            },
            {
              "title": "param",
              "description": null,
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "params"
            },
            {
              "title": "param",
              "description": "The destination for messages created in this conversation.",
              "lineNumber": 9,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "params.destination"
            },
            {
              "title": "param",
              "description": "The type of conversation to create. Can be one of \"chat\", \"im\", \"sms\" or \"group\"",
              "lineNumber": 10,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "params.type"
            },
            {
              "title": "param",
              "description": "The ID of the message affected.",
              "lineNumber": 11,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "params.messageId"
            },
            {
              "title": "param",
              "description": "The username of the sender of the message which caused the `messages:change` event to be triggered.",
              "lineNumber": 12,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "params.sender"
            }
          ],
          "loc": {
            "start": {
              "line": 22,
              "column": 0
            },
            "end": {
              "line": 35,
              "column": 3
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 36,
                "column": 0
              },
              "end": {
                "line": 36,
                "column": 48
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/messaging/interface/eventTypes.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "params",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "properties": [
                {
                  "title": "param",
                  "name": "params.destination",
                  "lineNumber": 9,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The destination for messages created in this conversation."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "string"
                  }
                },
                {
                  "title": "param",
                  "name": "params.type",
                  "lineNumber": 10,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The type of conversation to create. Can be one of \"chat\", \"im\", \"sms\" or \"group\""
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "string"
                  }
                },
                {
                  "title": "param",
                  "name": "params.messageId",
                  "lineNumber": 11,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The ID of the message affected."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  }
                },
                {
                  "title": "param",
                  "name": "params.sender",
                  "lineNumber": 12,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The username of the sender of the message which caused the "
                          },
                          {
                            "type": "inlineCode",
                            "value": "messages:change"
                          },
                          {
                            "type": "text",
                            "value": " event to be triggered."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  }
                }
              ]
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "conversation",
          "kind": "event",
          "name": "messages:change",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "conversation",
              "kind": "namespace"
            },
            {
              "name": "messages:change",
              "kind": "event"
            }
          ],
          "namespace": "conversation.event:messages:change"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "An error occurred with messaging."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "conversation",
              "lineNumber": 4
            },
            {
              "title": "event",
              "description": "messages:error",
              "lineNumber": 5
            },
            {
              "title": "param",
              "description": null,
              "lineNumber": 6,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "params"
            },
            {
              "title": "param",
              "description": "The Basic error object.",
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "api.BasicError"
              },
              "name": "params.error"
            }
          ],
          "loc": {
            "start": {
              "line": 38,
              "column": 0
            },
            "end": {
              "line": 46,
              "column": 3
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 47,
                "column": 0
              },
              "end": {
                "line": 47,
                "column": 46
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/messaging/interface/eventTypes.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "params",
              "lineNumber": 6,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "properties": [
                {
                  "title": "param",
                  "name": "params.error",
                  "lineNumber": 7,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The Basic error object."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "api.BasicError"
                  }
                }
              ]
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "conversation",
          "kind": "event",
          "name": "messages:error",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "conversation",
              "kind": "namespace"
            },
            {
              "name": "messages:error",
              "kind": "event"
            }
          ],
          "namespace": "conversation.event:messages:error"
        }
      ],
      "static": [
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Attempts to retrieve a list of conversations that the current user is a part of.\nThese conversations can then be retrieved from the store using get()."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 4,
              "type": null
            },
            {
              "title": "param",
              "description": "An optional configuration object to query for more specific results.\nIf no object is passed, all threads will be retrieved.",
              "lineNumber": 5,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "Object"
                }
              },
              "name": "options"
            },
            {
              "title": "param",
              "description": "The unix timestamp in seconds representing the date from which\n to return any threads that have changed. Can also pass the string literal \"lastcheck\", resulting in\n the back-end making use of the most recent date value provided in a previous request",
              "lineNumber": 7,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "options.touched"
            },
            {
              "title": "param",
              "description": "Limit results to one of: \"internal\", \"sms\", \"group\" or \"unknown\".",
              "lineNumber": 10,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "options.type"
            },
            {
              "title": "param",
              "description": "Limit results to one thread specified by its thread handle.",
              "lineNumber": 11,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "UnionType",
                  "elements": [
                    {
                      "type": "NameExpression",
                      "name": "string"
                    },
                    {
                      "type": "NameExpression",
                      "name": "number"
                    }
                  ]
                }
              },
              "name": "options.thread"
            },
            {
              "title": "memberof",
              "description": "conversation",
              "lineNumber": 12
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 13,
              "name": "fetchConversations"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 14,
              "name": "fetch"
            }
          ],
          "loc": {
            "start": {
              "line": 24,
              "column": 4
            },
            "end": {
              "line": 39,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 40,
                "column": 4
              },
              "end": {
                "line": 44,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/messaging/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "options",
              "lineNumber": 5,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "An optional configuration object to query for more specific results.\nIf no object is passed, all threads will be retrieved."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "Object"
                }
              },
              "properties": [
                {
                  "title": "param",
                  "name": "options.touched",
                  "lineNumber": 7,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The unix timestamp in seconds representing the date from which\nto return any threads that have changed. Can also pass the string literal \"lastcheck\", resulting in\nthe back-end making use of the most recent date value provided in a previous request"
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  }
                },
                {
                  "title": "param",
                  "name": "options.type",
                  "lineNumber": 10,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Limit results to one of: \"internal\", \"sms\", \"group\" or \"unknown\"."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  }
                },
                {
                  "title": "param",
                  "name": "options.thread",
                  "lineNumber": 11,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Limit results to one thread specified by its thread handle."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "UnionType",
                      "elements": [
                        {
                          "type": "NameExpression",
                          "name": "string"
                        },
                        {
                          "type": "NameExpression",
                          "name": "number"
                        }
                      ]
                    }
                  }
                }
              ]
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "conversation",
          "kind": "function",
          "name": "fetch",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "conversation",
              "kind": "namespace"
            },
            {
              "name": "fetch",
              "kind": "function"
            }
          ],
          "namespace": "conversationfetch"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Get a conversation object matching the user IDs provided in the 'destination' parameter.\nIf successful, the event 'conversations:change' will be emitted.\nMulti-user conversations have a destination comprised of multiple user IDs."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 5,
              "type": null
            },
            {
              "title": "memberof",
              "description": "conversation",
              "lineNumber": 6
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 7,
              "name": "multiUserConversation"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 8,
              "name": "get"
            },
            {
              "title": "param",
              "description": "An array of destinations for messages created in this conversation.\nThese will be a user's sip address.",
              "lineNumber": 9,
              "type": {
                "type": "NameExpression",
                "name": "Array"
              },
              "name": "destination"
            },
            {
              "title": "param",
              "description": "An optional configuration object to query for more specific results.\nIf this object is not passed, the function will query for \"im\" conversations associated with those destinations.",
              "lineNumber": 11,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "Object"
                }
              },
              "name": "options"
            },
            {
              "title": "param",
              "description": "The type of conversation to retrieve. Can be one of \"im\", \"sms\" or \"other\".",
              "lineNumber": 13,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "options.type"
            },
            {
              "title": "returns",
              "description": "A Conversation object matching the passed destination, otherwise undefined is returned.",
              "lineNumber": 14,
              "type": {
                "type": "NameExpression",
                "name": "conversation.Conversation"
              }
            }
          ],
          "loc": {
            "start": {
              "line": 62,
              "column": 4
            },
            "end": {
              "line": 77,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 94,
                "column": 4
              },
              "end": {
                "line": 130,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/messaging/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "destination",
              "lineNumber": 9,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "An array of destinations for messages created in this conversation.\nThese will be a user's sip address."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "Array"
              }
            },
            {
              "title": "param",
              "name": "options",
              "lineNumber": 11,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "An optional configuration object to query for more specific results.\nIf this object is not passed, the function will query for \"im\" conversations associated with those destinations."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "Object"
                }
              },
              "properties": [
                {
                  "title": "param",
                  "name": "options.type",
                  "lineNumber": 13,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The type of conversation to retrieve. Can be one of \"im\", \"sms\" or \"other\"."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  }
                }
              ]
            }
          ],
          "properties": [],
          "returns": [
            {
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "A Conversation object matching the passed destination, otherwise undefined is returned."
                      }
                    ]
                  }
                ]
              },
              "title": "returns",
              "type": {
                "type": "NameExpression",
                "name": "conversation.Conversation"
              }
            }
          ],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "conversation",
          "kind": "function",
          "name": "get",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "conversation",
              "kind": "namespace"
            },
            {
              "name": "get",
              "kind": "function"
            }
          ],
          "namespace": "conversationget"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Create and return a new conversation object. Any messages being sent through this conversation\nobject will be sent to the destinations provided"
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 4,
              "type": null
            },
            {
              "title": "memberof",
              "description": "conversation",
              "lineNumber": 5
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 6,
              "name": "multiUserConversation"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 7,
              "name": "create"
            },
            {
              "title": "param",
              "description": "An array of destinations for messages created in this conversation. These will be a user's sip address.",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "Array"
              },
              "name": "recipient"
            },
            {
              "title": "param",
              "description": "The type of conversation to create. Can be one of \"im\", \"sms\", \"group\" or \"other\"",
              "lineNumber": 9,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "type"
            },
            {
              "title": "param",
              "description": null,
              "lineNumber": 10,
              "type": null,
              "name": "options"
            },
            {
              "title": "returns",
              "description": "a Conversation object",
              "lineNumber": 11,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              }
            }
          ],
          "loc": {
            "start": {
              "line": 143,
              "column": 4
            },
            "end": {
              "line": 155,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 156,
                "column": 4
              },
              "end": {
                "line": 169,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/messaging/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "recipient",
              "lineNumber": 8,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "An array of destinations for messages created in this conversation. These will be a user's sip address."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "Array"
              }
            },
            {
              "title": "param",
              "name": "type",
              "lineNumber": 9,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The type of conversation to create. Can be one of \"im\", \"sms\", \"group\" or \"other\""
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "param",
              "name": "options",
              "lineNumber": 10
            }
          ],
          "properties": [],
          "returns": [
            {
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "a Conversation object"
                      }
                    ]
                  }
                ]
              },
              "title": "returns",
              "type": {
                "type": "NameExpression",
                "name": "Object"
              }
            }
          ],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "conversation",
          "kind": "function",
          "name": "create",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "conversation",
              "kind": "namespace"
            },
            {
              "name": "create",
              "kind": "function"
            }
          ],
          "namespace": "conversationcreate"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "A Conversation object represents a conversation between either two users, or a\nuser and a group. A Conversation can create messages via the conversation's\n"
                  },
                  {
                    "type": "link",
                    "url": "#conversationconversationcreatemessage",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "createMessage()"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " function."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 4,
              "type": null
            },
            {
              "title": "static",
              "description": null,
              "lineNumber": 5
            },
            {
              "title": "typedef",
              "description": null,
              "lineNumber": 6,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "Conversation"
            },
            {
              "title": "memberof",
              "description": "conversation",
              "lineNumber": 7
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 8,
              "name": "richMessagingWithoutLocation"
            },
            {
              "title": "property",
              "description": "The Id of the remote user with which the current user is having a conversation.",
              "lineNumber": 9,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "destination"
            },
            {
              "title": "property",
              "description": "The timestamp (milliseconds since epoch) of when a message was last received in this conversation.",
              "lineNumber": 10,
              "type": {
                "type": "NameExpression",
                "name": "number"
              },
              "name": "lastReceived"
            }
          ],
          "loc": {
            "start": {
              "line": 1,
              "column": 0
            },
            "end": {
              "line": 12,
              "column": 3
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 64,
                "column": 0
              },
              "end": {
                "line": 64,
                "column": 51
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/messaging/interface/mixins.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [],
          "properties": [
            {
              "title": "property",
              "name": "destination",
              "lineNumber": 9,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The Id of the remote user with which the current user is having a conversation."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "property",
              "name": "lastReceived",
              "lineNumber": 10,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The timestamp (milliseconds since epoch) of when a message was last received in this conversation."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "number"
              }
            }
          ],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "scope": "static",
          "kind": "typedef",
          "name": "Conversation",
          "type": {
            "type": "NameExpression",
            "name": "Object"
          },
          "memberof": "conversation",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": [
              {
                "description": {
                  "type": "root",
                  "children": [
                    {
                      "type": "paragraph",
                      "children": [
                        {
                          "type": "text",
                          "value": "Create and return a message object. You must specify the part. If this is a simple text message, provide a "
                        },
                        {
                          "type": "inlineCode",
                          "value": "text"
                        },
                        {
                          "type": "text",
                          "value": " part as demonstrated in the example."
                        }
                      ]
                    }
                  ]
                },
                "tags": [
                  {
                    "title": "public",
                    "description": null,
                    "lineNumber": 3,
                    "type": null
                  },
                  {
                    "title": "static",
                    "description": null,
                    "lineNumber": 4
                  },
                  {
                    "title": "memberof",
                    "description": "conversation.Conversation",
                    "lineNumber": 5
                  },
                  {
                    "title": "requires",
                    "description": null,
                    "lineNumber": 6,
                    "name": "richMessagingWithoutLocation"
                  },
                  {
                    "title": "constructs",
                    "description": "Message",
                    "lineNumber": 7
                  },
                  {
                    "title": "param",
                    "description": "The part to add to the message.",
                    "lineNumber": 8,
                    "type": {
                      "type": "NameExpression",
                      "name": "Object"
                    },
                    "name": "part"
                  },
                  {
                    "title": "param",
                    "description": "The type of part. Can be \"text\", \"json\", \"file\".",
                    "lineNumber": 9,
                    "type": {
                      "type": "NameExpression",
                      "name": "string"
                    },
                    "name": "part.type"
                  },
                  {
                    "title": "param",
                    "description": "The text of the part. Must be a part of type \"text\".",
                    "lineNumber": 10,
                    "type": {
                      "type": "OptionalType",
                      "expression": {
                        "type": "NameExpression",
                        "name": "string"
                      }
                    },
                    "name": "part.text"
                  },
                  {
                    "title": "param",
                    "description": "The json of the part. Must be a part of type \"json\".",
                    "lineNumber": 11,
                    "type": {
                      "type": "OptionalType",
                      "expression": {
                        "type": "NameExpression",
                        "name": "Object"
                      }
                    },
                    "name": "part.json"
                  },
                  {
                    "title": "param",
                    "description": "The file of the part. Must be a part of type \"file\".",
                    "lineNumber": 12,
                    "type": {
                      "type": "OptionalType",
                      "expression": {
                        "type": "NameExpression",
                        "name": "File"
                      }
                    },
                    "name": "part.file"
                  },
                  {
                    "title": "returns",
                    "description": "The newly created Message object.",
                    "lineNumber": 13,
                    "type": {
                      "type": "NameExpression",
                      "name": "conversation.Message"
                    }
                  },
                  {
                    "title": "example",
                    "description": "conversation.createMessage({type: 'text', text: 'This is the message'});",
                    "lineNumber": 15
                  }
                ],
                "loc": {
                  "start": {
                    "line": 145,
                    "column": 4
                  },
                  "end": {
                    "line": 162,
                    "column": 7
                  }
                },
                "context": {
                  "loc": {
                    "start": {
                      "line": 178,
                      "column": 4
                    },
                    "end": {
                      "line": 191,
                      "column": 5
                    }
                  },
                  "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/messaging/interface/mixins.js"
                },
                "augments": [],
                "examples": [
                  {
                    "description": "conversation.createMessage({type: 'text', text: 'This is the message'});"
                  }
                ],
                "implements": [],
                "params": [
                  {
                    "title": "param",
                    "name": "part",
                    "lineNumber": 8,
                    "description": {
                      "type": "root",
                      "children": [
                        {
                          "type": "paragraph",
                          "children": [
                            {
                              "type": "text",
                              "value": "The part to add to the message."
                            }
                          ]
                        }
                      ]
                    },
                    "type": {
                      "type": "NameExpression",
                      "name": "Object"
                    },
                    "properties": [
                      {
                        "title": "param",
                        "name": "part.type",
                        "lineNumber": 9,
                        "description": {
                          "type": "root",
                          "children": [
                            {
                              "type": "paragraph",
                              "children": [
                                {
                                  "type": "text",
                                  "value": "The type of part. Can be \"text\", \"json\", \"file\"."
                                }
                              ]
                            }
                          ]
                        },
                        "type": {
                          "type": "NameExpression",
                          "name": "string"
                        }
                      },
                      {
                        "title": "param",
                        "name": "part.text",
                        "lineNumber": 10,
                        "description": {
                          "type": "root",
                          "children": [
                            {
                              "type": "paragraph",
                              "children": [
                                {
                                  "type": "text",
                                  "value": "The text of the part. Must be a part of type \"text\"."
                                }
                              ]
                            }
                          ]
                        },
                        "type": {
                          "type": "OptionalType",
                          "expression": {
                            "type": "NameExpression",
                            "name": "string"
                          }
                        }
                      },
                      {
                        "title": "param",
                        "name": "part.json",
                        "lineNumber": 11,
                        "description": {
                          "type": "root",
                          "children": [
                            {
                              "type": "paragraph",
                              "children": [
                                {
                                  "type": "text",
                                  "value": "The json of the part. Must be a part of type \"json\"."
                                }
                              ]
                            }
                          ]
                        },
                        "type": {
                          "type": "OptionalType",
                          "expression": {
                            "type": "NameExpression",
                            "name": "Object"
                          }
                        }
                      },
                      {
                        "title": "param",
                        "name": "part.file",
                        "lineNumber": 12,
                        "description": {
                          "type": "root",
                          "children": [
                            {
                              "type": "paragraph",
                              "children": [
                                {
                                  "type": "text",
                                  "value": "The file of the part. Must be a part of type \"file\"."
                                }
                              ]
                            }
                          ]
                        },
                        "type": {
                          "type": "OptionalType",
                          "expression": {
                            "type": "NameExpression",
                            "name": "File"
                          }
                        }
                      }
                    ]
                  }
                ],
                "properties": [],
                "returns": [
                  {
                    "description": {
                      "type": "root",
                      "children": [
                        {
                          "type": "paragraph",
                          "children": [
                            {
                              "type": "text",
                              "value": "The newly created Message object."
                            }
                          ]
                        }
                      ]
                    },
                    "title": "returns",
                    "type": {
                      "type": "NameExpression",
                      "name": "conversation.Message"
                    }
                  }
                ],
                "sees": [],
                "throws": [],
                "todos": [],
                "yields": [],
                "access": "public",
                "scope": "static",
                "memberof": "conversation.Conversation",
                "name": "createMessage",
                "kind": "function",
                "members": {
                  "global": [],
                  "inner": [],
                  "instance": [],
                  "events": [],
                  "static": []
                },
                "path": [
                  {
                    "name": "conversation",
                    "kind": "namespace"
                  },
                  {
                    "name": "Conversation",
                    "kind": "typedef",
                    "scope": "static"
                  },
                  {
                    "name": "createMessage",
                    "kind": "function",
                    "scope": "static"
                  }
                ],
                "namespace": "conversation.Conversation.createMessage"
              },
              {
                "description": {
                  "type": "root",
                  "children": [
                    {
                      "type": "paragraph",
                      "children": [
                        {
                          "type": "text",
                          "value": "Clears all messages in this conversation from local state."
                        }
                      ]
                    }
                  ]
                },
                "tags": [
                  {
                    "title": "public",
                    "description": null,
                    "lineNumber": 2,
                    "type": null
                  },
                  {
                    "title": "static",
                    "description": null,
                    "lineNumber": 3
                  },
                  {
                    "title": "memberof",
                    "description": "conversation.Conversation",
                    "lineNumber": 4
                  },
                  {
                    "title": "method",
                    "description": null,
                    "lineNumber": 5,
                    "name": "clearMessages"
                  }
                ],
                "loc": {
                  "start": {
                    "line": 193,
                    "column": 4
                  },
                  "end": {
                    "line": 199,
                    "column": 7
                  }
                },
                "context": {
                  "loc": {
                    "start": {
                      "line": 200,
                      "column": 4
                    },
                    "end": {
                      "line": 202,
                      "column": 5
                    }
                  },
                  "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/messaging/interface/mixins.js"
                },
                "augments": [],
                "examples": [],
                "implements": [],
                "params": [],
                "properties": [],
                "returns": [],
                "sees": [],
                "throws": [],
                "todos": [],
                "yields": [],
                "access": "public",
                "scope": "static",
                "memberof": "conversation.Conversation",
                "kind": "function",
                "name": "clearMessages",
                "members": {
                  "global": [],
                  "inner": [],
                  "instance": [],
                  "events": [],
                  "static": []
                },
                "path": [
                  {
                    "name": "conversation",
                    "kind": "namespace"
                  },
                  {
                    "name": "Conversation",
                    "kind": "typedef",
                    "scope": "static"
                  },
                  {
                    "name": "clearMessages",
                    "kind": "function",
                    "scope": "static"
                  }
                ],
                "namespace": "conversation.Conversation.clearMessages"
              },
              {
                "description": {
                  "type": "root",
                  "children": [
                    {
                      "type": "paragraph",
                      "children": [
                        {
                          "type": "text",
                          "value": "Get the messages associated with this conversation."
                        }
                      ]
                    }
                  ]
                },
                "tags": [
                  {
                    "title": "public",
                    "description": null,
                    "lineNumber": 3,
                    "type": null
                  },
                  {
                    "title": "static",
                    "description": null,
                    "lineNumber": 4
                  },
                  {
                    "title": "memberof",
                    "description": "conversation.Conversation",
                    "lineNumber": 5
                  },
                  {
                    "title": "returns",
                    "description": "messages An array containing the conversation's messages.",
                    "lineNumber": 6,
                    "type": {
                      "type": "TypeApplication",
                      "expression": {
                        "type": "NameExpression",
                        "name": "Array"
                      },
                      "applications": [
                        {
                          "type": "NameExpression",
                          "name": "Object"
                        }
                      ]
                    }
                  },
                  {
                    "title": "returns",
                    "description": "messages.markRead Marks the message as read.",
                    "lineNumber": 7,
                    "type": {
                      "type": "NameExpression",
                      "name": "Function"
                    }
                  },
                  {
                    "title": "returns",
                    "description": "messages.forward Forward the message to another user.",
                    "lineNumber": 8,
                    "type": {
                      "type": "NameExpression",
                      "name": "Function"
                    }
                  },
                  {
                    "title": "returns",
                    "description": "messages.messageId The Id of the message.",
                    "lineNumber": 9,
                    "type": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  },
                  {
                    "title": "returns",
                    "description": "messages.sender The user Id of the user who sent the message.",
                    "lineNumber": 10,
                    "type": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  },
                  {
                    "title": "returns",
                    "description": "messages.timestamp The time at which the message was sent.",
                    "lineNumber": 11,
                    "type": {
                      "type": "NameExpression",
                      "name": "number"
                    }
                  },
                  {
                    "title": "returns",
                    "description": "messages.read Whether the message has been marked as read.",
                    "lineNumber": 12,
                    "type": {
                      "type": "NameExpression",
                      "name": "boolean"
                    }
                  },
                  {
                    "title": "returns",
                    "description": "messages.isPending Whether the message has finished being sent to the server.",
                    "lineNumber": 13,
                    "type": {
                      "type": "NameExpression",
                      "name": "boolean"
                    }
                  },
                  {
                    "title": "returns",
                    "description": "messages.parts The parts of the message.",
                    "lineNumber": 14,
                    "type": {
                      "type": "NameExpression",
                      "name": "Array"
                    }
                  }
                ],
                "loc": {
                  "start": {
                    "line": 204,
                    "column": 4
                  },
                  "end": {
                    "line": 219,
                    "column": 7
                  }
                },
                "context": {
                  "loc": {
                    "start": {
                      "line": 220,
                      "column": 4
                    },
                    "end": {
                      "line": 237,
                      "column": 5
                    }
                  },
                  "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/messaging/interface/mixins.js"
                },
                "augments": [],
                "examples": [],
                "implements": [],
                "params": [],
                "properties": [],
                "returns": [
                  {
                    "description": {
                      "type": "root",
                      "children": [
                        {
                          "type": "paragraph",
                          "children": [
                            {
                              "type": "text",
                              "value": "messages An array containing the conversation's messages."
                            }
                          ]
                        }
                      ]
                    },
                    "title": "returns",
                    "type": {
                      "type": "TypeApplication",
                      "expression": {
                        "type": "NameExpression",
                        "name": "Array"
                      },
                      "applications": [
                        {
                          "type": "NameExpression",
                          "name": "Object"
                        }
                      ]
                    }
                  },
                  {
                    "description": {
                      "type": "root",
                      "children": [
                        {
                          "type": "paragraph",
                          "children": [
                            {
                              "type": "text",
                              "value": "messages.markRead Marks the message as read."
                            }
                          ]
                        }
                      ]
                    },
                    "title": "returns",
                    "type": {
                      "type": "NameExpression",
                      "name": "Function"
                    }
                  },
                  {
                    "description": {
                      "type": "root",
                      "children": [
                        {
                          "type": "paragraph",
                          "children": [
                            {
                              "type": "text",
                              "value": "messages.forward Forward the message to another user."
                            }
                          ]
                        }
                      ]
                    },
                    "title": "returns",
                    "type": {
                      "type": "NameExpression",
                      "name": "Function"
                    }
                  },
                  {
                    "description": {
                      "type": "root",
                      "children": [
                        {
                          "type": "paragraph",
                          "children": [
                            {
                              "type": "text",
                              "value": "messages.messageId The Id of the message."
                            }
                          ]
                        }
                      ]
                    },
                    "title": "returns",
                    "type": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  },
                  {
                    "description": {
                      "type": "root",
                      "children": [
                        {
                          "type": "paragraph",
                          "children": [
                            {
                              "type": "text",
                              "value": "messages.sender The user Id of the user who sent the message."
                            }
                          ]
                        }
                      ]
                    },
                    "title": "returns",
                    "type": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  },
                  {
                    "description": {
                      "type": "root",
                      "children": [
                        {
                          "type": "paragraph",
                          "children": [
                            {
                              "type": "text",
                              "value": "messages.timestamp The time at which the message was sent."
                            }
                          ]
                        }
                      ]
                    },
                    "title": "returns",
                    "type": {
                      "type": "NameExpression",
                      "name": "number"
                    }
                  },
                  {
                    "description": {
                      "type": "root",
                      "children": [
                        {
                          "type": "paragraph",
                          "children": [
                            {
                              "type": "text",
                              "value": "messages.read Whether the message has been marked as read."
                            }
                          ]
                        }
                      ]
                    },
                    "title": "returns",
                    "type": {
                      "type": "NameExpression",
                      "name": "boolean"
                    }
                  },
                  {
                    "description": {
                      "type": "root",
                      "children": [
                        {
                          "type": "paragraph",
                          "children": [
                            {
                              "type": "text",
                              "value": "messages.isPending Whether the message has finished being sent to the server."
                            }
                          ]
                        }
                      ]
                    },
                    "title": "returns",
                    "type": {
                      "type": "NameExpression",
                      "name": "boolean"
                    }
                  },
                  {
                    "description": {
                      "type": "root",
                      "children": [
                        {
                          "type": "paragraph",
                          "children": [
                            {
                              "type": "text",
                              "value": "messages.parts The parts of the message."
                            }
                          ]
                        }
                      ]
                    },
                    "title": "returns",
                    "type": {
                      "type": "NameExpression",
                      "name": "Array"
                    }
                  }
                ],
                "sees": [],
                "throws": [],
                "todos": [],
                "yields": [],
                "access": "public",
                "scope": "static",
                "memberof": "conversation.Conversation",
                "name": "getMessages",
                "kind": "function",
                "members": {
                  "global": [],
                  "inner": [],
                  "instance": [],
                  "events": [],
                  "static": []
                },
                "path": [
                  {
                    "name": "conversation",
                    "kind": "namespace"
                  },
                  {
                    "name": "Conversation",
                    "kind": "typedef",
                    "scope": "static"
                  },
                  {
                    "name": "getMessages",
                    "kind": "function",
                    "scope": "static"
                  }
                ],
                "namespace": "conversation.Conversation.getMessages"
              },
              {
                "description": {
                  "type": "root",
                  "children": [
                    {
                      "type": "paragraph",
                      "children": [
                        {
                          "type": "text",
                          "value": "Get a specific message from this conversation."
                        }
                      ]
                    }
                  ]
                },
                "tags": [
                  {
                    "title": "public",
                    "description": null,
                    "lineNumber": 2,
                    "type": null
                  },
                  {
                    "title": "static",
                    "description": null,
                    "lineNumber": 3
                  },
                  {
                    "title": "method",
                    "description": null,
                    "lineNumber": 4,
                    "name": "getMessage"
                  },
                  {
                    "title": "memberof",
                    "description": "conversation.Conversation",
                    "lineNumber": 5
                  },
                  {
                    "title": "param",
                    "description": "ID of the message to retrieve.",
                    "lineNumber": 6,
                    "type": {
                      "type": "NameExpression",
                      "name": "string"
                    },
                    "name": "messageId"
                  },
                  {
                    "title": "return",
                    "description": "A message object.",
                    "lineNumber": 7,
                    "type": {
                      "type": "NameExpression",
                      "name": "Object"
                    }
                  }
                ],
                "loc": {
                  "start": {
                    "line": 239,
                    "column": 4
                  },
                  "end": {
                    "line": 247,
                    "column": 7
                  }
                },
                "context": {
                  "loc": {
                    "start": {
                      "line": 248,
                      "column": 4
                    },
                    "end": {
                      "line": 270,
                      "column": 5
                    }
                  },
                  "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/messaging/interface/mixins.js"
                },
                "augments": [],
                "examples": [],
                "implements": [],
                "params": [
                  {
                    "title": "param",
                    "name": "messageId",
                    "lineNumber": 6,
                    "description": {
                      "type": "root",
                      "children": [
                        {
                          "type": "paragraph",
                          "children": [
                            {
                              "type": "text",
                              "value": "ID of the message to retrieve."
                            }
                          ]
                        }
                      ]
                    },
                    "type": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  }
                ],
                "properties": [],
                "returns": [
                  {
                    "description": {
                      "type": "root",
                      "children": [
                        {
                          "type": "paragraph",
                          "children": [
                            {
                              "type": "text",
                              "value": "A message object."
                            }
                          ]
                        }
                      ]
                    },
                    "title": "returns",
                    "type": {
                      "type": "NameExpression",
                      "name": "Object"
                    }
                  }
                ],
                "sees": [],
                "throws": [],
                "todos": [],
                "yields": [],
                "access": "public",
                "scope": "static",
                "kind": "function",
                "name": "getMessage",
                "memberof": "conversation.Conversation",
                "members": {
                  "global": [],
                  "inner": [],
                  "instance": [],
                  "events": [],
                  "static": []
                },
                "path": [
                  {
                    "name": "conversation",
                    "kind": "namespace"
                  },
                  {
                    "name": "Conversation",
                    "kind": "typedef",
                    "scope": "static"
                  },
                  {
                    "name": "getMessage",
                    "kind": "function",
                    "scope": "static"
                  }
                ],
                "namespace": "conversation.Conversation.getMessage"
              },
              {
                "description": {
                  "type": "root",
                  "children": [
                    {
                      "type": "paragraph",
                      "children": [
                        {
                          "type": "text",
                          "value": "Subscribe to this conversations messages array."
                        }
                      ]
                    }
                  ]
                },
                "tags": [
                  {
                    "title": "public",
                    "description": null,
                    "lineNumber": 3,
                    "type": null
                  },
                  {
                    "title": "static",
                    "description": null,
                    "lineNumber": 4
                  },
                  {
                    "title": "memberof",
                    "description": "conversation.Conversation",
                    "lineNumber": 5
                  },
                  {
                    "title": "param",
                    "description": "A subscriber function to be triggered when the messages array of this conversation is updated.",
                    "lineNumber": 6,
                    "type": {
                      "type": "NameExpression",
                      "name": "Function"
                    },
                    "name": "subscriber"
                  },
                  {
                    "title": "param",
                    "description": "The conversation participants.",
                    "lineNumber": 7,
                    "type": {
                      "type": "NameExpression",
                      "name": "string"
                    },
                    "name": "subscriber.destination"
                  },
                  {
                    "title": "param",
                    "description": "The ID of the message that caused the event.",
                    "lineNumber": 8,
                    "type": {
                      "type": "NameExpression",
                      "name": "string"
                    },
                    "name": "subscriber.messageId"
                  },
                  {
                    "title": "return",
                    "description": "The unsubscribe function.",
                    "lineNumber": 9,
                    "type": {
                      "type": "NameExpression",
                      "name": "Function"
                    }
                  }
                ],
                "loc": {
                  "start": {
                    "line": 304,
                    "column": 4
                  },
                  "end": {
                    "line": 314,
                    "column": 7
                  }
                },
                "context": {
                  "loc": {
                    "start": {
                      "line": 315,
                      "column": 4
                    },
                    "end": {
                      "line": 332,
                      "column": 5
                    }
                  },
                  "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/messaging/interface/mixins.js"
                },
                "augments": [],
                "examples": [],
                "implements": [],
                "params": [
                  {
                    "title": "param",
                    "name": "subscriber",
                    "lineNumber": 6,
                    "description": {
                      "type": "root",
                      "children": [
                        {
                          "type": "paragraph",
                          "children": [
                            {
                              "type": "text",
                              "value": "A subscriber function to be triggered when the messages array of this conversation is updated."
                            }
                          ]
                        }
                      ]
                    },
                    "type": {
                      "type": "NameExpression",
                      "name": "Function"
                    },
                    "properties": [
                      {
                        "title": "param",
                        "name": "subscriber.destination",
                        "lineNumber": 7,
                        "description": {
                          "type": "root",
                          "children": [
                            {
                              "type": "paragraph",
                              "children": [
                                {
                                  "type": "text",
                                  "value": "The conversation participants."
                                }
                              ]
                            }
                          ]
                        },
                        "type": {
                          "type": "NameExpression",
                          "name": "string"
                        }
                      },
                      {
                        "title": "param",
                        "name": "subscriber.messageId",
                        "lineNumber": 8,
                        "description": {
                          "type": "root",
                          "children": [
                            {
                              "type": "paragraph",
                              "children": [
                                {
                                  "type": "text",
                                  "value": "The ID of the message that caused the event."
                                }
                              ]
                            }
                          ]
                        },
                        "type": {
                          "type": "NameExpression",
                          "name": "string"
                        }
                      }
                    ]
                  }
                ],
                "properties": [],
                "returns": [
                  {
                    "description": {
                      "type": "root",
                      "children": [
                        {
                          "type": "paragraph",
                          "children": [
                            {
                              "type": "text",
                              "value": "The unsubscribe function."
                            }
                          ]
                        }
                      ]
                    },
                    "title": "returns",
                    "type": {
                      "type": "NameExpression",
                      "name": "Function"
                    }
                  }
                ],
                "sees": [],
                "throws": [],
                "todos": [],
                "yields": [],
                "access": "public",
                "scope": "static",
                "memberof": "conversation.Conversation",
                "name": "subscribe",
                "kind": "function",
                "members": {
                  "global": [],
                  "inner": [],
                  "instance": [],
                  "events": [],
                  "static": []
                },
                "path": [
                  {
                    "name": "conversation",
                    "kind": "namespace"
                  },
                  {
                    "name": "Conversation",
                    "kind": "typedef",
                    "scope": "static"
                  },
                  {
                    "name": "subscribe",
                    "kind": "function",
                    "scope": "static"
                  }
                ],
                "namespace": "conversation.Conversation.subscribe"
              },
              {
                "description": {
                  "type": "root",
                  "children": [
                    {
                      "type": "paragraph",
                      "children": [
                        {
                          "type": "text",
                          "value": "Allows the user to fetch messages associated with a specific conversation from the server.\nWhen the operation is complete, a NEW_MESSAGE event will be emitted.\nMessages can then be retrieved using getMessages."
                        }
                      ]
                    }
                  ]
                },
                "tags": [
                  {
                    "title": "public",
                    "description": null,
                    "lineNumber": 5,
                    "type": null
                  },
                  {
                    "title": "static",
                    "description": null,
                    "lineNumber": 6
                  },
                  {
                    "title": "memberof",
                    "description": "conversation.Conversation",
                    "lineNumber": 7
                  },
                  {
                    "title": "method",
                    "description": null,
                    "lineNumber": 8,
                    "name": "fetchMessages"
                  },
                  {
                    "title": "param",
                    "description": "An amount of messages to fetch.",
                    "lineNumber": 9,
                    "type": {
                      "type": "OptionalType",
                      "expression": {
                        "type": "NameExpression",
                        "name": "number"
                      }
                    },
                    "name": "amount",
                    "default": "50"
                  }
                ],
                "loc": {
                  "start": {
                    "line": 351,
                    "column": 4
                  },
                  "end": {
                    "line": 361,
                    "column": 7
                  }
                },
                "context": {
                  "loc": {
                    "start": {
                      "line": 362,
                      "column": 4
                    },
                    "end": {
                      "line": 364,
                      "column": 5
                    }
                  },
                  "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/messaging/interface/mixins.js"
                },
                "augments": [],
                "examples": [],
                "implements": [],
                "params": [
                  {
                    "title": "param",
                    "name": "amount",
                    "lineNumber": 9,
                    "description": {
                      "type": "root",
                      "children": [
                        {
                          "type": "paragraph",
                          "children": [
                            {
                              "type": "text",
                              "value": "An amount of messages to fetch."
                            }
                          ]
                        }
                      ]
                    },
                    "type": {
                      "type": "NameExpression",
                      "name": "number"
                    },
                    "default": "50"
                  }
                ],
                "properties": [],
                "returns": [],
                "sees": [],
                "throws": [],
                "todos": [],
                "yields": [],
                "access": "public",
                "scope": "static",
                "memberof": "conversation.Conversation",
                "kind": "function",
                "name": "fetchMessages",
                "members": {
                  "global": [],
                  "inner": [],
                  "instance": [],
                  "events": [],
                  "static": []
                },
                "path": [
                  {
                    "name": "conversation",
                    "kind": "namespace"
                  },
                  {
                    "name": "Conversation",
                    "kind": "typedef",
                    "scope": "static"
                  },
                  {
                    "name": "fetchMessages",
                    "kind": "function",
                    "scope": "static"
                  }
                ],
                "namespace": "conversation.Conversation.fetchMessages"
              }
            ]
          },
          "path": [
            {
              "name": "conversation",
              "kind": "namespace"
            },
            {
              "name": "Conversation",
              "kind": "typedef",
              "scope": "static"
            }
          ],
          "namespace": "conversation.Conversation"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "A Message object is a means by which a sender can deliver information to a recipient."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Creating and sending a message:"
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "A message object can be obtained through the "
                  },
                  {
                    "type": "link",
                    "url": "#conversationconversationcreatemessage",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "Conversation.createMessage"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " API on an existing conversation."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Messages have Parts which represent pieces of a message, such as a text part, a json object part or a file part.\nOnce all the desired parts have been added to the message using the "
                  },
                  {
                    "type": "link",
                    "url": "#conversationmessageaddpart",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "Message.addPart"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " function,\nthe message can then be sent using the "
                  },
                  {
                    "type": "link",
                    "url": "#conversationmessagesend",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "Message.send"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " function."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Once the sender sends a message, this message is saved in sender's state as an object.\nSimilarly, once the recipient gets a message, this message is saved in recipient's state."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Retrieving a delivered message:"
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Once a message is delivered successfully, it can be\nobtained through the "
                  },
                  {
                    "type": "link",
                    "url": "#conversationconversationgetmessages",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "Conversation.getMessages"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " or "
                  },
                  {
                    "type": "link",
                    "url": "#conversationconversationgetmessage",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "Conversation.getMessage"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " API on an existing conversation."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Below are the properties pertaining to the message object, returned by Conversation.getMessage(s) APIs, for either sender or recipient."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "property",
              "description": "A Unix timestamp in seconds marking the time when the message was created by sender.",
              "lineNumber": 21,
              "type": {
                "type": "NameExpression",
                "name": "number"
              },
              "name": "timestamp"
            },
            {
              "title": "property",
              "description": "An array of Part Objects.",
              "lineNumber": 22,
              "type": {
                "type": "TypeApplication",
                "expression": {
                  "type": "NameExpression",
                  "name": "Array"
                },
                "applications": [
                  {
                    "type": "NameExpression",
                    "name": "conversation.Part"
                  }
                ]
              },
              "name": "parts"
            },
            {
              "title": "property",
              "description": "The primary contact address of the sender.",
              "lineNumber": 23,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "sender"
            },
            {
              "title": "property",
              "description": "An array of primary contact addresses associated with various destinations to which the message is meant to be delivered.",
              "lineNumber": 24,
              "type": {
                "type": "TypeApplication",
                "expression": {
                  "type": "NameExpression",
                  "name": "Array"
                },
                "applications": [
                  {
                    "type": "NameExpression",
                    "name": "string"
                  }
                ]
              },
              "name": "destination"
            },
            {
              "title": "property",
              "description": "The unique id of the message. The message object (stored in sender's state) has a different id\nthan the one associated with the message object stored in recipient's state.",
              "lineNumber": 25,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "messageId"
            },
            {
              "title": "property",
              "description": "The type of message that was sent. See {@link conversation.chatTypes} for valid types.\nThis property applies only to message objects stored in sender's state.",
              "lineNumber": 27,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "type"
            },
            {
              "title": "public",
              "description": null,
              "lineNumber": 30,
              "type": null
            },
            {
              "title": "static",
              "description": null,
              "lineNumber": 31
            },
            {
              "title": "typedef",
              "description": null,
              "lineNumber": 32,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "Message"
            },
            {
              "title": "memberof",
              "description": "conversation",
              "lineNumber": 33
            }
          ],
          "loc": {
            "start": {
              "line": 28,
              "column": 0
            },
            "end": {
              "line": 62,
              "column": 3
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 64,
                "column": 0
              },
              "end": {
                "line": 64,
                "column": 51
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/messaging/interface/mixins.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [],
          "properties": [
            {
              "title": "property",
              "name": "timestamp",
              "lineNumber": 21,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "A Unix timestamp in seconds marking the time when the message was created by sender."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "number"
              }
            },
            {
              "title": "property",
              "name": "parts",
              "lineNumber": 22,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "An array of Part Objects."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "TypeApplication",
                "expression": {
                  "type": "NameExpression",
                  "name": "Array"
                },
                "applications": [
                  {
                    "type": "NameExpression",
                    "name": "conversation.Part"
                  }
                ]
              }
            },
            {
              "title": "property",
              "name": "sender",
              "lineNumber": 23,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The primary contact address of the sender."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "property",
              "name": "destination",
              "lineNumber": 24,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "An array of primary contact addresses associated with various destinations to which the message is meant to be delivered."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "TypeApplication",
                "expression": {
                  "type": "NameExpression",
                  "name": "Array"
                },
                "applications": [
                  {
                    "type": "NameExpression",
                    "name": "string"
                  }
                ]
              }
            },
            {
              "title": "property",
              "name": "messageId",
              "lineNumber": 25,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The unique id of the message. The message object (stored in sender's state) has a different id\nthan the one associated with the message object stored in recipient's state."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "property",
              "name": "type",
              "lineNumber": 27,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The type of message that was sent. See "
                      },
                      {
                        "type": "link",
                        "url": "conversation.chatTypes",
                        "title": null,
                        "jsdoc": true,
                        "children": [
                          {
                            "type": "text",
                            "value": "conversation.chatTypes"
                          }
                        ]
                      },
                      {
                        "type": "text",
                        "value": " for valid types.\nThis property applies only to message objects stored in sender's state."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "scope": "static",
          "kind": "typedef",
          "name": "Message",
          "type": {
            "type": "NameExpression",
            "name": "Object"
          },
          "memberof": "conversation",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": [
              {
                "description": {
                  "type": "root",
                  "children": [
                    {
                      "type": "paragraph",
                      "children": [
                        {
                          "type": "text",
                          "value": "Sends the message."
                        }
                      ]
                    }
                  ]
                },
                "tags": [
                  {
                    "title": "public",
                    "description": null,
                    "lineNumber": 3,
                    "type": null
                  },
                  {
                    "title": "static",
                    "description": null,
                    "lineNumber": 4
                  },
                  {
                    "title": "method",
                    "description": null,
                    "lineNumber": 5,
                    "name": "send"
                  },
                  {
                    "title": "memberof",
                    "description": "conversation.Message",
                    "lineNumber": 6
                  }
                ],
                "loc": {
                  "start": {
                    "line": 392,
                    "column": 4
                  },
                  "end": {
                    "line": 399,
                    "column": 7
                  }
                },
                "context": {
                  "loc": {
                    "start": {
                      "line": 400,
                      "column": 4
                    },
                    "end": {
                      "line": 405,
                      "column": 5
                    }
                  },
                  "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/messaging/interface/mixins.js"
                },
                "augments": [],
                "examples": [],
                "implements": [],
                "params": [],
                "properties": [],
                "returns": [],
                "sees": [],
                "throws": [],
                "todos": [],
                "yields": [],
                "access": "public",
                "scope": "static",
                "kind": "function",
                "name": "send",
                "memberof": "conversation.Message",
                "members": {
                  "global": [],
                  "inner": [],
                  "instance": [],
                  "events": [],
                  "static": []
                },
                "path": [
                  {
                    "name": "conversation",
                    "kind": "namespace"
                  },
                  {
                    "name": "Message",
                    "kind": "typedef",
                    "scope": "static"
                  },
                  {
                    "name": "send",
                    "kind": "function",
                    "scope": "static"
                  }
                ],
                "namespace": "conversation.Message.send"
              },
              {
                "description": {
                  "type": "root",
                  "children": [
                    {
                      "type": "paragraph",
                      "children": [
                        {
                          "type": "text",
                          "value": "Add an additional part to a message."
                        }
                      ]
                    }
                  ]
                },
                "tags": [
                  {
                    "title": "public",
                    "description": null,
                    "lineNumber": 3,
                    "type": null
                  },
                  {
                    "title": "static",
                    "description": null,
                    "lineNumber": 4
                  },
                  {
                    "title": "memberof",
                    "description": "conversation.Message",
                    "lineNumber": 5
                  },
                  {
                    "title": "requires",
                    "description": null,
                    "lineNumber": 6,
                    "name": "richMessagingWithoutLocation"
                  },
                  {
                    "title": "param",
                    "description": "The part to add to the message.",
                    "lineNumber": 7,
                    "type": {
                      "type": "NameExpression",
                      "name": "Object"
                    },
                    "name": "part"
                  },
                  {
                    "title": "param",
                    "description": "The type of part. Can be \"text\", \"json\", \"file\", or \"location\".",
                    "lineNumber": 8,
                    "type": {
                      "type": "NameExpression",
                      "name": "string"
                    },
                    "name": "part.type"
                  },
                  {
                    "title": "param",
                    "description": "The text of the part. Must be a part of type \"text\".",
                    "lineNumber": 9,
                    "type": {
                      "type": "OptionalType",
                      "expression": {
                        "type": "NameExpression",
                        "name": "string"
                      }
                    },
                    "name": "part.text"
                  },
                  {
                    "title": "param",
                    "description": "The json of the part. Must be a part of type \"json\".",
                    "lineNumber": 10,
                    "type": {
                      "type": "OptionalType",
                      "expression": {
                        "type": "NameExpression",
                        "name": "Object"
                      }
                    },
                    "name": "part.json"
                  },
                  {
                    "title": "param",
                    "description": "The file of the part. Must be a part of type \"file\".",
                    "lineNumber": 11,
                    "type": {
                      "type": "OptionalType",
                      "expression": {
                        "type": "NameExpression",
                        "name": "File"
                      }
                    },
                    "name": "part.file"
                  }
                ],
                "loc": {
                  "start": {
                    "line": 443,
                    "column": 4
                  },
                  "end": {
                    "line": 455,
                    "column": 7
                  }
                },
                "context": {
                  "loc": {
                    "start": {
                      "line": 456,
                      "column": 4
                    },
                    "end": {
                      "line": 463,
                      "column": 5
                    }
                  },
                  "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/messaging/interface/mixins.js"
                },
                "augments": [],
                "examples": [],
                "implements": [],
                "params": [
                  {
                    "title": "param",
                    "name": "part",
                    "lineNumber": 7,
                    "description": {
                      "type": "root",
                      "children": [
                        {
                          "type": "paragraph",
                          "children": [
                            {
                              "type": "text",
                              "value": "The part to add to the message."
                            }
                          ]
                        }
                      ]
                    },
                    "type": {
                      "type": "NameExpression",
                      "name": "Object"
                    },
                    "properties": [
                      {
                        "title": "param",
                        "name": "part.type",
                        "lineNumber": 8,
                        "description": {
                          "type": "root",
                          "children": [
                            {
                              "type": "paragraph",
                              "children": [
                                {
                                  "type": "text",
                                  "value": "The type of part. Can be \"text\", \"json\", \"file\", or \"location\"."
                                }
                              ]
                            }
                          ]
                        },
                        "type": {
                          "type": "NameExpression",
                          "name": "string"
                        }
                      },
                      {
                        "title": "param",
                        "name": "part.text",
                        "lineNumber": 9,
                        "description": {
                          "type": "root",
                          "children": [
                            {
                              "type": "paragraph",
                              "children": [
                                {
                                  "type": "text",
                                  "value": "The text of the part. Must be a part of type \"text\"."
                                }
                              ]
                            }
                          ]
                        },
                        "type": {
                          "type": "OptionalType",
                          "expression": {
                            "type": "NameExpression",
                            "name": "string"
                          }
                        }
                      },
                      {
                        "title": "param",
                        "name": "part.json",
                        "lineNumber": 10,
                        "description": {
                          "type": "root",
                          "children": [
                            {
                              "type": "paragraph",
                              "children": [
                                {
                                  "type": "text",
                                  "value": "The json of the part. Must be a part of type \"json\"."
                                }
                              ]
                            }
                          ]
                        },
                        "type": {
                          "type": "OptionalType",
                          "expression": {
                            "type": "NameExpression",
                            "name": "Object"
                          }
                        }
                      },
                      {
                        "title": "param",
                        "name": "part.file",
                        "lineNumber": 11,
                        "description": {
                          "type": "root",
                          "children": [
                            {
                              "type": "paragraph",
                              "children": [
                                {
                                  "type": "text",
                                  "value": "The file of the part. Must be a part of type \"file\"."
                                }
                              ]
                            }
                          ]
                        },
                        "type": {
                          "type": "OptionalType",
                          "expression": {
                            "type": "NameExpression",
                            "name": "File"
                          }
                        }
                      }
                    ]
                  }
                ],
                "properties": [],
                "returns": [],
                "sees": [],
                "throws": [],
                "todos": [],
                "yields": [],
                "access": "public",
                "scope": "static",
                "memberof": "conversation.Message",
                "name": "addPart",
                "kind": "function",
                "members": {
                  "global": [],
                  "inner": [],
                  "instance": [],
                  "events": [],
                  "static": []
                },
                "path": [
                  {
                    "name": "conversation",
                    "kind": "namespace"
                  },
                  {
                    "name": "Message",
                    "kind": "typedef",
                    "scope": "static"
                  },
                  {
                    "name": "addPart",
                    "kind": "function",
                    "scope": "static"
                  }
                ],
                "namespace": "conversation.Message.addPart"
              }
            ]
          },
          "path": [
            {
              "name": "conversation",
              "kind": "namespace"
            },
            {
              "name": "Message",
              "kind": "typedef",
              "scope": "static"
            }
          ],
          "namespace": "conversation.Message"
        }
      ]
    },
    "path": [
      {
        "name": "conversation",
        "kind": "namespace"
      }
    ],
    "namespace": "conversation"
  },
  {
    "description": {
      "type": "root",
      "children": [
        {
          "type": "paragraph",
          "children": [
            {
              "type": "text",
              "value": "An error occurred while performing a device operation."
            }
          ]
        }
      ]
    },
    "tags": [
      {
        "title": "public",
        "description": null,
        "lineNumber": 2,
        "type": null
      },
      {
        "title": "memberof",
        "description": "media",
        "lineNumber": 3
      },
      {
        "title": "requires",
        "description": null,
        "lineNumber": 4,
        "name": "call"
      },
      {
        "title": "requires",
        "description": null,
        "lineNumber": 5,
        "name": "callMe"
      },
      {
        "title": "param",
        "description": null,
        "lineNumber": 6,
        "type": {
          "type": "NameExpression",
          "name": "Object"
        },
        "name": "params"
      },
      {
        "title": "param",
        "description": "The Basic error object.",
        "lineNumber": 7,
        "type": {
          "type": "NameExpression",
          "name": "api.BasicError"
        },
        "name": "params.error"
      }
    ],
    "loc": {
      "start": {
        "line": 180,
        "column": 0
      },
      "end": {
        "line": 188,
        "column": 3
      }
    },
    "context": {
      "loc": {
        "start": {
          "line": 189,
          "column": 0
        },
        "end": {
          "line": 189,
          "column": 43
        }
      },
      "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/eventTypes.js"
    },
    "augments": [],
    "examples": [],
    "implements": [],
    "params": [
      {
        "title": "param",
        "name": "params",
        "lineNumber": 6,
        "type": {
          "type": "NameExpression",
          "name": "Object"
        },
        "properties": [
          {
            "title": "param",
            "name": "params.error",
            "lineNumber": 7,
            "description": {
              "type": "root",
              "children": [
                {
                  "type": "paragraph",
                  "children": [
                    {
                      "type": "text",
                      "value": "The Basic error object."
                    }
                  ]
                }
              ]
            },
            "type": {
              "type": "NameExpression",
              "name": "api.BasicError"
            }
          }
        ]
      }
    ],
    "properties": [],
    "returns": [],
    "sees": [],
    "throws": [],
    "todos": [],
    "yields": [],
    "access": "public",
    "memberof": "media",
    "name": "DEVICE_ERROR",
    "kind": "constant",
    "type": {
      "type": "NameExpression",
      "name": "string"
    },
    "members": {
      "global": [],
      "inner": [],
      "instance": [],
      "events": [],
      "static": []
    },
    "path": [
      {
        "name": "DEVICE_ERROR",
        "kind": "constant"
      }
    ],
    "namespace": "DEVICE_ERROR"
  },
  {
    "description": {
      "type": "root",
      "children": [
        {
          "type": "paragraph",
          "children": [
            {
              "type": "text",
              "value": "Retrieves the available media devices for use."
            }
          ]
        }
      ]
    },
    "tags": [
      {
        "title": "memberof",
        "description": "media",
        "lineNumber": 1
      },
      {
        "title": "public",
        "description": null,
        "lineNumber": 2,
        "type": null
      },
      {
        "title": "requires",
        "description": null,
        "lineNumber": 3,
        "name": "call"
      },
      {
        "title": "requires",
        "description": null,
        "lineNumber": 4,
        "name": "callMe"
      },
      {
        "title": "method",
        "description": null,
        "lineNumber": 5,
        "name": "getDevices"
      }
    ],
    "loc": {
      "start": {
        "line": 89,
        "column": 4
      },
      "end": {
        "line": 95,
        "column": 7
      }
    },
    "context": {
      "loc": {
        "start": {
          "line": 96,
          "column": 4
        },
        "end": {
          "line": 99,
          "column": 5
        }
      },
      "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/api.js"
    },
    "augments": [],
    "examples": [],
    "implements": [],
    "params": [],
    "properties": [],
    "returns": [],
    "sees": [],
    "throws": [],
    "todos": [],
    "yields": [],
    "memberof": "media",
    "access": "public",
    "kind": "function",
    "name": "getDevices",
    "members": {
      "global": [],
      "inner": [],
      "instance": [],
      "events": [],
      "static": []
    },
    "path": [
      {
        "name": "getDevices",
        "kind": "function"
      }
    ],
    "namespace": "getDevices"
  },
  {
    "description": {
      "type": "root",
      "children": [
        {
          "type": "paragraph",
          "children": [
            {
              "type": "text",
              "value": "The SDK has an internal logging system for providing information about its\nbehaviour. The SDK will generate logs, at different levels for different\ntypes of information, which are routed to a\n\""
            },
            {
              "type": "link",
              "url": "#loggerloghandler",
              "title": null,
              "jsdoc": true,
              "children": [
                {
                  "type": "text",
                  "value": "Log Handler"
                }
              ]
            },
            {
              "type": "text",
              "value": "\" for consumption. An application\ncan provide their own Log Handler (see\n"
            },
            {
              "type": "link",
              "url": "#configconfiglogs",
              "title": null,
              "jsdoc": true,
              "children": [
                {
                  "type": "text",
                  "value": "config.logs"
                }
              ]
            },
            {
              "type": "text",
              "value": ") to customize how the logs are\nhandled, or allow the default Log Handler to print the logs to the\nconsole."
            }
          ]
        },
        {
          "type": "paragraph",
          "children": [
            {
              "type": "text",
              "value": "The SDK's default Log Handler is merely a thin wrapper around the browser's\nconsole API (ie. "
            },
            {
              "type": "inlineCode",
              "value": "window.console"
            },
            {
              "type": "text",
              "value": "). It receives the log generated by the\nSDK, called a \""
            },
            {
              "type": "link",
              "url": "#loggerlogentry",
              "title": null,
              "jsdoc": true,
              "children": [
                {
                  "type": "text",
                  "value": "Log Entry"
                }
              ]
            },
            {
              "type": "text",
              "value": "\", formats a\nhuman-readable message with it, then uses the console to log it at the\nappropriate level. This is important to be aware of, since your browser's\nconsole may affect how you see the SDK's default log messages. Since the\ndefault Log Handler uses the console's levels, the browser may filter\nwhich messages are shown depending on which levels it has configured. For\na user that understands console log levels, this can be helpful for\nfiltering the logs to only the relevant information. But it can equally\nbe a hindrance by hiding the more detailed log messages (at the 'debug'\nlevel), since browser can have this level hidden by default. For this\nreason, we recommend providing a custom Log Handler to the SDK that is\nbetter suited for your application and its users."
            }
          ]
        }
      ]
    },
    "tags": [
      {
        "title": "public",
        "description": null,
        "lineNumber": 25,
        "type": null
      },
      {
        "title": "namespace",
        "description": null,
        "lineNumber": 26,
        "type": null,
        "name": "logger"
      },
      {
        "title": "requires",
        "description": null,
        "lineNumber": 27,
        "name": "logs"
      }
    ],
    "loc": {
      "start": {
        "line": 6,
        "column": 0
      },
      "end": {
        "line": 34,
        "column": 3
      }
    },
    "context": {
      "loc": {
        "start": {
          "line": 36,
          "column": 0
        },
        "end": {
          "line": 181,
          "column": 1
        }
      },
      "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/logs/interface/api.js"
    },
    "augments": [],
    "examples": [],
    "implements": [],
    "params": [],
    "properties": [],
    "returns": [],
    "sees": [],
    "throws": [],
    "todos": [],
    "yields": [],
    "access": "public",
    "kind": "namespace",
    "name": "logger",
    "members": {
      "global": [],
      "inner": [],
      "instance": [],
      "events": [],
      "static": [
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Possible levels for the SDK logger."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "The SDK will provide "
                  },
                  {
                    "type": "link",
                    "url": "#loggerlogentry",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "Log Entries"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " to the\n"
                  },
                  {
                    "type": "link",
                    "url": "#loggerloghandler",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "Log Handler"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " for all logs at or above the set\nlog level. 'debug' is considered the lowest level and 'silent' the\nhighest level. For example, if the current level is 'info', then the\n"
                  },
                  {
                    "type": "link",
                    "url": "#loggerloghandler",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "Log Handler"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " will receive\n"
                  },
                  {
                    "type": "link",
                    "url": "#loggerlogentry",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "Log Entries"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " for logs at 'info', 'warn', and\n'error', but not for the 'debug' level."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 10,
              "type": null
            },
            {
              "title": "static",
              "description": null,
              "lineNumber": 11
            },
            {
              "title": "memberof",
              "description": "logger",
              "lineNumber": 12
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 13,
              "name": "levels"
            },
            {
              "title": "property",
              "description": "Nothing will be logged.",
              "lineNumber": 14,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "SILENT"
            },
            {
              "title": "property",
              "description": "Unhandled error information will be logged. If\n   the SDK encounters an issue it cannot resolve, the error will be included\n   in the logs. This likely points to an issue with the SDK itself or an\n   issue with how the SDK is being used.",
              "lineNumber": 15,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "ERROR"
            },
            {
              "title": "property",
              "description": "Warning messages for the application developer will\n   be logged. If the SDK encounters an issue that it can recover and continue,\n   a warning about the issue will be included in the logs. These logs point\n   to issues that need to be handled by the application. For example, providing\n   an invalid configuration to the SDK will cause a warning log that explains\n   the issue.",
              "lineNumber": 19,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "WARN"
            },
            {
              "title": "property",
              "description": "General information about the SDK's operations will\n   be logged, outlining how the SDK is handling the operations. Reading through\n   these logs should provide a high-level view of what the SDK is doing,\n   and why it is doing it.",
              "lineNumber": 25,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "INFO"
            },
            {
              "title": "property",
              "description": "Detailed information about the SDK's operations,\n   meant for debugging issues, will be logged. Specific information and relevant\n   operation data are provided for understanding the scenario that the SDK\n   was in during the operation.",
              "lineNumber": 29,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "DEBUG"
            }
          ],
          "loc": {
            "start": {
              "line": 40,
              "column": 4
            },
            "end": {
              "line": 73,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 74,
                "column": 4
              },
              "end": {
                "line": 80,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/logs/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [],
          "properties": [
            {
              "title": "property",
              "name": "SILENT",
              "lineNumber": 14,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Nothing will be logged."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "property",
              "name": "ERROR",
              "lineNumber": 15,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Unhandled error information will be logged. If\nthe SDK encounters an issue it cannot resolve, the error will be included\nin the logs. This likely points to an issue with the SDK itself or an\nissue with how the SDK is being used."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "property",
              "name": "WARN",
              "lineNumber": 19,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Warning messages for the application developer will\nbe logged. If the SDK encounters an issue that it can recover and continue,\na warning about the issue will be included in the logs. These logs point\nto issues that need to be handled by the application. For example, providing\nan invalid configuration to the SDK will cause a warning log that explains\nthe issue."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "property",
              "name": "INFO",
              "lineNumber": 25,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "General information about the SDK's operations will\nbe logged, outlining how the SDK is handling the operations. Reading through\nthese logs should provide a high-level view of what the SDK is doing,\nand why it is doing it."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "property",
              "name": "DEBUG",
              "lineNumber": 29,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Detailed information about the SDK's operations,\nmeant for debugging issues, will be logged. Specific information and relevant\noperation data are provided for understanding the scenario that the SDK\nwas in during the operation."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "scope": "static",
          "memberof": "logger",
          "kind": "function",
          "name": "levels",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "logger",
              "kind": "namespace"
            },
            {
              "name": "levels",
              "kind": "function",
              "scope": "static"
            }
          ],
          "namespace": "logger.levels"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "A LogEntry object is the data that the SDK compiles when information is\nlogged. It contains both the logged information and meta-info about when\nand who logged it."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "A "
                  },
                  {
                    "type": "link",
                    "url": "#loggerloghandler",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "LogHandler"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " provided to the SDK (see\n"
                  },
                  {
                    "type": "link",
                    "url": "#configconfiglogs",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "config.logs"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": ") will need to handle LogEntry\nobjects."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 9,
              "type": null
            },
            {
              "title": "static",
              "description": null,
              "lineNumber": 10
            },
            {
              "title": "typedef",
              "description": null,
              "lineNumber": 11,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "LogEntry"
            },
            {
              "title": "memberof",
              "description": "logger",
              "lineNumber": 12
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 13,
              "name": "logs"
            },
            {
              "title": "property",
              "description": "When the log was created, based on UNIX epoch.",
              "lineNumber": 14,
              "type": {
                "type": "NameExpression",
                "name": "number"
              },
              "name": "timestamp"
            },
            {
              "title": "property",
              "description": "The log function that was used to create the log.",
              "lineNumber": 15,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "method"
            },
            {
              "title": "property",
              "description": "The level of severity the log.",
              "lineNumber": 16,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "level"
            },
            {
              "title": "property",
              "description": "The subject that the log is about.",
              "lineNumber": 17,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "target"
            },
            {
              "title": "property",
              "description": "The type of the target. This is also\n   used as part of the name of the Logger.",
              "lineNumber": 18,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "target.type"
            },
            {
              "title": "property",
              "description": "A unique identifier for the target.",
              "lineNumber": 20,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "target.id"
            },
            {
              "title": "property",
              "description": "A combination of the target type and ID. If no\n   id was provided, this will be the same as the type.",
              "lineNumber": 21,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "target.name"
            },
            {
              "title": "property",
              "description": "The logged information, given to the Logger\n   method as parameters.",
              "lineNumber": 23,
              "type": {
                "type": "NameExpression",
                "name": "Array"
              },
              "name": "messages"
            },
            {
              "title": "property",
              "description": "Timing data, if the log method was a timer method.",
              "lineNumber": 25,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "Object"
                }
              },
              "name": "timer"
            },
            {
              "title": "example",
              "description": "function defaultLogHandler (logEntry) {\n  // Compile the meta info of the log for a prefix.\n  const { timestamp, level, target } = logEntry\n  let { method } = logEntry\n  const logInfo = `${timestamp} - ${target.type} - ${level}`\n\n  // Assume that the first message parameter is a string.\n  const [log, ...extra] = logEntry.messages\n\n  // For the timer methods, don't actually use the console methods.\n  //    The Logger already did the timing, so simply log out the info.\n  if (['time', 'timeLog', 'timeEnd'].includes(method)) {\n    method = 'debug'\n  }\n\n  console[method](`${logInfo} - ${log}`, ...extra)\n}",
              "lineNumber": 26
            }
          ],
          "loc": {
            "start": {
              "line": 8,
              "column": 0
            },
            "end": {
              "line": 52,
              "column": 3
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 1,
                "column": 0
              },
              "end": {
                "line": 94,
                "column": 0
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/logs/docs.js"
          },
          "augments": [],
          "examples": [
            {
              "description": "function defaultLogHandler (logEntry) {\n  // Compile the meta info of the log for a prefix.\n  const { timestamp, level, target } = logEntry\n  let { method } = logEntry\n  const logInfo = `${timestamp} - ${target.type} - ${level}`\n\n  // Assume that the first message parameter is a string.\n  const [log, ...extra] = logEntry.messages\n\n  // For the timer methods, don't actually use the console methods.\n  //    The Logger already did the timing, so simply log out the info.\n  if (['time', 'timeLog', 'timeEnd'].includes(method)) {\n    method = 'debug'\n  }\n\n  console[method](`${logInfo} - ${log}`, ...extra)\n}"
            }
          ],
          "implements": [],
          "params": [],
          "properties": [
            {
              "title": "property",
              "name": "timestamp",
              "lineNumber": 14,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "When the log was created, based on UNIX epoch."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "number"
              }
            },
            {
              "title": "property",
              "name": "method",
              "lineNumber": 15,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The log function that was used to create the log."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "property",
              "name": "level",
              "lineNumber": 16,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The level of severity the log."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "property",
              "name": "target",
              "lineNumber": 17,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The subject that the log is about."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "properties": [
                {
                  "title": "property",
                  "name": "target.type",
                  "lineNumber": 18,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The type of the target. This is also\nused as part of the name of the Logger."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "string"
                  }
                },
                {
                  "title": "property",
                  "name": "target.id",
                  "lineNumber": 20,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "A unique identifier for the target."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  }
                },
                {
                  "title": "property",
                  "name": "target.name",
                  "lineNumber": 21,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "A combination of the target type and ID. If no\nid was provided, this will be the same as the type."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "string"
                  }
                }
              ]
            },
            {
              "title": "property",
              "name": "messages",
              "lineNumber": 23,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The logged information, given to the Logger\nmethod as parameters."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "Array"
              }
            },
            {
              "title": "property",
              "name": "timer",
              "lineNumber": 25,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Timing data, if the log method was a timer method."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "Object"
                }
              }
            }
          ],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "scope": "static",
          "kind": "typedef",
          "name": "LogEntry",
          "type": {
            "type": "NameExpression",
            "name": "Object"
          },
          "memberof": "logger",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "logger",
              "kind": "namespace"
            },
            {
              "name": "LogEntry",
              "kind": "typedef",
              "scope": "static"
            }
          ],
          "namespace": "logger.LogEntry"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "A LogHandler can be used to customize how the SDK should log information. By\ndefault, the SDK will log information to the console, but a LogHandler can\nbe configured to change this behaviour."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "A LogHandler can be provided to the SDK as part of its configuration (see\n"
                  },
                  {
                    "type": "link",
                    "url": "#configconfiglogs",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "config.logs"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": "). The SDK will then provide this\nfunction with the logged information."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 9,
              "type": null
            },
            {
              "title": "static",
              "description": null,
              "lineNumber": 10
            },
            {
              "title": "typedef",
              "description": null,
              "lineNumber": 11,
              "type": {
                "type": "NameExpression",
                "name": "Function"
              },
              "name": "LogHandler"
            },
            {
              "title": "memberof",
              "description": "logger",
              "lineNumber": 12
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 13,
              "name": "logs"
            },
            {
              "title": "param",
              "description": "The LogEntry to be logged.",
              "lineNumber": 14,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "LogEntry"
            },
            {
              "title": "example",
              "description": "// Define a custom function to handle logs.\nfunction logHandler (logEntry) {\n  // Compile the meta info of the log for a prefix.\n  const { timestamp, level, target } = logEntry\n  let { method } = logEntry\n  const logInfo = `${timestamp} - ${target.type} - ${level}`\n\n  // Assume that the first message parameter is a string.\n  const [log, ...extra] = logEntry.messages\n\n  // For the timer methods, don't actually use the console methods.\n  //    The Logger already did the timing, so simply log out the info.\n  if (['time', 'timeLog', 'timeEnd'].includes(method)) {\n    method = 'debug'\n  }\n\n  console[method](`${logInfo} - ${log}`, ...extra)\n}\n\n// Provide the LogHandler as part of the SDK configurations.\nconst configs = { ... }\nconfigs.logs.handler = logHandler\nconst client = create(configs)",
              "lineNumber": 15
            }
          ],
          "loc": {
            "start": {
              "line": 54,
              "column": 0
            },
            "end": {
              "line": 93,
              "column": 3
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 1,
                "column": 0
              },
              "end": {
                "line": 94,
                "column": 0
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/logs/docs.js"
          },
          "augments": [],
          "examples": [
            {
              "description": "// Define a custom function to handle logs.\nfunction logHandler (logEntry) {\n  // Compile the meta info of the log for a prefix.\n  const { timestamp, level, target } = logEntry\n  let { method } = logEntry\n  const logInfo = `${timestamp} - ${target.type} - ${level}`\n\n  // Assume that the first message parameter is a string.\n  const [log, ...extra] = logEntry.messages\n\n  // For the timer methods, don't actually use the console methods.\n  //    The Logger already did the timing, so simply log out the info.\n  if (['time', 'timeLog', 'timeEnd'].includes(method)) {\n    method = 'debug'\n  }\n\n  console[method](`${logInfo} - ${log}`, ...extra)\n}\n\n// Provide the LogHandler as part of the SDK configurations.\nconst configs = { ... }\nconfigs.logs.handler = logHandler\nconst client = create(configs)"
            }
          ],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "LogEntry",
              "lineNumber": 14,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The LogEntry to be logged."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "Object"
              }
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "scope": "static",
          "kind": "typedef",
          "name": "LogHandler",
          "type": {
            "type": "NameExpression",
            "name": "Function"
          },
          "memberof": "logger",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "logger",
              "kind": "namespace"
            },
            {
              "name": "LogHandler",
              "kind": "typedef",
              "scope": "static"
            }
          ],
          "namespace": "logger.LogHandler"
        }
      ]
    },
    "path": [
      {
        "name": "logger",
        "kind": "namespace"
      }
    ],
    "namespace": "logger"
  },
  {
    "description": {
      "type": "root",
      "children": [
        {
          "type": "paragraph",
          "children": [
            {
              "type": "text",
              "value": "The SDK's media features are used to control WebRTC Media Devices."
            }
          ]
        },
        {
          "type": "paragraph",
          "children": [
            {
              "type": "text",
              "value": "Media functions are all part of the 'media' namespace."
            }
          ]
        }
      ]
    },
    "tags": [
      {
        "title": "public",
        "description": null,
        "lineNumber": 5,
        "type": null
      },
      {
        "title": "module",
        "description": null,
        "lineNumber": 6,
        "type": null,
        "name": "Media"
      }
    ],
    "loc": {
      "start": {
        "line": 13,
        "column": 0
      },
      "end": {
        "line": 20,
        "column": 3
      }
    },
    "context": {
      "loc": {
        "start": {
          "line": 32,
          "column": 0
        },
        "end": {
          "line": 39,
          "column": 20
        }
      },
      "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/api.js"
    },
    "augments": [],
    "examples": [],
    "implements": [],
    "params": [],
    "properties": [],
    "returns": [],
    "sees": [],
    "throws": [],
    "todos": [],
    "yields": [],
    "access": "public",
    "kind": "module",
    "name": "Media",
    "members": {
      "global": [],
      "inner": [],
      "instance": [],
      "events": [],
      "static": []
    },
    "path": [
      {
        "name": "Media",
        "kind": "module"
      }
    ],
    "namespace": "Media"
  },
  {
    "description": {
      "type": "root",
      "children": [
        {
          "type": "paragraph",
          "children": [
            {
              "type": "text",
              "value": "The 'notification' namespace allows user to register/deregister for/from push notifications as well as\nenabling/disabling the processing of websocket notifications."
            }
          ]
        }
      ]
    },
    "tags": [
      {
        "title": "public",
        "description": null,
        "lineNumber": 4,
        "type": null
      },
      {
        "title": "requires",
        "description": null,
        "lineNumber": 5,
        "name": "externalNotifications"
      },
      {
        "title": "namespace",
        "description": null,
        "lineNumber": 6,
        "type": null,
        "name": "notification"
      }
    ],
    "loc": {
      "start": {
        "line": 1,
        "column": 0
      },
      "end": {
        "line": 8,
        "column": 3
      }
    },
    "context": {
      "loc": {
        "start": {
          "line": 10,
          "column": 0
        },
        "end": {
          "line": 10,
          "column": 36
        }
      },
      "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/notifications/interface/api.js"
    },
    "augments": [],
    "examples": [],
    "implements": [],
    "params": [],
    "properties": [],
    "returns": [],
    "sees": [],
    "throws": [],
    "todos": [],
    "yields": [],
    "access": "public",
    "kind": "namespace",
    "name": "notification",
    "members": {
      "global": [],
      "inner": [],
      "instance": [],
      "events": [
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Push notifications registration state has changed."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 4,
              "name": "push"
            },
            {
              "title": "memberof",
              "description": "notification",
              "lineNumber": 5
            },
            {
              "title": "event",
              "description": "notifications:change",
              "lineNumber": 6
            },
            {
              "title": "param",
              "description": null,
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "params"
            },
            {
              "title": "param",
              "description": "The channel for the notification.",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "params.channel"
            }
          ],
          "loc": {
            "start": {
              "line": 1,
              "column": 0
            },
            "end": {
              "line": 10,
              "column": 3
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 11,
                "column": 0
              },
              "end": {
                "line": 11,
                "column": 49
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/notifications/interface/eventTypes.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "params",
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "properties": [
                {
                  "title": "param",
                  "name": "params.channel",
                  "lineNumber": 8,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The channel for the notification."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "string"
                  }
                }
              ]
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "notification",
          "kind": "event",
          "name": "notifications:change",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "notification",
              "kind": "namespace"
            },
            {
              "name": "notifications:change",
              "kind": "event"
            }
          ],
          "namespace": "notification.event:notifications:change"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "An error occurred with push notifications."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 4,
              "name": "push"
            },
            {
              "title": "memberof",
              "description": "notification",
              "lineNumber": 5
            },
            {
              "title": "event",
              "description": "notifications:error",
              "lineNumber": 6
            },
            {
              "title": "param",
              "description": null,
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "params"
            },
            {
              "title": "param",
              "description": "The Basic error object.",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "api.BasicError"
              },
              "name": "params.error"
            },
            {
              "title": "param",
              "description": "The channel for the notification.",
              "lineNumber": 9,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "params.channel"
            }
          ],
          "loc": {
            "start": {
              "line": 13,
              "column": 0
            },
            "end": {
              "line": 23,
              "column": 3
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 24,
                "column": 0
              },
              "end": {
                "line": 24,
                "column": 47
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/notifications/interface/eventTypes.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "params",
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "properties": [
                {
                  "title": "param",
                  "name": "params.error",
                  "lineNumber": 8,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The Basic error object."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "api.BasicError"
                  }
                },
                {
                  "title": "param",
                  "name": "params.channel",
                  "lineNumber": 9,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The channel for the notification."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "string"
                  }
                }
              ]
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "notification",
          "kind": "event",
          "name": "notifications:error",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "notification",
              "kind": "namespace"
            },
            {
              "name": "notifications:error",
              "kind": "event"
            }
          ],
          "namespace": "notification.event:notifications:error"
        }
      ],
      "static": [
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Provides an external notification to the system for processing."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 4,
              "name": "externalNotifications"
            },
            {
              "title": "memberof",
              "description": "notification",
              "lineNumber": 5
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 6,
              "name": "process"
            },
            {
              "title": "param",
              "description": null,
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "notification"
            },
            {
              "title": "param",
              "description": "The channel that the notification came from.",
              "lineNumber": 8,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "channel"
            }
          ],
          "loc": {
            "start": {
              "line": 27,
              "column": 4
            },
            "end": {
              "line": 36,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 37,
                "column": 4
              },
              "end": {
                "line": 40,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/notifications/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "notification",
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              }
            },
            {
              "title": "param",
              "name": "channel",
              "lineNumber": 8,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The channel that the notification came from."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              }
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "notification",
          "kind": "function",
          "name": "process",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "notification",
              "kind": "namespace"
            },
            {
              "name": "process",
              "kind": "function"
            }
          ],
          "namespace": "notificationprocess"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Registers with Apple push notification service. Once registration is successful, the application will be able to receive\nstandard and/or voip push notifications. It can then send these notifications to the SDK with "
                  },
                  {
                    "type": "link",
                    "url": "api.notifications.process",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "api.notifications.process"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": "\nin order for the SDK to process them."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 5,
              "type": null
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 6,
              "name": "push"
            },
            {
              "title": "memberof",
              "description": "notification",
              "lineNumber": 7
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 8,
              "name": "registerApplePush"
            },
            {
              "title": "param",
              "description": null,
              "lineNumber": 9,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "params"
            },
            {
              "title": "param",
              "description": "Array of services for which we wish to receive notifications.",
              "lineNumber": 10,
              "type": {
                "type": "TypeApplication",
                "expression": {
                  "type": "NameExpression",
                  "name": "Array"
                },
                "applications": [
                  {
                    "type": "NameExpression",
                    "name": "string"
                  }
                ]
              },
              "name": "params.services"
            },
            {
              "title": "param",
              "description": "The voip device token used for voip push on iOS.\n                                         This token is required if registering for call service notifications on iOS.",
              "lineNumber": 11,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "params.voipDeviceToken"
            },
            {
              "title": "param",
              "description": "The standardDevice token used for standard push on iOS .\n                                             This token is required when registering for non-call service notifications.",
              "lineNumber": 13,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "params.standardDeviceToken"
            },
            {
              "title": "param",
              "description": "The bundleId to identify the application receiving the push notification.",
              "lineNumber": 15,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "params.bundleId"
            },
            {
              "title": "param",
              "description": "Unique identifier for a client device.",
              "lineNumber": 16,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "params.clientCorrelator"
            },
            {
              "title": "param",
              "description": "The realm used by the push registration service to identify and\n                               establish a connection with the service gateway.",
              "lineNumber": 17,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "params.realm"
            },
            {
              "title": "param",
              "description": "If true, push notification will be sent to production.\n                                       If false, push notification will be sent to sandbox.",
              "lineNumber": 19,
              "type": {
                "type": "NameExpression",
                "name": "boolean"
              },
              "name": "params.isProduction"
            },
            {
              "title": "return",
              "description": "When successful,  the information of the registration.\n                  Promise will reject with error object otherwise.",
              "lineNumber": 21,
              "type": {
                "type": "NameExpression",
                "name": "Promise"
              }
            }
          ],
          "loc": {
            "start": {
              "line": 42,
              "column": 4
            },
            "end": {
              "line": 65,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 66,
                "column": 4
              },
              "end": {
                "line": 94,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/notifications/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "params",
              "lineNumber": 9,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "properties": [
                {
                  "title": "param",
                  "name": "params.services",
                  "lineNumber": 10,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Array of services for which we wish to receive notifications."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "TypeApplication",
                    "expression": {
                      "type": "NameExpression",
                      "name": "Array"
                    },
                    "applications": [
                      {
                        "type": "NameExpression",
                        "name": "string"
                      }
                    ]
                  }
                },
                {
                  "title": "param",
                  "name": "params.voipDeviceToken",
                  "lineNumber": 11,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The voip device token used for voip push on iOS.\nThis token is required if registering for call service notifications on iOS."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "string"
                  }
                },
                {
                  "title": "param",
                  "name": "params.standardDeviceToken",
                  "lineNumber": 13,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The standardDevice token used for standard push on iOS .\nThis token is required when registering for non-call service notifications."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "string"
                  }
                },
                {
                  "title": "param",
                  "name": "params.bundleId",
                  "lineNumber": 15,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The bundleId to identify the application receiving the push notification."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "string"
                  }
                },
                {
                  "title": "param",
                  "name": "params.clientCorrelator",
                  "lineNumber": 16,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Unique identifier for a client device."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "string"
                  }
                },
                {
                  "title": "param",
                  "name": "params.realm",
                  "lineNumber": 17,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The realm used by the push registration service to identify and\nestablish a connection with the service gateway."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "string"
                  }
                },
                {
                  "title": "param",
                  "name": "params.isProduction",
                  "lineNumber": 19,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "If true, push notification will be sent to production.\nIf false, push notification will be sent to sandbox."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "boolean"
                  }
                }
              ]
            }
          ],
          "properties": [],
          "returns": [
            {
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "When successful,  the information of the registration.\nPromise will reject with error object otherwise."
                      }
                    ]
                  }
                ]
              },
              "title": "returns",
              "type": {
                "type": "NameExpression",
                "name": "Promise"
              }
            }
          ],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "notification",
          "kind": "function",
          "name": "registerApplePush",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "notification",
              "kind": "namespace"
            },
            {
              "name": "registerApplePush",
              "kind": "function"
            }
          ],
          "namespace": "notificationregisterApplePush"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Registers with Google push notification service. Once registration is successful, the application will be able to receive\nstandard and/or voip push notifications. It can then send these notifications to the SDK with "
                  },
                  {
                    "type": "link",
                    "url": "api.notifications.process",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "api.notifications.process"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": "\nin order for the SDK to process them."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 5,
              "type": null
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 6,
              "name": "push"
            },
            {
              "title": "memberof",
              "description": "notification",
              "lineNumber": 7
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 8,
              "name": "registerAndroidPush"
            },
            {
              "title": "param",
              "description": null,
              "lineNumber": 9,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "params"
            },
            {
              "title": "param",
              "description": "Array of services to register for.",
              "lineNumber": 10,
              "type": {
                "type": "TypeApplication",
                "expression": {
                  "type": "NameExpression",
                  "name": "Array"
                },
                "applications": [
                  {
                    "type": "NameExpression",
                    "name": "string"
                  }
                ]
              },
              "name": "params.services"
            },
            {
              "title": "param",
              "description": "The device token used for standard push on Android. This token is required\n                                     when registering for all related services notifications.",
              "lineNumber": 11,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "params.deviceToken"
            },
            {
              "title": "param",
              "description": "The bundleId to identify the application receiving the push notification.",
              "lineNumber": 13,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "params.bundleId"
            },
            {
              "title": "param",
              "description": "Unique identifier for a client device.",
              "lineNumber": 14,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "params.clientCorrelator"
            },
            {
              "title": "param",
              "description": "The realm used by the push registration service to identify\n                               and establish a connection with the service gateway.",
              "lineNumber": 15,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "params.realm"
            },
            {
              "title": "return",
              "description": "When successful,  the information of the registration.\n                  Promise will reject with error object otherwise.",
              "lineNumber": 17,
              "type": {
                "type": "NameExpression",
                "name": "Promise"
              }
            }
          ],
          "loc": {
            "start": {
              "line": 96,
              "column": 4
            },
            "end": {
              "line": 115,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 116,
                "column": 4
              },
              "end": {
                "line": 133,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/notifications/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "params",
              "lineNumber": 9,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "properties": [
                {
                  "title": "param",
                  "name": "params.services",
                  "lineNumber": 10,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Array of services to register for."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "TypeApplication",
                    "expression": {
                      "type": "NameExpression",
                      "name": "Array"
                    },
                    "applications": [
                      {
                        "type": "NameExpression",
                        "name": "string"
                      }
                    ]
                  }
                },
                {
                  "title": "param",
                  "name": "params.deviceToken",
                  "lineNumber": 11,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The device token used for standard push on Android. This token is required\nwhen registering for all related services notifications."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "string"
                  }
                },
                {
                  "title": "param",
                  "name": "params.bundleId",
                  "lineNumber": 13,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The bundleId to identify the application receiving the push notification."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "string"
                  }
                },
                {
                  "title": "param",
                  "name": "params.clientCorrelator",
                  "lineNumber": 14,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Unique identifier for a client device."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "string"
                  }
                },
                {
                  "title": "param",
                  "name": "params.realm",
                  "lineNumber": 15,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The realm used by the push registration service to identify\nand establish a connection with the service gateway."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "string"
                  }
                }
              ]
            }
          ],
          "properties": [],
          "returns": [
            {
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "When successful,  the information of the registration.\nPromise will reject with error object otherwise."
                      }
                    ]
                  }
                ]
              },
              "title": "returns",
              "type": {
                "type": "NameExpression",
                "name": "Promise"
              }
            }
          ],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "notification",
          "kind": "function",
          "name": "registerAndroidPush",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "notification",
              "kind": "namespace"
            },
            {
              "name": "registerAndroidPush",
              "kind": "function"
            }
          ],
          "namespace": "notificationregisterAndroidPush"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Unregister Apple push notifications."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 4,
              "name": "push"
            },
            {
              "title": "memberof",
              "description": "notification",
              "lineNumber": 5
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 6,
              "name": "unregisterApplePush"
            },
            {
              "title": "param",
              "description": "The data returned from the push registration",
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "registrationInfo"
            },
            {
              "title": "return",
              "description": "When successful, the promise will resolve with undefined.\n                  Promise will reject with error object otherwise.",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "Promise"
              }
            }
          ],
          "loc": {
            "start": {
              "line": 135,
              "column": 4
            },
            "end": {
              "line": 145,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 146,
                "column": 4
              },
              "end": {
                "line": 152,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/notifications/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "registrationInfo",
              "lineNumber": 7,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The data returned from the push registration"
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "properties": [],
          "returns": [
            {
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "When successful, the promise will resolve with undefined.\nPromise will reject with error object otherwise."
                      }
                    ]
                  }
                ]
              },
              "title": "returns",
              "type": {
                "type": "NameExpression",
                "name": "Promise"
              }
            }
          ],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "notification",
          "kind": "function",
          "name": "unregisterApplePush",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "notification",
              "kind": "namespace"
            },
            {
              "name": "unregisterApplePush",
              "kind": "function"
            }
          ],
          "namespace": "notificationunregisterApplePush"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Unregister Android push notifications."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 4,
              "name": "push"
            },
            {
              "title": "memberof",
              "description": "notification",
              "lineNumber": 5
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 6,
              "name": "unregisterAndroidPush"
            },
            {
              "title": "param",
              "description": "The data returned from the push registration",
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "registrationInfo"
            },
            {
              "title": "return",
              "description": "When successful, the promise will resolve with undefined.\n                  Promise will reject with error object otherwise.",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "Promise"
              }
            }
          ],
          "loc": {
            "start": {
              "line": 154,
              "column": 4
            },
            "end": {
              "line": 164,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 165,
                "column": 4
              },
              "end": {
                "line": 171,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/notifications/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "registrationInfo",
              "lineNumber": 7,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The data returned from the push registration"
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "properties": [],
          "returns": [
            {
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "When successful, the promise will resolve with undefined.\nPromise will reject with error object otherwise."
                      }
                    ]
                  }
                ]
              },
              "title": "returns",
              "type": {
                "type": "NameExpression",
                "name": "Promise"
              }
            }
          ],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "notification",
          "kind": "function",
          "name": "unregisterAndroidPush",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "notification",
              "kind": "namespace"
            },
            {
              "name": "unregisterAndroidPush",
              "kind": "function"
            }
          ],
          "namespace": "notificationunregisterAndroidPush"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Enables, or disables, the processing of websocket notifications."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 4,
              "name": "push"
            },
            {
              "title": "memberof",
              "description": "notification",
              "lineNumber": 5
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 6,
              "name": "enableWebsocket"
            },
            {
              "title": "param",
              "description": "Whether the websocket channel should be enabled.",
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "boolean"
              },
              "name": "enable"
            }
          ],
          "loc": {
            "start": {
              "line": 173,
              "column": 4
            },
            "end": {
              "line": 181,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 182,
                "column": 4
              },
              "end": {
                "line": 189,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/notifications/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "enable",
              "lineNumber": 7,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Whether the websocket channel should be enabled."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "boolean"
              }
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "notification",
          "kind": "function",
          "name": "enableWebsocket",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "notification",
              "kind": "namespace"
            },
            {
              "name": "enableWebsocket",
              "kind": "function"
            }
          ],
          "namespace": "notificationenableWebsocket"
        }
      ]
    },
    "path": [
      {
        "name": "notification",
        "kind": "namespace"
      }
    ],
    "namespace": "notification"
  },
  {
    "description": {
      "type": "root",
      "children": [
        {
          "type": "paragraph",
          "children": [
            {
              "type": "text",
              "value": "The 'presence' namespace provides an interface for an application to set the\nUser's presence information and to track other Users' presence\ninformation."
            }
          ]
        },
        {
          "type": "paragraph",
          "children": [
            {
              "type": "text",
              "value": "Presence information is persisted by the server. When the SDK is initialized,\nthere will be no information available. Presence information will become\navailable either by using "
            },
            {
              "type": "link",
              "url": "#presencefetch",
              "title": null,
              "jsdoc": true,
              "children": [
                {
                  "type": "text",
                  "value": "presence.fetch"
                }
              ]
            },
            {
              "type": "text",
              "value": " or by subscribing for\nupdates about other Users, using "
            },
            {
              "type": "link",
              "url": "#presencesubscribe",
              "title": null,
              "jsdoc": true,
              "children": [
                {
                  "type": "text",
                  "value": "presence.subscribe"
                }
              ]
            },
            {
              "type": "text",
              "value": "."
            }
          ]
        },
        {
          "type": "paragraph",
          "children": [
            {
              "type": "text",
              "value": "Available presence information can be retrieved using "
            },
            {
              "type": "link",
              "url": "#presenceget",
              "title": null,
              "jsdoc": true,
              "children": [
                {
                  "type": "text",
                  "value": "presence.get"
                }
              ]
            },
            {
              "type": "text",
              "value": " or\n"
            },
            {
              "type": "link",
              "url": "#presencegetall",
              "title": null,
              "jsdoc": true,
              "children": [
                {
                  "type": "text",
                  "value": "presence.getAll"
                }
              ]
            },
            {
              "type": "text",
              "value": "."
            }
          ]
        }
      ]
    },
    "tags": [
      {
        "title": "public",
        "description": null,
        "lineNumber": 13,
        "type": null
      },
      {
        "title": "requires",
        "description": null,
        "lineNumber": 14,
        "name": "presence"
      },
      {
        "title": "namespace",
        "description": null,
        "lineNumber": 15,
        "type": null,
        "name": "presence"
      }
    ],
    "loc": {
      "start": {
        "line": 1,
        "column": 0
      },
      "end": {
        "line": 17,
        "column": 3
      }
    },
    "context": {
      "loc": {
        "start": {
          "line": 42,
          "column": 0
        },
        "end": {
          "line": 42,
          "column": 36
        }
      },
      "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/presence/interface/api.js"
    },
    "augments": [],
    "examples": [],
    "implements": [],
    "params": [],
    "properties": [],
    "returns": [],
    "sees": [],
    "throws": [],
    "todos": [],
    "yields": [],
    "access": "public",
    "kind": "namespace",
    "name": "presence",
    "members": {
      "global": [],
      "inner": [],
      "instance": [],
      "events": [
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "A presence update about a subscribed user has been received."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "This event is generated as a result of "
                  },
                  {
                    "type": "link",
                    "url": "#presencefetch",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "presence.fetch"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " or "
                  },
                  {
                    "type": "link",
                    "url": "#presenceupdate",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "presence.update"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " operations."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "For the latter operation, the current user receives a presence update of another user that the current user is subscribed to."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "The changed information can be retrieved using the "
                  },
                  {
                    "type": "link",
                    "url": "#presenceget",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "presence.get"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": "\nAPI."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 10,
              "type": null
            },
            {
              "title": "memberof",
              "description": "presence",
              "lineNumber": 11
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 12,
              "name": "presence"
            },
            {
              "title": "event",
              "description": "presence:change",
              "lineNumber": 13
            },
            {
              "title": "param",
              "description": "A presence object containing data.",
              "lineNumber": 14,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "params"
            },
            {
              "title": "param",
              "description": "The ID of the user.",
              "lineNumber": 15,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "params.userId"
            },
            {
              "title": "param",
              "description": "The presence status of the user.",
              "lineNumber": 16,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "params.status"
            },
            {
              "title": "param",
              "description": "The activity of the user.",
              "lineNumber": 17,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "params.activity"
            },
            {
              "title": "param",
              "description": "A custom note provided by the user.",
              "lineNumber": 18,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "params.note"
            }
          ],
          "loc": {
            "start": {
              "line": 1,
              "column": 0
            },
            "end": {
              "line": 20,
              "column": 3
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 21,
                "column": 0
              },
              "end": {
                "line": 21,
                "column": 41
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/presence/interface/eventTypes.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "params",
              "lineNumber": 14,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "A presence object containing data."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "properties": [
                {
                  "title": "param",
                  "name": "params.userId",
                  "lineNumber": 15,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The ID of the user."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "string"
                  }
                },
                {
                  "title": "param",
                  "name": "params.status",
                  "lineNumber": 16,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The presence status of the user."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "string"
                  }
                },
                {
                  "title": "param",
                  "name": "params.activity",
                  "lineNumber": 17,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The activity of the user."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "string"
                  }
                },
                {
                  "title": "param",
                  "name": "params.note",
                  "lineNumber": 18,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "A custom note provided by the user."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "string"
                  }
                }
              ]
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "presence",
          "kind": "event",
          "name": "presence:change",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "presence",
              "kind": "namespace"
            },
            {
              "name": "presence:change",
              "kind": "event"
            }
          ],
          "namespace": "presence.event:presence:change"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "The current user's presence information has changed."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "The changed information can be retrieved using the "
                  },
                  {
                    "type": "link",
                    "url": "#presencegetself",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "presence.getSelf"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": "\nAPI."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 6,
              "type": null
            },
            {
              "title": "memberof",
              "description": "presence",
              "lineNumber": 7
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 8,
              "name": "presence"
            },
            {
              "title": "event",
              "description": "presence:selfChange",
              "lineNumber": 9
            }
          ],
          "loc": {
            "start": {
              "line": 23,
              "column": 0
            },
            "end": {
              "line": 33,
              "column": 3
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 34,
                "column": 0
              },
              "end": {
                "line": 34,
                "column": 48
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/presence/interface/eventTypes.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "presence",
          "kind": "event",
          "name": "presence:selfChange",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "presence",
              "kind": "namespace"
            },
            {
              "name": "presence:selfChange",
              "kind": "event"
            }
          ],
          "namespace": "presence.event:presence:selfChange"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "An update (as a result of subscribing to a specific user's presence) has been received."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "presence",
              "lineNumber": 4
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 5,
              "name": "presence"
            },
            {
              "title": "event",
              "description": "presence:subscribe",
              "lineNumber": 6
            },
            {
              "title": "param",
              "description": "A subscription object containing data.",
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "params"
            },
            {
              "title": "param",
              "description": "The ID(s) of the user(s) whose presence needs to be watched.",
              "lineNumber": 8,
              "type": {
                "type": "TypeApplication",
                "expression": {
                  "type": "NameExpression",
                  "name": "Array"
                },
                "applications": [
                  {
                    "type": "NameExpression",
                    "name": "string"
                  }
                ]
              },
              "name": "params.userIds"
            }
          ],
          "loc": {
            "start": {
              "line": 36,
              "column": 0
            },
            "end": {
              "line": 45,
              "column": 3
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 46,
                "column": 0
              },
              "end": {
                "line": 46,
                "column": 45
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/presence/interface/eventTypes.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "params",
              "lineNumber": 7,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "A subscription object containing data."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "properties": [
                {
                  "title": "param",
                  "name": "params.userIds",
                  "lineNumber": 8,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The ID(s) of the user(s) whose presence needs to be watched."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "TypeApplication",
                    "expression": {
                      "type": "NameExpression",
                      "name": "Array"
                    },
                    "applications": [
                      {
                        "type": "NameExpression",
                        "name": "string"
                      }
                    ]
                  }
                }
              ]
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "presence",
          "kind": "event",
          "name": "presence:subscribe",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "presence",
              "kind": "namespace"
            },
            {
              "name": "presence:subscribe",
              "kind": "event"
            }
          ],
          "namespace": "presence.event:presence:subscribe"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "An update (as a result of unsubscribing to a specific user's presence) has been received."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "presence",
              "lineNumber": 4
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 5,
              "name": "presence"
            },
            {
              "title": "event",
              "description": "presence:unsubscribe",
              "lineNumber": 6
            },
            {
              "title": "param",
              "description": "A subscription object containing data.",
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "params"
            },
            {
              "title": "param",
              "description": "The ID(s) of the user(s) whose presence no longer requires to be watched.",
              "lineNumber": 8,
              "type": {
                "type": "TypeApplication",
                "expression": {
                  "type": "NameExpression",
                  "name": "Array"
                },
                "applications": [
                  {
                    "type": "NameExpression",
                    "name": "string"
                  }
                ]
              },
              "name": "params.userIds"
            }
          ],
          "loc": {
            "start": {
              "line": 48,
              "column": 0
            },
            "end": {
              "line": 57,
              "column": 3
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 58,
                "column": 0
              },
              "end": {
                "line": 58,
                "column": 49
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/presence/interface/eventTypes.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "params",
              "lineNumber": 7,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "A subscription object containing data."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "properties": [
                {
                  "title": "param",
                  "name": "params.userIds",
                  "lineNumber": 8,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The ID(s) of the user(s) whose presence no longer requires to be watched."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "TypeApplication",
                    "expression": {
                      "type": "NameExpression",
                      "name": "Array"
                    },
                    "applications": [
                      {
                        "type": "NameExpression",
                        "name": "string"
                      }
                    ]
                  }
                }
              ]
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "presence",
          "kind": "event",
          "name": "presence:unsubscribe",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "presence",
              "kind": "namespace"
            },
            {
              "name": "presence:unsubscribe",
              "kind": "event"
            }
          ],
          "namespace": "presence.event:presence:unsubscribe"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "An error occurred with presence."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "memberof",
              "description": "presence",
              "lineNumber": 4
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 5,
              "name": "presence"
            },
            {
              "title": "event",
              "description": "presence:error",
              "lineNumber": 6
            },
            {
              "title": "param",
              "description": null,
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "params"
            },
            {
              "title": "param",
              "description": "The Basic error object.",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "api.BasicError"
              },
              "name": "params.error"
            }
          ],
          "loc": {
            "start": {
              "line": 60,
              "column": 0
            },
            "end": {
              "line": 69,
              "column": 3
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 70,
                "column": 0
              },
              "end": {
                "line": 70,
                "column": 37
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/presence/interface/eventTypes.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "params",
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "properties": [
                {
                  "title": "param",
                  "name": "params.error",
                  "lineNumber": 8,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The Basic error object."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "api.BasicError"
                  }
                }
              ]
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "presence",
          "kind": "event",
          "name": "presence:error",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "presence",
              "kind": "namespace"
            },
            {
              "name": "presence:error",
              "kind": "event"
            }
          ],
          "namespace": "presence.event:presence:error"
        }
      ],
      "static": [
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Possible status values."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 2,
              "type": null
            },
            {
              "title": "static",
              "description": null,
              "lineNumber": 3
            },
            {
              "title": "memberof",
              "description": "presence",
              "lineNumber": 4
            },
            {
              "title": "type",
              "description": null,
              "lineNumber": 5,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              }
            },
            {
              "title": "property",
              "description": null,
              "lineNumber": 6,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "OPEN"
            },
            {
              "title": "property",
              "description": null,
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "CLOSED"
            },
            {
              "title": "example",
              "description": "const { statuses, activities } = client.presence\n// Use the values when updating presence.\nclient.presence.update(statuses.OPEN, activities.AVAILABLE)",
              "lineNumber": 8
            }
          ],
          "loc": {
            "start": {
              "line": 28,
              "column": 4
            },
            "end": {
              "line": 40,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 41,
                "column": 4
              },
              "end": {
                "line": 41,
                "column": 37
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/presence/link/index.js"
          },
          "augments": [],
          "examples": [
            {
              "description": "const { statuses, activities } = client.presence\n// Use the values when updating presence.\nclient.presence.update(statuses.OPEN, activities.AVAILABLE)"
            }
          ],
          "implements": [],
          "params": [],
          "properties": [
            {
              "title": "property",
              "name": "OPEN",
              "lineNumber": 6,
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "property",
              "name": "CLOSED",
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "scope": "static",
          "memberof": "presence",
          "type": {
            "type": "NameExpression",
            "name": "Object"
          },
          "name": "statuses",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "presence",
              "kind": "namespace"
            },
            {
              "name": "statuses",
              "scope": "static"
            }
          ],
          "namespace": "presence.statuses"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Possible activity values."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 2,
              "type": null
            },
            {
              "title": "static",
              "description": null,
              "lineNumber": 3
            },
            {
              "title": "memberof",
              "description": "presence",
              "lineNumber": 4
            },
            {
              "title": "type",
              "description": null,
              "lineNumber": 5,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              }
            },
            {
              "title": "property",
              "description": null,
              "lineNumber": 6,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "AVAILABLE"
            },
            {
              "title": "property",
              "description": null,
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "IDLE"
            },
            {
              "title": "property",
              "description": null,
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "AWAY"
            },
            {
              "title": "property",
              "description": null,
              "lineNumber": 9,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "LUNCH"
            },
            {
              "title": "property",
              "description": null,
              "lineNumber": 10,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "BUSY"
            },
            {
              "title": "property",
              "description": null,
              "lineNumber": 11,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "VACATION"
            },
            {
              "title": "property",
              "description": null,
              "lineNumber": 12,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "ON_THE_PHONE"
            },
            {
              "title": "property",
              "description": null,
              "lineNumber": 13,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "UNKNOWN"
            }
          ],
          "loc": {
            "start": {
              "line": 43,
              "column": 4
            },
            "end": {
              "line": 57,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 58,
                "column": 4
              },
              "end": {
                "line": 58,
                "column": 41
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/presence/link/index.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [],
          "properties": [
            {
              "title": "property",
              "name": "AVAILABLE",
              "lineNumber": 6,
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "property",
              "name": "IDLE",
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "property",
              "name": "AWAY",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "property",
              "name": "LUNCH",
              "lineNumber": 9,
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "property",
              "name": "BUSY",
              "lineNumber": 10,
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "property",
              "name": "VACATION",
              "lineNumber": 11,
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "property",
              "name": "ON_THE_PHONE",
              "lineNumber": 12,
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "property",
              "name": "UNKNOWN",
              "lineNumber": 13,
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "scope": "static",
          "memberof": "presence",
          "type": {
            "type": "NameExpression",
            "name": "Object"
          },
          "name": "activities",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "presence",
              "kind": "namespace"
            },
            {
              "name": "activities",
              "scope": "static"
            }
          ],
          "namespace": "presence.activities"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "The PresenceStatus type defines the user's current status in terms of the user's availability to\ncommunicate/respond to other users in the network.\nAn instance of this type can be obtained by invoking the "
                  },
                  {
                    "type": "link",
                    "url": "#presenceget",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "presence.get"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " function."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Reporting when a user is on the phone is enabled (by default), which means that presence update notifications\nwill be sent whenever a user is in a call, as well as when the call has ended.\nThis is a user preference enabled or disabled on server side, and it can only be changed on the server side."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "The status is set to "
                  },
                  {
                    "type": "link",
                    "url": "#presencestatuses",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "open"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " as soon as a user subscribes for the presence service."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 11,
              "type": null
            },
            {
              "title": "static",
              "description": null,
              "lineNumber": 12
            },
            {
              "title": "typedef",
              "description": null,
              "lineNumber": 13,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "PresenceStatus"
            },
            {
              "title": "memberof",
              "description": "presence",
              "lineNumber": 14
            },
            {
              "title": "property",
              "description": "The unique identifier for the user associated with this presence status.",
              "lineNumber": 15,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "userId"
            },
            {
              "title": "property",
              "description": "The current status the user has set for themselves. For supported values see {@link presence.statuses}.",
              "lineNumber": 16,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "status"
            },
            {
              "title": "property",
              "description": "The current activity of the user.\n     For supported values see {@link presence.activities}.",
              "lineNumber": 17,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "activity"
            },
            {
              "title": "property",
              "description": "Additional message accompanying the status & activity.",
              "lineNumber": 19,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "note"
            },
            {
              "title": "property",
              "description": "Whether the presence information has been loaded or is in the process of loading.",
              "lineNumber": 20,
              "type": {
                "type": "NameExpression",
                "name": "boolean"
              },
              "name": "loading"
            }
          ],
          "loc": {
            "start": {
              "line": 19,
              "column": 0
            },
            "end": {
              "line": 40,
              "column": 3
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 42,
                "column": 0
              },
              "end": {
                "line": 42,
                "column": 36
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/presence/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [],
          "properties": [
            {
              "title": "property",
              "name": "userId",
              "lineNumber": 15,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The unique identifier for the user associated with this presence status."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "property",
              "name": "status",
              "lineNumber": 16,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The current status the user has set for themselves. For supported values see "
                      },
                      {
                        "type": "link",
                        "url": "#presencestatuses",
                        "title": null,
                        "jsdoc": true,
                        "children": [
                          {
                            "type": "text",
                            "value": "presence.statuses"
                          }
                        ]
                      },
                      {
                        "type": "text",
                        "value": "."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "property",
              "name": "activity",
              "lineNumber": 17,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The current activity of the user.\nFor supported values see "
                      },
                      {
                        "type": "link",
                        "url": "#presenceactivities",
                        "title": null,
                        "jsdoc": true,
                        "children": [
                          {
                            "type": "text",
                            "value": "presence.activities"
                          }
                        ]
                      },
                      {
                        "type": "text",
                        "value": "."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "property",
              "name": "note",
              "lineNumber": 19,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Additional message accompanying the status & activity."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "property",
              "name": "loading",
              "lineNumber": 20,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Whether the presence information has been loaded or is in the process of loading."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "boolean"
              }
            }
          ],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "scope": "static",
          "kind": "typedef",
          "name": "PresenceStatus",
          "type": {
            "type": "NameExpression",
            "name": "Object"
          },
          "memberof": "presence",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "presence",
              "kind": "namespace"
            },
            {
              "name": "PresenceStatus",
              "kind": "typedef",
              "scope": "static"
            }
          ],
          "namespace": "presence.PresenceStatus"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Updates the presence information for the current user."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "See "
                  },
                  {
                    "type": "link",
                    "url": "#presencestatuses",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "presence.statuses"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " and "
                  },
                  {
                    "type": "link",
                    "url": "#presenceactivities",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "presence.activities"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " for valid\nvalues."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "The SDK will emit a\n"
                  },
                  {
                    "type": "link",
                    "url": "#presenceeventpresenceselfchange",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "presence:selfChange"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " event\nwhen the operation completes. The updated presence information is\navailable and can be retrieved with "
                  },
                  {
                    "type": "link",
                    "url": "#presencegetself",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "presence.getSelf"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": "."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Other users subscribed for this user's presence will receive a\n"
                  },
                  {
                    "type": "link",
                    "url": "#presenceeventpresencechange",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "presence:change"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " event."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 14,
              "type": null
            },
            {
              "title": "static",
              "description": null,
              "lineNumber": 15
            },
            {
              "title": "memberof",
              "description": "presence",
              "lineNumber": 16
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 17,
              "name": "presence"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 18,
              "name": "update"
            },
            {
              "title": "param",
              "description": "The status of the presence state.",
              "lineNumber": 19,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "status"
            },
            {
              "title": "param",
              "description": "The activity to be shown as presence state",
              "lineNumber": 20,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "activity"
            },
            {
              "title": "param",
              "description": "An additional note to be provided when the activity is `presence.activities.ACTIVITIES_OTHER`.",
              "lineNumber": 21,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "note"
            }
          ],
          "loc": {
            "start": {
              "line": 51,
              "column": 4
            },
            "end": {
              "line": 73,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 74,
                "column": 4
              },
              "end": {
                "line": 77,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/presence/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "status",
              "lineNumber": 19,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The status of the presence state."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "param",
              "name": "activity",
              "lineNumber": 20,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The activity to be shown as presence state"
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "param",
              "name": "note",
              "lineNumber": 21,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "An additional note to be provided when the activity is "
                      },
                      {
                        "type": "inlineCode",
                        "value": "presence.activities.ACTIVITIES_OTHER"
                      },
                      {
                        "type": "text",
                        "value": "."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              }
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "scope": "static",
          "memberof": "presence",
          "kind": "function",
          "name": "update",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "presence",
              "kind": "namespace"
            },
            {
              "name": "update",
              "kind": "function",
              "scope": "static"
            }
          ],
          "namespace": "presence.update"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Retrieves the presence information for specified users, if available."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "static",
              "description": null,
              "lineNumber": 4
            },
            {
              "title": "memberof",
              "description": "presence",
              "lineNumber": 5
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 6,
              "name": "presence"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 7,
              "name": "get"
            },
            {
              "title": "param",
              "description": "A User ID or an array of User IDs.",
              "lineNumber": 8,
              "type": {
                "type": "UnionType",
                "elements": [
                  {
                    "type": "TypeApplication",
                    "expression": {
                      "type": "NameExpression",
                      "name": "Array"
                    },
                    "applications": [
                      {
                        "type": "NameExpression",
                        "name": "string"
                      }
                    ]
                  },
                  {
                    "type": "NameExpression",
                    "name": "string"
                  }
                ]
              },
              "name": "user"
            },
            {
              "title": "return",
              "description": "List of user presence information.",
              "lineNumber": 9,
              "type": {
                "type": "UnionType",
                "elements": [
                  {
                    "type": "TypeApplication",
                    "expression": {
                      "type": "NameExpression",
                      "name": "Array"
                    },
                    "applications": [
                      {
                        "type": "NameExpression",
                        "name": "Object"
                      }
                    ]
                  },
                  {
                    "type": "NameExpression",
                    "name": "Object"
                  }
                ]
              }
            }
          ],
          "loc": {
            "start": {
              "line": 79,
              "column": 4
            },
            "end": {
              "line": 89,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 90,
                "column": 4
              },
              "end": {
                "line": 102,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/presence/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "user",
              "lineNumber": 8,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "A User ID or an array of User IDs."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "UnionType",
                "elements": [
                  {
                    "type": "TypeApplication",
                    "expression": {
                      "type": "NameExpression",
                      "name": "Array"
                    },
                    "applications": [
                      {
                        "type": "NameExpression",
                        "name": "string"
                      }
                    ]
                  },
                  {
                    "type": "NameExpression",
                    "name": "string"
                  }
                ]
              }
            }
          ],
          "properties": [],
          "returns": [
            {
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "List of user presence information."
                      }
                    ]
                  }
                ]
              },
              "title": "returns",
              "type": {
                "type": "UnionType",
                "elements": [
                  {
                    "type": "TypeApplication",
                    "expression": {
                      "type": "NameExpression",
                      "name": "Array"
                    },
                    "applications": [
                      {
                        "type": "NameExpression",
                        "name": "Object"
                      }
                    ]
                  },
                  {
                    "type": "NameExpression",
                    "name": "Object"
                  }
                ]
              }
            }
          ],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "scope": "static",
          "memberof": "presence",
          "kind": "function",
          "name": "get",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "presence",
              "kind": "namespace"
            },
            {
              "name": "get",
              "kind": "function",
              "scope": "static"
            }
          ],
          "namespace": "presence.get"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Retrieves the presence information for all available users."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "static",
              "description": null,
              "lineNumber": 4
            },
            {
              "title": "memberof",
              "description": "presence",
              "lineNumber": 5
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 6,
              "name": "presence"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 7,
              "name": "getAll"
            },
            {
              "title": "return",
              "description": "List of user presence information.",
              "lineNumber": 8,
              "type": {
                "type": "TypeApplication",
                "expression": {
                  "type": "NameExpression",
                  "name": "Array"
                },
                "applications": [
                  {
                    "type": "NameExpression",
                    "name": "Object"
                  }
                ]
              }
            }
          ],
          "loc": {
            "start": {
              "line": 104,
              "column": 4
            },
            "end": {
              "line": 113,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 114,
                "column": 4
              },
              "end": {
                "line": 117,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/presence/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [],
          "properties": [],
          "returns": [
            {
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "List of user presence information."
                      }
                    ]
                  }
                ]
              },
              "title": "returns",
              "type": {
                "type": "TypeApplication",
                "expression": {
                  "type": "NameExpression",
                  "name": "Array"
                },
                "applications": [
                  {
                    "type": "NameExpression",
                    "name": "Object"
                  }
                ]
              }
            }
          ],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "scope": "static",
          "memberof": "presence",
          "kind": "function",
          "name": "getAll",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "presence",
              "kind": "namespace"
            },
            {
              "name": "getAll",
              "kind": "function",
              "scope": "static"
            }
          ],
          "namespace": "presence.getAll"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Retrieves the presence information for the current user."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "This information is set using the "
                  },
                  {
                    "type": "link",
                    "url": "#presenceupdate",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "presence.update"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " API."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 5,
              "type": null
            },
            {
              "title": "static",
              "description": null,
              "lineNumber": 6
            },
            {
              "title": "memberof",
              "description": "presence",
              "lineNumber": 7
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 8,
              "name": "presence"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 9,
              "name": "getSelf"
            },
            {
              "title": "return",
              "description": "Presence information for the current user.",
              "lineNumber": 10,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              }
            }
          ],
          "loc": {
            "start": {
              "line": 119,
              "column": 4
            },
            "end": {
              "line": 130,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 131,
                "column": 4
              },
              "end": {
                "line": 134,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/presence/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [],
          "properties": [],
          "returns": [
            {
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Presence information for the current user."
                      }
                    ]
                  }
                ]
              },
              "title": "returns",
              "type": {
                "type": "NameExpression",
                "name": "Object"
              }
            }
          ],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "scope": "static",
          "memberof": "presence",
          "kind": "function",
          "name": "getSelf",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "presence",
              "kind": "namespace"
            },
            {
              "name": "getSelf",
              "kind": "function",
              "scope": "static"
            }
          ],
          "namespace": "presence.getSelf"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Fetches presence information for the given users. This will refresh the\navailable information with any new information from the server."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Available presence information can be retrieved using the\n"
                  },
                  {
                    "type": "link",
                    "url": "#presenceget",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "presence.get"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " or "
                  },
                  {
                    "type": "link",
                    "url": "#presencegetall",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "presence.getAll"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " APIs."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 7,
              "type": null
            },
            {
              "title": "static",
              "description": null,
              "lineNumber": 8
            },
            {
              "title": "memberof",
              "description": "presence",
              "lineNumber": 9
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 10,
              "name": "presence"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 11,
              "name": "fetch"
            },
            {
              "title": "param",
              "description": "A User ID or an array of User IDs.",
              "lineNumber": 12,
              "type": {
                "type": "UnionType",
                "elements": [
                  {
                    "type": "TypeApplication",
                    "expression": {
                      "type": "NameExpression",
                      "name": "Array"
                    },
                    "applications": [
                      {
                        "type": "NameExpression",
                        "name": "string"
                      }
                    ]
                  },
                  {
                    "type": "NameExpression",
                    "name": "string"
                  }
                ]
              },
              "name": "user"
            }
          ],
          "loc": {
            "start": {
              "line": 136,
              "column": 4
            },
            "end": {
              "line": 149,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 150,
                "column": 4
              },
              "end": {
                "line": 154,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/presence/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "user",
              "lineNumber": 12,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "A User ID or an array of User IDs."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "UnionType",
                "elements": [
                  {
                    "type": "TypeApplication",
                    "expression": {
                      "type": "NameExpression",
                      "name": "Array"
                    },
                    "applications": [
                      {
                        "type": "NameExpression",
                        "name": "string"
                      }
                    ]
                  },
                  {
                    "type": "NameExpression",
                    "name": "string"
                  }
                ]
              }
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "scope": "static",
          "memberof": "presence",
          "kind": "function",
          "name": "fetch",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "presence",
              "kind": "namespace"
            },
            {
              "name": "fetch",
              "kind": "function",
              "scope": "static"
            }
          ],
          "namespace": "presence.fetch"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Subscribe to another User's presence updates."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "When the User updates their presence information, the SDK will emit a\n"
                  },
                  {
                    "type": "link",
                    "url": "#presenceeventpresencechange",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "presence:change"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " event."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 6,
              "type": null
            },
            {
              "title": "static",
              "description": null,
              "lineNumber": 7
            },
            {
              "title": "memberof",
              "description": "presence",
              "lineNumber": 8
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 9,
              "name": "presence"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 10,
              "name": "subscribe"
            },
            {
              "title": "param",
              "description": "A User ID or an array of User IDs.",
              "lineNumber": 11,
              "type": {
                "type": "UnionType",
                "elements": [
                  {
                    "type": "TypeApplication",
                    "expression": {
                      "type": "NameExpression",
                      "name": "Array"
                    },
                    "applications": [
                      {
                        "type": "NameExpression",
                        "name": "string"
                      }
                    ]
                  },
                  {
                    "type": "NameExpression",
                    "name": "string"
                  }
                ]
              },
              "name": "users"
            }
          ],
          "loc": {
            "start": {
              "line": 156,
              "column": 4
            },
            "end": {
              "line": 168,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 169,
                "column": 4
              },
              "end": {
                "line": 172,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/presence/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "users",
              "lineNumber": 11,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "A User ID or an array of User IDs."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "UnionType",
                "elements": [
                  {
                    "type": "TypeApplication",
                    "expression": {
                      "type": "NameExpression",
                      "name": "Array"
                    },
                    "applications": [
                      {
                        "type": "NameExpression",
                        "name": "string"
                      }
                    ]
                  },
                  {
                    "type": "NameExpression",
                    "name": "string"
                  }
                ]
              }
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "scope": "static",
          "memberof": "presence",
          "kind": "function",
          "name": "subscribe",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "presence",
              "kind": "namespace"
            },
            {
              "name": "subscribe",
              "kind": "function",
              "scope": "static"
            }
          ],
          "namespace": "presence.subscribe"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Unsubscribe from another User's presence updates."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "static",
              "description": null,
              "lineNumber": 4
            },
            {
              "title": "memberof",
              "description": "presence",
              "lineNumber": 5
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 6,
              "name": "presence"
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 7,
              "name": "unsubscribe"
            },
            {
              "title": "param",
              "description": "A User ID or an array of User IDs.",
              "lineNumber": 8,
              "type": {
                "type": "UnionType",
                "elements": [
                  {
                    "type": "TypeApplication",
                    "expression": {
                      "type": "NameExpression",
                      "name": "Array"
                    },
                    "applications": [
                      {
                        "type": "NameExpression",
                        "name": "string"
                      }
                    ]
                  },
                  {
                    "type": "NameExpression",
                    "name": "string"
                  }
                ]
              },
              "name": "users"
            }
          ],
          "loc": {
            "start": {
              "line": 174,
              "column": 4
            },
            "end": {
              "line": 183,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 184,
                "column": 4
              },
              "end": {
                "line": 187,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/presence/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "users",
              "lineNumber": 8,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "A User ID or an array of User IDs."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "UnionType",
                "elements": [
                  {
                    "type": "TypeApplication",
                    "expression": {
                      "type": "NameExpression",
                      "name": "Array"
                    },
                    "applications": [
                      {
                        "type": "NameExpression",
                        "name": "string"
                      }
                    ]
                  },
                  {
                    "type": "NameExpression",
                    "name": "string"
                  }
                ]
              }
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "scope": "static",
          "memberof": "presence",
          "kind": "function",
          "name": "unsubscribe",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "presence",
              "kind": "namespace"
            },
            {
              "name": "unsubscribe",
              "kind": "function",
              "scope": "static"
            }
          ],
          "namespace": "presence.unsubscribe"
        }
      ]
    },
    "path": [
      {
        "name": "presence",
        "kind": "namespace"
      }
    ],
    "namespace": "presence"
  },
  {
    "description": {
      "type": "root",
      "children": [
        {
          "type": "paragraph",
          "children": [
            {
              "type": "text",
              "value": "Prompt the user for permission to use their audio and/or video devices."
            }
          ]
        }
      ]
    },
    "tags": [
      {
        "title": "memberof",
        "description": "media",
        "lineNumber": 3
      },
      {
        "title": "public",
        "description": null,
        "lineNumber": 4,
        "type": null
      },
      {
        "title": "requires",
        "description": null,
        "lineNumber": 5,
        "name": "call"
      },
      {
        "title": "method",
        "description": null,
        "lineNumber": 6,
        "name": "promptUserMedia"
      },
      {
        "title": "param",
        "description": null,
        "lineNumber": 7,
        "type": {
          "type": "OptionalType",
          "expression": {
            "type": "NameExpression",
            "name": "Object"
          }
        },
        "name": "options"
      },
      {
        "title": "param",
        "description": "Whether to get permission for video.",
        "lineNumber": 8,
        "type": {
          "type": "OptionalType",
          "expression": {
            "type": "NameExpression",
            "name": "boolean"
          }
        },
        "name": "options.video"
      },
      {
        "title": "param",
        "description": "Whether to get permission for audio.",
        "lineNumber": 9,
        "type": {
          "type": "OptionalType",
          "expression": {
            "type": "NameExpression",
            "name": "boolean"
          }
        },
        "name": "options.audio"
      }
    ],
    "loc": {
      "start": {
        "line": 148,
        "column": 4
      },
      "end": {
        "line": 158,
        "column": 7
      }
    },
    "context": {
      "loc": {
        "start": {
          "line": 159,
          "column": 4
        },
        "end": {
          "line": 162,
          "column": 5
        }
      },
      "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/api.js"
    },
    "augments": [],
    "examples": [],
    "implements": [],
    "params": [
      {
        "title": "param",
        "name": "options",
        "lineNumber": 7,
        "type": {
          "type": "OptionalType",
          "expression": {
            "type": "NameExpression",
            "name": "Object"
          }
        },
        "properties": [
          {
            "title": "param",
            "name": "options.video",
            "lineNumber": 8,
            "description": {
              "type": "root",
              "children": [
                {
                  "type": "paragraph",
                  "children": [
                    {
                      "type": "text",
                      "value": "Whether to get permission for video."
                    }
                  ]
                }
              ]
            },
            "type": {
              "type": "OptionalType",
              "expression": {
                "type": "NameExpression",
                "name": "boolean"
              }
            }
          },
          {
            "title": "param",
            "name": "options.audio",
            "lineNumber": 9,
            "description": {
              "type": "root",
              "children": [
                {
                  "type": "paragraph",
                  "children": [
                    {
                      "type": "text",
                      "value": "Whether to get permission for audio."
                    }
                  ]
                }
              ]
            },
            "type": {
              "type": "OptionalType",
              "expression": {
                "type": "NameExpression",
                "name": "boolean"
              }
            }
          }
        ]
      }
    ],
    "properties": [],
    "returns": [],
    "sees": [],
    "throws": [],
    "todos": [],
    "yields": [],
    "memberof": "media",
    "access": "public",
    "kind": "function",
    "name": "promptUserMedia",
    "members": {
      "global": [],
      "inner": [],
      "instance": [],
      "events": [],
      "static": []
    },
    "path": [
      {
        "name": "promptUserMedia",
        "kind": "function"
      }
    ],
    "namespace": "promptUserMedia"
  },
  {
    "description": {
      "type": "root",
      "children": [
        {
          "type": "paragraph",
          "children": [
            {
              "type": "text",
              "value": "The 'request' namespace (within the 'api' type) is used to make network requests to the server."
            }
          ]
        }
      ]
    },
    "tags": [
      {
        "title": "public",
        "description": null,
        "lineNumber": 3,
        "type": null
      },
      {
        "title": "namespace",
        "description": null,
        "lineNumber": 4,
        "type": null,
        "name": "request"
      }
    ],
    "loc": {
      "start": {
        "line": 20,
        "column": 6
      },
      "end": {
        "line": 25,
        "column": 9
      }
    },
    "context": {
      "loc": {
        "start": {
          "line": 55,
          "column": 6
        },
        "end": {
          "line": 65,
          "column": 7
        }
      },
      "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/request/interface/api.js"
    },
    "augments": [],
    "examples": [],
    "implements": [],
    "params": [],
    "properties": [],
    "returns": [],
    "sees": [],
    "throws": [],
    "todos": [],
    "yields": [],
    "access": "public",
    "kind": "namespace",
    "name": "request",
    "members": {
      "global": [],
      "inner": [],
      "instance": [],
      "events": [],
      "static": [
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Send a request to the underlying REST service with the appropriate configuration and authentication.\nThis is a wrapper on top of the browser's "
                  },
                  {
                    "type": "link",
                    "title": null,
                    "url": "https://developer.mozilla.org/en-US/docs/Web/API/fetch",
                    "children": [
                      {
                        "type": "text",
                        "value": "fetch API"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": "\nand behaves very similarly but using SDK configuration for the base URL and authentication as well\nas SDK logging."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 6,
              "type": null
            },
            {
              "title": "memberof",
              "description": "request",
              "lineNumber": 7
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 8,
              "name": "fetch"
            },
            {
              "title": "param",
              "description": "The full path of the resource to fetch from the underlying service. This should include any REST version\n                         or user information. This path will be appended to the base URL according to SDK configuration.",
              "lineNumber": 9,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "resource"
            },
            {
              "title": "param",
              "description": "An object containing any custom settings that you want to apply to the request. See [fetch API](https://developer.mozilla.org/en-US/docs/Web/API/fetch)\n                          for a full description and defaults.",
              "lineNumber": 11,
              "type": {
                "type": "NameExpression",
                "name": "RequestInit"
              },
              "name": "init"
            },
            {
              "title": "return",
              "description": "A promise for a [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) object.",
              "lineNumber": 13,
              "type": {
                "type": "TypeApplication",
                "expression": {
                  "type": "NameExpression",
                  "name": "Promise"
                },
                "applications": [
                  {
                    "type": "NameExpression",
                    "name": "Response"
                  }
                ]
              }
            },
            {
              "title": "example",
              "description": "// Send a REST request to the server\n// Create a request options object following [fetch API](https://developer.mozilla.org/en-US/docs/Web/API/fetch)\nconst requestOptions = {\n  method: 'POST',\n  body: JSON.stringify({\n    test: 123\n  })\n}\n\n// Note that you will need to subscribe for the `custom` service in order to\n// receive notifications from the `externalnotification` service.\nconst response = await client.request.fetch('/rest/version/1/user/xyz@test.com/externalnotification', requestOptions)",
              "lineNumber": 14
            }
          ],
          "loc": {
            "start": {
              "line": 27,
              "column": 6
            },
            "end": {
              "line": 54,
              "column": 9
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 55,
                "column": 6
              },
              "end": {
                "line": 65,
                "column": 7
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/request/interface/api.js"
          },
          "augments": [],
          "examples": [
            {
              "description": "// Send a REST request to the server\n// Create a request options object following [fetch API](https://developer.mozilla.org/en-US/docs/Web/API/fetch)\nconst requestOptions = {\n  method: 'POST',\n  body: JSON.stringify({\n    test: 123\n  })\n}\n\n// Note that you will need to subscribe for the `custom` service in order to\n// receive notifications from the `externalnotification` service.\nconst response = await client.request.fetch('/rest/version/1/user/xyz@test.com/externalnotification', requestOptions)"
            }
          ],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "resource",
              "lineNumber": 9,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The full path of the resource to fetch from the underlying service. This should include any REST version\nor user information. This path will be appended to the base URL according to SDK configuration."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "param",
              "name": "init",
              "lineNumber": 11,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "An object containing any custom settings that you want to apply to the request. See "
                      },
                      {
                        "type": "link",
                        "title": null,
                        "url": "https://developer.mozilla.org/en-US/docs/Web/API/fetch",
                        "children": [
                          {
                            "type": "text",
                            "value": "fetch API"
                          }
                        ]
                      },
                      {
                        "type": "text",
                        "value": "\nfor a full description and defaults."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "RequestInit"
              }
            }
          ],
          "properties": [],
          "returns": [
            {
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "A promise for a "
                      },
                      {
                        "type": "link",
                        "title": null,
                        "url": "https://developer.mozilla.org/en-US/docs/Web/API/Response",
                        "children": [
                          {
                            "type": "text",
                            "value": "Response"
                          }
                        ]
                      },
                      {
                        "type": "text",
                        "value": " object."
                      }
                    ]
                  }
                ]
              },
              "title": "returns",
              "type": {
                "type": "TypeApplication",
                "expression": {
                  "type": "NameExpression",
                  "name": "Promise"
                },
                "applications": [
                  {
                    "type": "NameExpression",
                    "name": "Response"
                  }
                ]
              }
            }
          ],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "request",
          "kind": "function",
          "name": "fetch",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "request",
              "kind": "function"
            },
            {
              "name": "fetch",
              "kind": "function"
            }
          ],
          "namespace": "requestfetch"
        }
      ]
    },
    "path": [
      {
        "name": "request",
        "kind": "namespace"
      }
    ],
    "namespace": "request"
  },
  {
    "description": {
      "type": "root",
      "children": [
        {
          "type": "paragraph",
          "children": [
            {
              "type": "text",
              "value": "A set of "
            },
            {
              "type": "link",
              "url": "call.SdpHandlerFunction",
              "title": null,
              "jsdoc": true,
              "children": [
                {
                  "type": "text",
                  "value": "SdpHandlerFunction"
                }
              ]
            },
            {
              "type": "text",
              "value": "s for manipulating SDP information.\nThese handlers are used to customize low-level call behaviour for very specific\nenvironments and/or scenarios."
            }
          ]
        },
        {
          "type": "paragraph",
          "children": [
            {
              "type": "text",
              "value": "Note that SDP handlers are exposed on the entry point of the SDK. They can be added during\ninitialization of the SDK using the "
            },
            {
              "type": "link",
              "url": "#configconfigcall",
              "title": null,
              "jsdoc": true,
              "children": [
                {
                  "type": "text",
                  "value": "config.call.sdpHandlers"
                }
              ]
            },
            {
              "type": "text",
              "value": " configuration\nparameter. They can also be set after the SDK's creation by using the\n"
            },
            {
              "type": "link",
              "url": "call.setSdpHandlers",
              "title": null,
              "jsdoc": true,
              "children": [
                {
                  "type": "text",
                  "value": "call.setSdpHandlers"
                }
              ]
            },
            {
              "type": "text",
              "value": " function."
            }
          ]
        }
      ]
    },
    "tags": [
      {
        "title": "public",
        "description": null,
        "lineNumber": 10,
        "type": null
      },
      {
        "title": "namespace",
        "description": null,
        "lineNumber": 11,
        "type": null,
        "name": "sdpHandlers"
      },
      {
        "title": "example",
        "description": "import { create, sdpHandlers } from 'kandy';\nconst codecRemover = sdpHandlers.createCodecRemover(['VP8', 'VP9'])\nconst client = create({\n  call: {\n    sdpHandlers: [ codecRemover, <Your-SDP-Handler-Function>, ...]\n  }\n})",
        "lineNumber": 12
      },
      {
        "title": "example",
        "description": "// Through the Call API post-instantiation\nclient.call.setSdpHandlers([ codecRemover, <Your-SDP-Handler-Function>, ...])",
        "lineNumber": 20
      }
    ],
    "loc": {
      "start": {
        "line": 40,
        "column": 0
      },
      "end": {
        "line": 63,
        "column": 3
      }
    },
    "context": {
      "loc": {
        "start": {
          "line": 121,
          "column": 0
        },
        "end": {
          "line": 121,
          "column": 58
        }
      },
      "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/builds/core/index.js"
    },
    "augments": [],
    "examples": [
      {
        "description": "import { create, sdpHandlers } from 'kandy';\nconst codecRemover = sdpHandlers.createCodecRemover(['VP8', 'VP9'])\nconst client = create({\n  call: {\n    sdpHandlers: [ codecRemover, <Your-SDP-Handler-Function>, ...]\n  }\n})"
      },
      {
        "description": "// Through the Call API post-instantiation\nclient.call.setSdpHandlers([ codecRemover, <Your-SDP-Handler-Function>, ...])"
      }
    ],
    "implements": [],
    "params": [],
    "properties": [],
    "returns": [],
    "sees": [],
    "throws": [],
    "todos": [],
    "yields": [],
    "access": "public",
    "kind": "namespace",
    "name": "sdpHandlers",
    "members": {
      "global": [],
      "inner": [],
      "instance": [],
      "events": [],
      "static": [
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "An object that represents a selector to match codecs of an RTP map in SDP."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "static",
              "description": null,
              "lineNumber": 4
            },
            {
              "title": "typedef",
              "description": null,
              "lineNumber": 5,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "CodecSelector"
            },
            {
              "title": "memberof",
              "description": "sdpHandlers",
              "lineNumber": 6
            },
            {
              "title": "property",
              "description": "The name of the codec.",
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "name"
            },
            {
              "title": "property",
              "description": "An array of strings to match against the \"a=fmtp\" format parameters for the corresponding codec.\n                                     All of the elements in the array must be contained in the \"a=fmtp\" attribute in order to be a match.",
              "lineNumber": 8,
              "type": {
                "type": "TypeApplication",
                "expression": {
                  "type": "NameExpression",
                  "name": "Array"
                },
                "applications": [
                  {
                    "type": "NameExpression",
                    "name": "string"
                  }
                ]
              },
              "name": "fmtpParams"
            }
          ],
          "loc": {
            "start": {
              "line": 65,
              "column": 0
            },
            "end": {
              "line": 75,
              "column": 3
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 121,
                "column": 0
              },
              "end": {
                "line": 121,
                "column": 58
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/builds/core/index.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [],
          "properties": [
            {
              "title": "property",
              "name": "name",
              "lineNumber": 7,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The name of the codec."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "property",
              "name": "fmtpParams",
              "lineNumber": 8,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "An array of strings to match against the \"a=fmtp\" format parameters for the corresponding codec.\nAll of the elements in the array must be contained in the \"a=fmtp\" attribute in order to be a match."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "TypeApplication",
                "expression": {
                  "type": "NameExpression",
                  "name": "Array"
                },
                "applications": [
                  {
                    "type": "NameExpression",
                    "name": "string"
                  }
                ]
              }
            }
          ],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "scope": "static",
          "kind": "typedef",
          "name": "CodecSelector",
          "type": {
            "type": "NameExpression",
            "name": "Object"
          },
          "memberof": "sdpHandlers",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "sdpHandlers",
              "kind": "namespace"
            },
            {
              "name": "CodecSelector",
              "kind": "typedef",
              "scope": "static"
            }
          ],
          "namespace": "sdpHandlers.CodecSelector"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "This function creates an SDP handler that will remove codecs matching the selectors specified for SDP offers and answers."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "In some scenarios it's necessary to remove certain codecs being offered by the SDK to remote parties. For example, some legacy call services limit the SDP\nlength (usually to 4KB) and will reject calls that have SDP size above this amount."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "While creating an SDP handler would allow a user to perform this type of manipulation, it is a non-trivial task that requires in-depth knowledge of WebRTC SDP."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "To facilitate this common task, the createCodecRemover function creates a codec removal handler that can be used for this purpose. Applications can use this codec\nremoval handler in combination with the "
                  },
                  {
                    "type": "link",
                    "url": "call.getAvailableCodecs",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "call.getAvailableCodecs"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " function in order to build logic to determine the best codecs to use\nfor their application."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 12,
              "type": null
            },
            {
              "title": "memberof",
              "description": "sdpHandlers",
              "lineNumber": 13
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 14,
              "name": "createCodecRemover"
            },
            {
              "title": "param",
              "description": "A list of codec selectors to remove from the SDP. If passing a list of strings, they will be converted into\n                                                     codec selectors that correspond to those names without any extra FMTP parameters.",
              "lineNumber": 15,
              "type": {
                "type": "UnionType",
                "elements": [
                  {
                    "type": "TypeApplication",
                    "expression": {
                      "type": "NameExpression",
                      "name": "Array"
                    },
                    "applications": [
                      {
                        "type": "NameExpression",
                        "name": "CodecSelector"
                      }
                    ]
                  },
                  {
                    "type": "TypeApplication",
                    "expression": {
                      "type": "NameExpression",
                      "name": "Array"
                    },
                    "applications": [
                      {
                        "type": "NameExpression",
                        "name": "string"
                      }
                    ]
                  }
                ]
              },
              "name": "codecs"
            },
            {
              "title": "returns",
              "description": "The resulting SDP handler that will remove the codec.",
              "lineNumber": 17,
              "type": {
                "type": "NameExpression",
                "name": "call.SdpHandlerFunction"
              }
            },
            {
              "title": "example",
              "description": "import { create, sdpHandlers } from 'kandy';\n\nconst codecRemover = sdpHandlers.createCodecRemover([\n  // Remove all VP8 and VP9 codecs.\n  'VP8',\n  'VP9',\n\n  // Remove all H264 codecs with the specified FMTP parameters.\n  {\n    name: 'H264',\n    fmtpParams: ['profile-level-id=4d0032', 'packetization-mode=1']\n  }\n])\n\nconst client = create({\n  call: {\n    sdpHandlers: [codecRemover]\n  }\n})",
              "lineNumber": 18
            }
          ],
          "loc": {
            "start": {
              "line": 77,
              "column": 0
            },
            "end": {
              "line": 116,
              "column": 3
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 121,
                "column": 0
              },
              "end": {
                "line": 121,
                "column": 58
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/builds/core/index.js"
          },
          "augments": [],
          "examples": [
            {
              "description": "import { create, sdpHandlers } from 'kandy';\n\nconst codecRemover = sdpHandlers.createCodecRemover([\n  // Remove all VP8 and VP9 codecs.\n  'VP8',\n  'VP9',\n\n  // Remove all H264 codecs with the specified FMTP parameters.\n  {\n    name: 'H264',\n    fmtpParams: ['profile-level-id=4d0032', 'packetization-mode=1']\n  }\n])\n\nconst client = create({\n  call: {\n    sdpHandlers: [codecRemover]\n  }\n})"
            }
          ],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "codecs",
              "lineNumber": 15,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "A list of codec selectors to remove from the SDP. If passing a list of strings, they will be converted into\ncodec selectors that correspond to those names without any extra FMTP parameters."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "UnionType",
                "elements": [
                  {
                    "type": "TypeApplication",
                    "expression": {
                      "type": "NameExpression",
                      "name": "Array"
                    },
                    "applications": [
                      {
                        "type": "NameExpression",
                        "name": "CodecSelector"
                      }
                    ]
                  },
                  {
                    "type": "TypeApplication",
                    "expression": {
                      "type": "NameExpression",
                      "name": "Array"
                    },
                    "applications": [
                      {
                        "type": "NameExpression",
                        "name": "string"
                      }
                    ]
                  }
                ]
              }
            }
          ],
          "properties": [],
          "returns": [
            {
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The resulting SDP handler that will remove the codec."
                      }
                    ]
                  }
                ]
              },
              "title": "returns",
              "type": {
                "type": "NameExpression",
                "name": "call.SdpHandlerFunction"
              }
            }
          ],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "sdpHandlers",
          "kind": "function",
          "name": "createCodecRemover",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "sdpHandlers",
              "kind": "namespace"
            },
            {
              "name": "createCodecRemover",
              "kind": "function"
            }
          ],
          "namespace": "sdpHandlerscreateCodecRemover"
        }
      ]
    },
    "path": [
      {
        "name": "sdpHandlers",
        "kind": "namespace"
      }
    ],
    "namespace": "sdpHandlers"
  },
  {
    "description": {
      "type": "root",
      "children": [
        {
          "type": "paragraph",
          "children": [
            {
              "type": "text",
              "value": "Sets the selected devices as the default devices.\nThey will be used for audio output for future calls.\nChanging speaker is supported on browser's that support HTMLMediaElement.setSinkId()."
            }
          ]
        }
      ]
    },
    "tags": [
      {
        "title": "memberof",
        "description": "media",
        "lineNumber": 4
      },
      {
        "title": "public",
        "description": null,
        "lineNumber": 5,
        "type": null
      },
      {
        "title": "requires",
        "description": null,
        "lineNumber": 6,
        "name": "call"
      },
      {
        "title": "requires",
        "description": null,
        "lineNumber": 7,
        "name": "callMe"
      },
      {
        "title": "method",
        "description": null,
        "lineNumber": 8,
        "name": "setDefaultDevices"
      },
      {
        "title": "param",
        "description": null,
        "lineNumber": 9,
        "type": {
          "type": "NameExpression",
          "name": "Object"
        },
        "name": "devices"
      },
      {
        "title": "param",
        "description": "The ID of the camera to set as default.",
        "lineNumber": 10,
        "type": {
          "type": "OptionalType",
          "expression": {
            "type": "NameExpression",
            "name": "string"
          }
        },
        "name": "devices.camera"
      },
      {
        "title": "param",
        "description": "The ID of the microphone to set as default.",
        "lineNumber": 11,
        "type": {
          "type": "OptionalType",
          "expression": {
            "type": "NameExpression",
            "name": "string"
          }
        },
        "name": "devices.microphone"
      },
      {
        "title": "param",
        "description": "The ID of the speaker to set as default.",
        "lineNumber": 12,
        "type": {
          "type": "OptionalType",
          "expression": {
            "type": "NameExpression",
            "name": "string"
          }
        },
        "name": "devices.speaker"
      },
      {
        "title": "example",
        "description": "// Set only the default microphone and camera.\nclient.media.setDefaultDevices({\n    camera: 'abc123...',\n    microphone: 'def456...'\n});",
        "lineNumber": 13
      }
    ],
    "loc": {
      "start": {
        "line": 64,
        "column": 4
      },
      "end": {
        "line": 83,
        "column": 7
      }
    },
    "context": {
      "loc": {
        "start": {
          "line": 84,
          "column": 4
        },
        "end": {
          "line": 87,
          "column": 5
        }
      },
      "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/api.js"
    },
    "augments": [],
    "examples": [
      {
        "description": "// Set only the default microphone and camera.\nclient.media.setDefaultDevices({\n    camera: 'abc123...',\n    microphone: 'def456...'\n});"
      }
    ],
    "implements": [],
    "params": [
      {
        "title": "param",
        "name": "devices",
        "lineNumber": 9,
        "type": {
          "type": "NameExpression",
          "name": "Object"
        },
        "properties": [
          {
            "title": "param",
            "name": "devices.camera",
            "lineNumber": 10,
            "description": {
              "type": "root",
              "children": [
                {
                  "type": "paragraph",
                  "children": [
                    {
                      "type": "text",
                      "value": "The ID of the camera to set as default."
                    }
                  ]
                }
              ]
            },
            "type": {
              "type": "OptionalType",
              "expression": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          },
          {
            "title": "param",
            "name": "devices.microphone",
            "lineNumber": 11,
            "description": {
              "type": "root",
              "children": [
                {
                  "type": "paragraph",
                  "children": [
                    {
                      "type": "text",
                      "value": "The ID of the microphone to set as default."
                    }
                  ]
                }
              ]
            },
            "type": {
              "type": "OptionalType",
              "expression": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          },
          {
            "title": "param",
            "name": "devices.speaker",
            "lineNumber": 12,
            "description": {
              "type": "root",
              "children": [
                {
                  "type": "paragraph",
                  "children": [
                    {
                      "type": "text",
                      "value": "The ID of the speaker to set as default."
                    }
                  ]
                }
              ]
            },
            "type": {
              "type": "OptionalType",
              "expression": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          }
        ]
      }
    ],
    "properties": [],
    "returns": [],
    "sees": [],
    "throws": [],
    "todos": [],
    "yields": [],
    "memberof": "media",
    "access": "public",
    "kind": "function",
    "name": "setDefaultDevices",
    "members": {
      "global": [],
      "inner": [],
      "instance": [],
      "events": [],
      "static": []
    },
    "path": [
      {
        "name": "setDefaultDevices",
        "kind": "function"
      }
    ],
    "namespace": "setDefaultDevices"
  },
  {
    "description": {
      "type": "root",
      "children": [
        {
          "type": "paragraph",
          "children": [
            {
              "type": "text",
              "value": "The SIP Events feature allows an application to communicate with a SIP network integrated\nwith their Kandy Link instance. The SIP network may generate custom events intended\nfor an application, which can be handled with the SDK's "
            },
            {
              "type": "inlineCode",
              "value": "sip"
            },
            {
              "type": "text",
              "value": " namespace."
            }
          ]
        },
        {
          "type": "paragraph",
          "children": [
            {
              "type": "text",
              "value": "Usage of SIP Events is dependent on your Kandy Link instance. The types of SIP Events can\nbe different based on configurations and components, often being part of a custom\nsolution. As such, the SIP Events feature is presented in a generic manner to be\nflexible for any possible events."
            }
          ]
        },
        {
          "type": "paragraph",
          "children": [
            {
              "type": "text",
              "value": "An example of a common SIP event is \"SIP presence\". When a user is connected to a SIP phone,\nthe network may generate \"phone presence\" events when the user starts and ends a call\n(eg. 'On Call', 'Available'). Applications can subscribe to receive these events for\nspecific users."
            }
          ]
        },
        {
          "type": "paragraph",
          "children": [
            {
              "type": "text",
              "value": "A SIP event may either be solicited or unsolicited. Solicited events, such as the \"presence\"\nexample above, requires the application to subscribe for the event. See the\n"
            },
            {
              "type": "link",
              "url": "#sipsubscribe",
              "title": null,
              "jsdoc": true,
              "children": [
                {
                  "type": "text",
                  "value": "sip.subscribe API"
                }
              ]
            },
            {
              "type": "text",
              "value": " for more information about solicited events.\nUnsolicited events have no prerequisites for being received."
            }
          ]
        }
      ]
    },
    "tags": [
      {
        "title": "public",
        "description": null,
        "lineNumber": 20,
        "type": null
      },
      {
        "title": "requires",
        "description": null,
        "lineNumber": 21,
        "name": "sipEvents"
      },
      {
        "title": "namespace",
        "description": null,
        "lineNumber": 22,
        "type": null,
        "name": "sip"
      }
    ],
    "loc": {
      "start": {
        "line": 2,
        "column": 0
      },
      "end": {
        "line": 25,
        "column": 3
      }
    },
    "context": {
      "loc": {
        "start": {
          "line": 28,
          "column": 0
        },
        "end": {
          "line": 28,
          "column": 45
        }
      },
      "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/sipEvents/interface/api.js"
    },
    "augments": [],
    "examples": [],
    "implements": [],
    "params": [],
    "properties": [],
    "returns": [],
    "sees": [],
    "throws": [],
    "todos": [],
    "yields": [],
    "access": "public",
    "kind": "namespace",
    "name": "sip",
    "members": {
      "global": [],
      "inner": [],
      "instance": [],
      "events": [
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "A change has occurred to a SIP subscription."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "This event can be emitted when a new SIP subscription is created ("
                  },
                  {
                    "type": "link",
                    "url": "#sipsubscribe",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "sip.subscribe"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": "\nAPI), an existing subscription is updated ("
                  },
                  {
                    "type": "link",
                    "url": "#sipupdate",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "sip.update"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " API), or has been\ndeleted ("
                  },
                  {
                    "type": "link",
                    "url": "#sipunsubscribe",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "sip.unsubscribe"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " API). The "
                  },
                  {
                    "type": "inlineCode",
                    "value": "change"
                  },
                  {
                    "type": "text",
                    "value": " parameter on the event indicates\nwhich scenario caused the event."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "When users are added or removed from a subscription through a new subscription or an update,\nthe "
                  },
                  {
                    "type": "inlineCode",
                    "value": "subscribedUsers"
                  },
                  {
                    "type": "text",
                    "value": " and "
                  },
                  {
                    "type": "inlineCode",
                    "value": "unsubscribedUsers"
                  },
                  {
                    "type": "text",
                    "value": " parameters will indicate the users added\nand removed, respectively."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "The "
                  },
                  {
                    "type": "link",
                    "url": "#sipgetdetails",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "sip.getDetails"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " API can be used to retrieve the current information about\na subscription."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 15,
              "type": null
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 16,
              "name": "sipEvents"
            },
            {
              "title": "memberof",
              "description": "sip",
              "lineNumber": 17
            },
            {
              "title": "event",
              "description": "sip:subscriptionChange",
              "lineNumber": 18
            },
            {
              "title": "param",
              "description": null,
              "lineNumber": 19,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "params"
            },
            {
              "title": "param",
              "description": "The name of the SIP event.",
              "lineNumber": 20,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "params.eventType"
            },
            {
              "title": "param",
              "description": "The change operation that triggered the event.",
              "lineNumber": 21,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "params.change"
            },
            {
              "title": "param",
              "description": "List of users added to the subscription\n   as part of the change.",
              "lineNumber": 22,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "TypeApplication",
                  "expression": {
                    "type": "NameExpression",
                    "name": "Array"
                  },
                  "applications": [
                    {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  ]
                }
              },
              "name": "params.subscribedUsers"
            },
            {
              "title": "param",
              "description": "List of users removed from the\n   subscription as part of the change.",
              "lineNumber": 24,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "TypeApplication",
                  "expression": {
                    "type": "NameExpression",
                    "name": "Array"
                  },
                  "applications": [
                    {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  ]
                }
              },
              "name": "params.unsubscribedUsers"
            }
          ],
          "loc": {
            "start": {
              "line": 1,
              "column": 0
            },
            "end": {
              "line": 27,
              "column": 3
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 28,
                "column": 0
              },
              "end": {
                "line": 28,
                "column": 66
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/sipEvents/interface/eventTypes.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "params",
              "lineNumber": 19,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "properties": [
                {
                  "title": "param",
                  "name": "params.eventType",
                  "lineNumber": 20,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The name of the SIP event."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "string"
                  }
                },
                {
                  "title": "param",
                  "name": "params.change",
                  "lineNumber": 21,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The change operation that triggered the event."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "string"
                  }
                },
                {
                  "title": "param",
                  "name": "params.subscribedUsers",
                  "lineNumber": 22,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "List of users added to the subscription\nas part of the change."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "TypeApplication",
                      "expression": {
                        "type": "NameExpression",
                        "name": "Array"
                      },
                      "applications": [
                        {
                          "type": "NameExpression",
                          "name": "string"
                        }
                      ]
                    }
                  }
                },
                {
                  "title": "param",
                  "name": "params.unsubscribedUsers",
                  "lineNumber": 24,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "List of users removed from the\nsubscription as part of the change."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "TypeApplication",
                      "expression": {
                        "type": "NameExpression",
                        "name": "Array"
                      },
                      "applications": [
                        {
                          "type": "NameExpression",
                          "name": "string"
                        }
                      ]
                    }
                  }
                }
              ]
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "sip",
          "kind": "event",
          "name": "sip:subscriptionChange",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "sip",
              "kind": "namespace"
            },
            {
              "name": "sip:subscriptionChange",
              "kind": "event"
            }
          ],
          "namespace": "sip.event:sip:subscriptionChange"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "An error has occurred during a SIP event operation."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 4,
              "name": "sipEvents"
            },
            {
              "title": "memberof",
              "description": "sip",
              "lineNumber": 5
            },
            {
              "title": "event",
              "description": "sip:error",
              "lineNumber": 6
            },
            {
              "title": "param",
              "description": null,
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "params"
            },
            {
              "title": "param",
              "description": "The Basic error object.",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "api.BasicError"
              },
              "name": "params.error"
            },
            {
              "title": "example",
              "description": "// Listen for the event being emitted.\nclient.on('sip:error', (params) => {\n   // Handle the error based on the information.\n   const { code, message } = params.error\n   ...\n})",
              "lineNumber": 9
            }
          ],
          "loc": {
            "start": {
              "line": 30,
              "column": 0
            },
            "end": {
              "line": 46,
              "column": 3
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 47,
                "column": 0
              },
              "end": {
                "line": 47,
                "column": 38
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/sipEvents/interface/eventTypes.js"
          },
          "augments": [],
          "examples": [
            {
              "description": "// Listen for the event being emitted.\nclient.on('sip:error', (params) => {\n   // Handle the error based on the information.\n   const { code, message } = params.error\n   ...\n})"
            }
          ],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "params",
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "properties": [
                {
                  "title": "param",
                  "name": "params.error",
                  "lineNumber": 8,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The Basic error object."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "api.BasicError"
                  }
                }
              ]
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "sip",
          "kind": "event",
          "name": "sip:error",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "sip",
              "kind": "namespace"
            },
            {
              "name": "sip:error",
              "kind": "event"
            }
          ],
          "namespace": "sip.event:sip:error"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "A SIP event notification has been received."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "The "
                  },
                  {
                    "type": "inlineCode",
                    "value": "event"
                  },
                  {
                    "type": "text",
                    "value": " parameter is the full notification received from the network. The format\nof the notification is dependant on its event type. The SDK does not do any\npre-processing of this data."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 6,
              "type": null
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 7,
              "name": "sipEvents"
            },
            {
              "title": "memberof",
              "description": "sip",
              "lineNumber": 8
            },
            {
              "title": "event",
              "description": "sip:eventsChange",
              "lineNumber": 9
            },
            {
              "title": "param",
              "description": "Information about the notification.",
              "lineNumber": 10,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "params"
            },
            {
              "title": "param",
              "description": "The name of the SIP event.",
              "lineNumber": 11,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "params.eventType"
            },
            {
              "title": "param",
              "description": "A unique ID for the event notification.",
              "lineNumber": 12,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "params.eventId"
            },
            {
              "title": "param",
              "description": "The full event object.",
              "lineNumber": 13,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "params.event"
            },
            {
              "title": "param",
              "description": null,
              "lineNumber": 14,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "params.links"
            },
            {
              "title": "param",
              "description": "The ID of the call this SIP event links to.",
              "lineNumber": 15,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "params.links.callId"
            },
            {
              "title": "example",
              "description": "// Listen for the event being emitted.\nclient.on('sip:eventsChange', (params) => {\n   // Gather the SIP info specific to the event.\n   const sipInfo = params.event.genericNotificationParams\n\n   // Handle the data based on the event type.\n   if (params.eventType === 'event:presence') {\n       const { data, from } = sipInfo\n       ...\n   }\n})",
              "lineNumber": 16
            }
          ],
          "loc": {
            "start": {
              "line": 49,
              "column": 0
            },
            "end": {
              "line": 77,
              "column": 3
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 78,
                "column": 0
              },
              "end": {
                "line": 78,
                "column": 48
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/sipEvents/interface/eventTypes.js"
          },
          "augments": [],
          "examples": [
            {
              "description": "// Listen for the event being emitted.\nclient.on('sip:eventsChange', (params) => {\n   // Gather the SIP info specific to the event.\n   const sipInfo = params.event.genericNotificationParams\n\n   // Handle the data based on the event type.\n   if (params.eventType === 'event:presence') {\n       const { data, from } = sipInfo\n       ...\n   }\n})"
            }
          ],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "params",
              "lineNumber": 10,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Information about the notification."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "properties": [
                {
                  "title": "param",
                  "name": "params.eventType",
                  "lineNumber": 11,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The name of the SIP event."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "string"
                  }
                },
                {
                  "title": "param",
                  "name": "params.eventId",
                  "lineNumber": 12,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "A unique ID for the event notification."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "string"
                  }
                },
                {
                  "title": "param",
                  "name": "params.event",
                  "lineNumber": 13,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The full event object."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "Object"
                  }
                },
                {
                  "title": "param",
                  "name": "params.links",
                  "lineNumber": 14,
                  "type": {
                    "type": "NameExpression",
                    "name": "Object"
                  },
                  "properties": [
                    {
                      "title": "param",
                      "name": "params.links.callId",
                      "lineNumber": 15,
                      "description": {
                        "type": "root",
                        "children": [
                          {
                            "type": "paragraph",
                            "children": [
                              {
                                "type": "text",
                                "value": "The ID of the call this SIP event links to."
                              }
                            ]
                          }
                        ]
                      },
                      "type": {
                        "type": "OptionalType",
                        "expression": {
                          "type": "NameExpression",
                          "name": "string"
                        }
                      }
                    }
                  ]
                }
              ]
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "sip",
          "kind": "event",
          "name": "sip:eventsChange",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "sip",
              "kind": "namespace"
            },
            {
              "name": "sip:eventsChange",
              "kind": "event"
            }
          ],
          "namespace": "sip.event:sip:eventsChange"
        }
      ],
      "static": [
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Creates a subscription for a SIP event."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "A subscription is required to receive SIP notifications for solicited events. Before\ncreating a SIP subscription, the service for the event type must have been\nprovisioned as part of the user subscription using the "
                  },
                  {
                    "type": "link",
                    "url": "services.subscribe",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "services.subscribe"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": "\nAPI."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Only one SIP subscription per event type can exist at a time. A subscription can\nwatch for events from multiple users at once. Users can be added to or removed\nfrom a subscription using the "
                  },
                  {
                    "type": "link",
                    "url": "#sipupdate",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "sip.update"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " API at any time."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "The SDK will emit a "
                  },
                  {
                    "type": "link",
                    "url": "#sipeventsipsubscriptionchange",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "sip:subscriptionChange"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": "\nevent when the operations completes. The "
                  },
                  {
                    "type": "link",
                    "url": "#sipgetdetails",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "sip.getDetails"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " API can be used\nto retrieve the current information about a subscription."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "The SDK will emit a "
                  },
                  {
                    "type": "link",
                    "url": "#sipeventsipeventschange",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "sip:eventsChange"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " event when\na SIP event is received."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 18,
              "type": null
            },
            {
              "title": "static",
              "description": null,
              "lineNumber": 19
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 20,
              "name": "subscribe"
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 21,
              "name": "sipEvents"
            },
            {
              "title": "memberof",
              "description": "sip",
              "lineNumber": 22
            },
            {
              "title": "param",
              "description": "The name of the SIP event.",
              "lineNumber": 23,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "eventType"
            },
            {
              "title": "param",
              "description": "The list of users to receive events about.",
              "lineNumber": 24,
              "type": {
                "type": "TypeApplication",
                "expression": {
                  "type": "NameExpression",
                  "name": "Array"
                },
                "applications": [
                  {
                    "type": "NameExpression",
                    "name": "string"
                  }
                ]
              },
              "name": "subscribeUserList"
            },
            {
              "title": "param",
              "description": "Unique identifier for a client device.",
              "lineNumber": 25,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "clientCorrelator"
            },
            {
              "title": "param",
              "description": "Custom SIP header parameters for the SIP backend.",
              "lineNumber": 26,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "TypeApplication",
                  "expression": {
                    "type": "NameExpression",
                    "name": "Array"
                  },
                  "applications": [
                    {
                      "type": "NameExpression",
                      "name": "call.CustomParameter"
                    }
                  ]
                }
              },
              "name": "customParameters"
            },
            {
              "title": "example",
              "description": "// Provision the service for the specific SIP event during user subscription.\n//   This is required before a SIP subscription for the event can be created.\nconst services = ['call', 'event:presence', ...]\nclient.services.subscribe(services)\n\n// Subscribe to receive SIP presence events from two users.\nclient.sip.subscribe('event:presence', ['userOne@example.com', 'userTwo@example.com'], 'clientId123')\n\n// Subscribe for SIP events with a custom parameter.\nconst customParameters = [{\n   name: 'X-nt-GUID',\n   value: 'GUID123abc'\n}]\nclient.sip.subscribe('event:presence', subscribeUserList, 'clientId123', customParameters)",
              "lineNumber": 27
            }
          ],
          "loc": {
            "start": {
              "line": 45,
              "column": 4
            },
            "end": {
              "line": 87,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 88,
                "column": 4
              },
              "end": {
                "line": 91,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/sipEvents/interface/api.js"
          },
          "augments": [],
          "examples": [
            {
              "description": "// Provision the service for the specific SIP event during user subscription.\n//   This is required before a SIP subscription for the event can be created.\nconst services = ['call', 'event:presence', ...]\nclient.services.subscribe(services)\n\n// Subscribe to receive SIP presence events from two users.\nclient.sip.subscribe('event:presence', ['userOne@example.com', 'userTwo@example.com'], 'clientId123')\n\n// Subscribe for SIP events with a custom parameter.\nconst customParameters = [{\n   name: 'X-nt-GUID',\n   value: 'GUID123abc'\n}]\nclient.sip.subscribe('event:presence', subscribeUserList, 'clientId123', customParameters)"
            }
          ],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "eventType",
              "lineNumber": 23,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The name of the SIP event."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "param",
              "name": "subscribeUserList",
              "lineNumber": 24,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The list of users to receive events about."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "TypeApplication",
                "expression": {
                  "type": "NameExpression",
                  "name": "Array"
                },
                "applications": [
                  {
                    "type": "NameExpression",
                    "name": "string"
                  }
                ]
              }
            },
            {
              "title": "param",
              "name": "clientCorrelator",
              "lineNumber": 25,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Unique identifier for a client device."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "param",
              "name": "customParameters",
              "lineNumber": 26,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Custom SIP header parameters for the SIP backend."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "TypeApplication",
                  "expression": {
                    "type": "NameExpression",
                    "name": "Array"
                  },
                  "applications": [
                    {
                      "type": "NameExpression",
                      "name": "call.CustomParameter"
                    }
                  ]
                }
              }
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "scope": "static",
          "kind": "function",
          "name": "subscribe",
          "memberof": "sip",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "sip",
              "kind": "namespace"
            },
            {
              "name": "subscribe",
              "kind": "function",
              "scope": "static"
            }
          ],
          "namespace": "sip.subscribe"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Updates an existing SIP event subscription."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Allows for adding or removing users from the subscription, and for changing the\ncustom parameters of the subscription."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "The SDK will emit a "
                  },
                  {
                    "type": "link",
                    "url": "#sipeventsipsubscriptionchange",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "sip:subscriptionChange"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": "\nevent when the operations completes. The "
                  },
                  {
                    "type": "link",
                    "url": "#sipgetdetails",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "sip.getDetails"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " API can be used\nto retrieve the current information about a subscription."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 9,
              "type": null
            },
            {
              "title": "static",
              "description": null,
              "lineNumber": 10
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 11,
              "name": "update"
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 12,
              "name": "sipEvents"
            },
            {
              "title": "memberof",
              "description": "sip",
              "lineNumber": 13
            },
            {
              "title": "param",
              "description": "The name of the SIP event.",
              "lineNumber": 14,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "eventType"
            },
            {
              "title": "param",
              "description": null,
              "lineNumber": 15,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "userLists"
            },
            {
              "title": "param",
              "description": "List of users to add to the subscription.",
              "lineNumber": 16,
              "type": {
                "type": "TypeApplication",
                "expression": {
                  "type": "NameExpression",
                  "name": "Array"
                },
                "applications": [
                  {
                    "type": "NameExpression",
                    "name": "string"
                  }
                ]
              },
              "name": "userLists.subscribeUserList"
            },
            {
              "title": "param",
              "description": "List of users to remove from the subscription. If all users are removed, the event subscription will be deleted.",
              "lineNumber": 17,
              "type": {
                "type": "TypeApplication",
                "expression": {
                  "type": "NameExpression",
                  "name": "Array"
                },
                "applications": [
                  {
                    "type": "NameExpression",
                    "name": "string"
                  }
                ]
              },
              "name": "userLists.unsubscribeUserList"
            },
            {
              "title": "param",
              "description": "Custom SIP header parameters for the SIP backend.",
              "lineNumber": 18,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "TypeApplication",
                  "expression": {
                    "type": "NameExpression",
                    "name": "Array"
                  },
                  "applications": [
                    {
                      "type": "NameExpression",
                      "name": "call.CustomParameter"
                    }
                  ]
                }
              },
              "name": "customParameters"
            },
            {
              "title": "example",
              "description": "// Add a user to an existing subscription.\nconst userLists = {\n   subscribedUserList: ['userThree@example.com']\n}\nclient.sip.update('event:presence', userLists)\n\n// Simultaneously add and remove users from the subscription.\nconst userLists = {\n   subscribedUserList: ['userThree@example.com'],\n   unsubscribeUserList: ['userOne@example.com']\n}\nclient.sip.update('event:presence', userLists)",
              "lineNumber": 19
            }
          ],
          "loc": {
            "start": {
              "line": 93,
              "column": 4
            },
            "end": {
              "line": 125,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 126,
                "column": 4
              },
              "end": {
                "line": 129,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/sipEvents/interface/api.js"
          },
          "augments": [],
          "examples": [
            {
              "description": "// Add a user to an existing subscription.\nconst userLists = {\n   subscribedUserList: ['userThree@example.com']\n}\nclient.sip.update('event:presence', userLists)\n\n// Simultaneously add and remove users from the subscription.\nconst userLists = {\n   subscribedUserList: ['userThree@example.com'],\n   unsubscribeUserList: ['userOne@example.com']\n}\nclient.sip.update('event:presence', userLists)"
            }
          ],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "eventType",
              "lineNumber": 14,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The name of the SIP event."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "param",
              "name": "userLists",
              "lineNumber": 15,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "properties": [
                {
                  "title": "param",
                  "name": "userLists.subscribeUserList",
                  "lineNumber": 16,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "List of users to add to the subscription."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "TypeApplication",
                    "expression": {
                      "type": "NameExpression",
                      "name": "Array"
                    },
                    "applications": [
                      {
                        "type": "NameExpression",
                        "name": "string"
                      }
                    ]
                  }
                },
                {
                  "title": "param",
                  "name": "userLists.unsubscribeUserList",
                  "lineNumber": 17,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "List of users to remove from the subscription. If all users are removed, the event subscription will be deleted."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "TypeApplication",
                    "expression": {
                      "type": "NameExpression",
                      "name": "Array"
                    },
                    "applications": [
                      {
                        "type": "NameExpression",
                        "name": "string"
                      }
                    ]
                  }
                }
              ]
            },
            {
              "title": "param",
              "name": "customParameters",
              "lineNumber": 18,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Custom SIP header parameters for the SIP backend."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "TypeApplication",
                  "expression": {
                    "type": "NameExpression",
                    "name": "Array"
                  },
                  "applications": [
                    {
                      "type": "NameExpression",
                      "name": "call.CustomParameter"
                    }
                  ]
                }
              }
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "scope": "static",
          "kind": "function",
          "name": "update",
          "memberof": "sip",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "sip",
              "kind": "namespace"
            },
            {
              "name": "update",
              "kind": "function",
              "scope": "static"
            }
          ],
          "namespace": "sip.update"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Deletes an existing SIP event subscription."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "The SDK will emit a "
                  },
                  {
                    "type": "link",
                    "url": "#sipeventsipsubscriptionchange",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "sip:subscriptionChange"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": "\nevent when the operations completes."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Subscription details will no longer be available using the "
                  },
                  {
                    "type": "link",
                    "url": "#sipgetdetails",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "sip.getDetails"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": "\nAPI after it has been unsubscribed from."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 8,
              "type": null
            },
            {
              "title": "static",
              "description": null,
              "lineNumber": 9
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 10,
              "name": "unsubscribe"
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 11,
              "name": "sipEvents"
            },
            {
              "title": "memberof",
              "description": "sip",
              "lineNumber": 12
            },
            {
              "title": "param",
              "description": "The name of the SIP event.",
              "lineNumber": 13,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "eventType"
            },
            {
              "title": "example",
              "description": "// Delete a SIP subscription.\nclient.sip.unsubscribe('event:presence')",
              "lineNumber": 14
            }
          ],
          "loc": {
            "start": {
              "line": 131,
              "column": 4
            },
            "end": {
              "line": 148,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 149,
                "column": 4
              },
              "end": {
                "line": 152,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/sipEvents/interface/api.js"
          },
          "augments": [],
          "examples": [
            {
              "description": "// Delete a SIP subscription.\nclient.sip.unsubscribe('event:presence')"
            }
          ],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "eventType",
              "lineNumber": 13,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The name of the SIP event."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "scope": "static",
          "kind": "function",
          "name": "unsubscribe",
          "memberof": "sip",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "sip",
              "kind": "namespace"
            },
            {
              "name": "unsubscribe",
              "kind": "function",
              "scope": "static"
            }
          ],
          "namespace": "sip.unsubscribe"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Retrieve information about a SIP event subscription."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "The SDK will track which users are included as part of the subscription and\nprevious notifications received. Each subscription will include a unique ID."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 5,
              "type": null
            },
            {
              "title": "static",
              "description": null,
              "lineNumber": 6
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 7,
              "name": "getDetails"
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 8,
              "name": "sipEvents"
            },
            {
              "title": "memberof",
              "description": "sip",
              "lineNumber": 9
            },
            {
              "title": "param",
              "description": "The name of a SIP event. If not provided, will retrieve\n   information for all SIP subscriptions.",
              "lineNumber": 10,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "eventType"
            },
            {
              "title": "return",
              "description": "SIP subscription information. If `eventType` was not provided, will\n   return an object namespaced by event types.",
              "lineNumber": 12,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              }
            },
            {
              "title": "example",
              "description": "// Retrieve information about a single SIP subscription.\nconst { subscribedUsers, notifications } = client.sip.getDetails('event:presence')\n\n// Retrieve information about all current SIP subscriptions.\nconst subscriptions = client.sip.getDetails()\nconst { subscribedUsers, notifications } = subscriptions['event:presence']",
              "lineNumber": 14
            }
          ],
          "loc": {
            "start": {
              "line": 154,
              "column": 4
            },
            "end": {
              "line": 175,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 176,
                "column": 4
              },
              "end": {
                "line": 179,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/sipEvents/interface/api.js"
          },
          "augments": [],
          "examples": [
            {
              "description": "// Retrieve information about a single SIP subscription.\nconst { subscribedUsers, notifications } = client.sip.getDetails('event:presence')\n\n// Retrieve information about all current SIP subscriptions.\nconst subscriptions = client.sip.getDetails()\nconst { subscribedUsers, notifications } = subscriptions['event:presence']"
            }
          ],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "eventType",
              "lineNumber": 10,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The name of a SIP event. If not provided, will retrieve\ninformation for all SIP subscriptions."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              }
            }
          ],
          "properties": [],
          "returns": [
            {
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "SIP subscription information. If "
                      },
                      {
                        "type": "inlineCode",
                        "value": "eventType"
                      },
                      {
                        "type": "text",
                        "value": " was not provided, will\nreturn an object namespaced by event types."
                      }
                    ]
                  }
                ]
              },
              "title": "returns",
              "type": {
                "type": "NameExpression",
                "name": "Object"
              }
            }
          ],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "scope": "static",
          "kind": "function",
          "name": "getDetails",
          "memberof": "sip",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "sip",
              "kind": "namespace"
            },
            {
              "name": "getDetails",
              "kind": "function",
              "scope": "static"
            }
          ],
          "namespace": "sip.getDetails"
        }
      ]
    },
    "path": [
      {
        "name": "sip",
        "kind": "namespace"
      }
    ],
    "namespace": "sip"
  },
  {
    "description": {
      "type": "root",
      "children": [
        {
          "type": "paragraph",
          "children": [
            {
              "type": "text",
              "value": "Starts the local video stream and displays it to the user."
            }
          ]
        }
      ]
    },
    "tags": [
      {
        "title": "memberof",
        "description": "media",
        "lineNumber": 2
      },
      {
        "title": "public",
        "description": null,
        "lineNumber": 3,
        "type": null
      },
      {
        "title": "requires",
        "description": null,
        "lineNumber": 4,
        "name": "call"
      },
      {
        "title": "method",
        "description": null,
        "lineNumber": 5,
        "name": "startPreviewVideo"
      },
      {
        "title": "param",
        "description": "The container to use for local video.",
        "lineNumber": 6,
        "type": {
          "type": "OptionalType",
          "expression": {
            "type": "NameExpression",
            "name": "HTMLElement"
          }
        },
        "name": "videoContainer"
      },
      {
        "title": "example",
        "description": "``` javascript\n var container = document.getElementById('local-video');\n client.media.startPreviewVideo(container);\n```",
        "lineNumber": 7
      }
    ],
    "loc": {
      "start": {
        "line": 101,
        "column": 4
      },
      "end": {
        "line": 113,
        "column": 7
      }
    },
    "context": {
      "loc": {
        "start": {
          "line": 114,
          "column": 4
        },
        "end": {
          "line": 117,
          "column": 5
        }
      },
      "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/api.js"
    },
    "augments": [],
    "examples": [
      {
        "description": "``` javascript\n var container = document.getElementById('local-video');\n client.media.startPreviewVideo(container);\n```"
      }
    ],
    "implements": [],
    "params": [
      {
        "title": "param",
        "name": "videoContainer",
        "lineNumber": 6,
        "description": {
          "type": "root",
          "children": [
            {
              "type": "paragraph",
              "children": [
                {
                  "type": "text",
                  "value": "The container to use for local video."
                }
              ]
            }
          ]
        },
        "type": {
          "type": "OptionalType",
          "expression": {
            "type": "NameExpression",
            "name": "HTMLElement"
          }
        }
      }
    ],
    "properties": [],
    "returns": [],
    "sees": [],
    "throws": [],
    "todos": [],
    "yields": [],
    "memberof": "media",
    "access": "public",
    "kind": "function",
    "name": "startPreviewVideo",
    "members": {
      "global": [],
      "inner": [],
      "instance": [],
      "events": [],
      "static": []
    },
    "path": [
      {
        "name": "startPreviewVideo",
        "kind": "function"
      }
    ],
    "namespace": "startPreviewVideo"
  },
  {
    "description": {
      "type": "root",
      "children": [
        {
          "type": "paragraph",
          "children": [
            {
              "type": "text",
              "value": "Stops the local video stream created in "
            },
            {
              "type": "inlineCode",
              "value": "startPreviewVideo"
            },
            {
              "type": "text",
              "value": "."
            }
          ]
        }
      ]
    },
    "tags": [
      {
        "title": "memberof",
        "description": "media",
        "lineNumber": 2
      },
      {
        "title": "public",
        "description": null,
        "lineNumber": 3,
        "type": null
      },
      {
        "title": "requires",
        "description": null,
        "lineNumber": 4,
        "name": "call"
      },
      {
        "title": "method",
        "description": null,
        "lineNumber": 5,
        "name": "stopPreviewVideo"
      }
    ],
    "loc": {
      "start": {
        "line": 119,
        "column": 4
      },
      "end": {
        "line": 125,
        "column": 7
      }
    },
    "context": {
      "loc": {
        "start": {
          "line": 126,
          "column": 4
        },
        "end": {
          "line": 129,
          "column": 5
        }
      },
      "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/call/interface/api.js"
    },
    "augments": [],
    "examples": [],
    "implements": [],
    "params": [],
    "properties": [],
    "returns": [],
    "sees": [],
    "throws": [],
    "todos": [],
    "yields": [],
    "memberof": "media",
    "access": "public",
    "kind": "function",
    "name": "stopPreviewVideo",
    "members": {
      "global": [],
      "inner": [],
      "instance": [],
      "events": [],
      "static": []
    },
    "path": [
      {
        "name": "stopPreviewVideo",
        "kind": "function"
      }
    ],
    "namespace": "stopPreviewVideo"
  },
  {
    "description": {
      "type": "root",
      "children": [
        {
          "type": "paragraph",
          "children": [
            {
              "type": "text",
              "value": "The 'user' namespace allows access to user information for users within the same domain."
            }
          ]
        }
      ]
    },
    "tags": [
      {
        "title": "public",
        "description": null,
        "lineNumber": 3,
        "type": null
      },
      {
        "title": "namespace",
        "description": null,
        "lineNumber": 4,
        "type": null,
        "name": "user"
      }
    ],
    "loc": {
      "start": {
        "line": 9,
        "column": 2
      },
      "end": {
        "line": 14,
        "column": 5
      }
    },
    "context": {
      "loc": {
        "start": {
          "line": 31,
          "column": 2
        },
        "end": {
          "line": 182,
          "column": 3
        }
      },
      "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/users/interface/api/users.js"
    },
    "augments": [],
    "examples": [],
    "implements": [],
    "params": [],
    "properties": [],
    "returns": [],
    "sees": [],
    "throws": [],
    "todos": [],
    "yields": [],
    "access": "public",
    "kind": "namespace",
    "name": "user",
    "members": {
      "global": [],
      "inner": [],
      "instance": [],
      "events": [
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "The directory has changed."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 2,
              "type": null
            },
            {
              "title": "static",
              "description": null,
              "lineNumber": 3
            },
            {
              "title": "memberof",
              "description": "user",
              "lineNumber": 4
            },
            {
              "title": "event",
              "description": "directory:change",
              "lineNumber": 5
            },
            {
              "title": "param",
              "description": null,
              "lineNumber": 6,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "params"
            },
            {
              "title": "param",
              "description": "The Users' information returned by the\n   operation.",
              "lineNumber": 7,
              "type": {
                "type": "TypeApplication",
                "expression": {
                  "type": "NameExpression",
                  "name": "Array"
                },
                "applications": [
                  {
                    "type": "NameExpression",
                    "name": "user.User"
                  }
                ]
              },
              "name": "params.results"
            }
          ],
          "loc": {
            "start": {
              "line": 36,
              "column": 0
            },
            "end": {
              "line": 45,
              "column": 3
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 46,
                "column": 0
              },
              "end": {
                "line": 46,
                "column": 50
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/users/interface/events/eventTypes.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "params",
              "lineNumber": 6,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "properties": [
                {
                  "title": "param",
                  "name": "params.results",
                  "lineNumber": 7,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The Users' information returned by the\noperation."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "TypeApplication",
                    "expression": {
                      "type": "NameExpression",
                      "name": "Array"
                    },
                    "applications": [
                      {
                        "type": "NameExpression",
                        "name": "user.User"
                      }
                    ]
                  }
                }
              ]
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "scope": "static",
          "memberof": "user",
          "kind": "event",
          "name": "directory:change",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "user",
              "kind": "namespace"
            },
            {
              "name": "directory:change",
              "kind": "event",
              "scope": "static"
            }
          ],
          "namespace": "user.event:directory:change"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "An error occurred while performing a directory operation."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 2,
              "type": null
            },
            {
              "title": "memberof",
              "description": "user",
              "lineNumber": 3
            },
            {
              "title": "event",
              "description": "directory:error",
              "lineNumber": 4
            },
            {
              "title": "param",
              "description": null,
              "lineNumber": 5,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "params"
            },
            {
              "title": "param",
              "description": "The Basic error object.",
              "lineNumber": 6,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "params.error"
            }
          ],
          "loc": {
            "start": {
              "line": 48,
              "column": 0
            },
            "end": {
              "line": 55,
              "column": 3
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 56,
                "column": 0
              },
              "end": {
                "line": 56,
                "column": 48
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/users/interface/events/eventTypes.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "params",
              "lineNumber": 5,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "properties": [
                {
                  "title": "param",
                  "name": "params.error",
                  "lineNumber": 6,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The Basic error object."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "Object"
                  }
                }
              ]
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "user",
          "kind": "event",
          "name": "directory:error",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "user",
              "kind": "namespace"
            },
            {
              "name": "directory:error",
              "kind": "event"
            }
          ],
          "namespace": "user.event:directory:error"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "A change has occurred in the users list"
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 2,
              "type": null
            },
            {
              "title": "static",
              "description": null,
              "lineNumber": 3
            },
            {
              "title": "memberof",
              "description": "user",
              "lineNumber": 4
            },
            {
              "title": "event",
              "description": "users:change",
              "lineNumber": 5
            },
            {
              "title": "param",
              "description": null,
              "lineNumber": 6,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "params"
            },
            {
              "title": "param",
              "description": "The Users' information returned by the\n   operation.",
              "lineNumber": 7,
              "type": {
                "type": "TypeApplication",
                "expression": {
                  "type": "NameExpression",
                  "name": "Array"
                },
                "applications": [
                  {
                    "type": "NameExpression",
                    "name": "user.User"
                  }
                ]
              },
              "name": "params.results"
            }
          ],
          "loc": {
            "start": {
              "line": 58,
              "column": 0
            },
            "end": {
              "line": 67,
              "column": 3
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 68,
                "column": 0
              },
              "end": {
                "line": 68,
                "column": 42
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/users/interface/events/eventTypes.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "params",
              "lineNumber": 6,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "properties": [
                {
                  "title": "param",
                  "name": "params.results",
                  "lineNumber": 7,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The Users' information returned by the\noperation."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "TypeApplication",
                    "expression": {
                      "type": "NameExpression",
                      "name": "Array"
                    },
                    "applications": [
                      {
                        "type": "NameExpression",
                        "name": "user.User"
                      }
                    ]
                  }
                }
              ]
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "scope": "static",
          "memberof": "user",
          "kind": "event",
          "name": "users:change",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "user",
              "kind": "namespace"
            },
            {
              "name": "users:change",
              "kind": "event",
              "scope": "static"
            }
          ],
          "namespace": "user.event:users:change"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "An error occurred while retrieving the user information"
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 2,
              "type": null
            },
            {
              "title": "static",
              "description": null,
              "lineNumber": 3
            },
            {
              "title": "memberof",
              "description": "user",
              "lineNumber": 4
            },
            {
              "title": "event",
              "description": "users:error",
              "lineNumber": 5
            },
            {
              "title": "param",
              "description": null,
              "lineNumber": 6,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "params"
            },
            {
              "title": "param",
              "description": "params.error The Basic error object.",
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "params.error"
            }
          ],
          "loc": {
            "start": {
              "line": 70,
              "column": 0
            },
            "end": {
              "line": 78,
              "column": 3
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 79,
                "column": 0
              },
              "end": {
                "line": 79,
                "column": 40
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/users/interface/events/eventTypes.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "params",
              "lineNumber": 6,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "properties": [
                {
                  "title": "param",
                  "name": "params.error",
                  "lineNumber": 7,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "params.error The Basic error object."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "Object"
                  }
                }
              ]
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "scope": "static",
          "memberof": "user",
          "kind": "event",
          "name": "users:error",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "user",
              "kind": "namespace"
            },
            {
              "name": "users:error",
              "kind": "event",
              "scope": "static"
            }
          ],
          "namespace": "user.event:users:error"
        }
      ],
      "static": [
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "The User data object."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "static",
              "description": null,
              "lineNumber": 4
            },
            {
              "title": "typedef",
              "description": null,
              "lineNumber": 5,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "User"
            },
            {
              "title": "memberof",
              "description": "user",
              "lineNumber": 6
            },
            {
              "title": "property",
              "description": "The User ID of the user.",
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "user.UserID"
              },
              "name": "userId"
            },
            {
              "title": "property",
              "description": "The email address of the user.",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "emailAddress"
            },
            {
              "title": "property",
              "description": "The first name of the user.",
              "lineNumber": 9,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "firstName"
            },
            {
              "title": "property",
              "description": "The last name of the user.",
              "lineNumber": 10,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "lastName"
            },
            {
              "title": "property",
              "description": "The URL to get the photo of the user.",
              "lineNumber": 11,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "photoURL"
            },
            {
              "title": "property",
              "description": "Whether the user is a \"buddy\". Values can be \"true\" or \"false\".",
              "lineNumber": 12,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "buddy"
            }
          ],
          "loc": {
            "start": {
              "line": 16,
              "column": 2
            },
            "end": {
              "line": 29,
              "column": 5
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 31,
                "column": 2
              },
              "end": {
                "line": 182,
                "column": 3
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/users/interface/api/users.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [],
          "properties": [
            {
              "title": "property",
              "name": "userId",
              "lineNumber": 7,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The User ID of the user."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "user.UserID"
              }
            },
            {
              "title": "property",
              "name": "emailAddress",
              "lineNumber": 8,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The email address of the user."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "property",
              "name": "firstName",
              "lineNumber": 9,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The first name of the user."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "property",
              "name": "lastName",
              "lineNumber": 10,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The last name of the user."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "property",
              "name": "photoURL",
              "lineNumber": 11,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The URL to get the photo of the user."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            },
            {
              "title": "property",
              "name": "buddy",
              "lineNumber": 12,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "Whether the user is a \"buddy\". Values can be \"true\" or \"false\"."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "scope": "static",
          "kind": "typedef",
          "name": "User",
          "type": {
            "type": "NameExpression",
            "name": "Object"
          },
          "memberof": "user",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "user",
              "kind": "namespace"
            },
            {
              "name": "User",
              "kind": "typedef",
              "scope": "static"
            }
          ],
          "namespace": "user.User"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Fetches information about a User."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "The SDK will emit a "
                  },
                  {
                    "type": "link",
                    "url": "#usereventuserschange",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "users:change"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": "\nevent after the operation completes. The User's information will then\nbe available."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Information about an available User can be retrieved using the\n"
                  },
                  {
                    "type": "link",
                    "url": "#userget",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "user.get"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " API."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 10,
              "type": null
            },
            {
              "title": "static",
              "description": null,
              "lineNumber": 11
            },
            {
              "title": "memberof",
              "description": "user",
              "lineNumber": 12
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 13,
              "name": "fetch"
            },
            {
              "title": "param",
              "description": "The User ID of the user.",
              "lineNumber": 14,
              "type": {
                "type": "NameExpression",
                "name": "string"
              },
              "name": "userId"
            }
          ],
          "loc": {
            "start": {
              "line": 32,
              "column": 4
            },
            "end": {
              "line": 47,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 48,
                "column": 4
              },
              "end": {
                "line": 51,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/users/interface/api/users.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "userId",
              "lineNumber": 14,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The User ID of the user."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "string"
              }
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "scope": "static",
          "memberof": "user",
          "kind": "function",
          "name": "fetch",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "user",
              "kind": "namespace"
            },
            {
              "name": "fetch",
              "kind": "function",
              "scope": "static"
            }
          ],
          "namespace": "user.fetch"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Fetches information about the current User from directory.\nCompared to "
                  },
                  {
                    "type": "link",
                    "url": "#userfetch",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "user.fetch"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " API, this API retrieves additional user related information."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "The SDK will emit a "
                  },
                  {
                    "type": "link",
                    "url": "#usereventuserschange",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "users:change"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": "\nevent after the operation completes. The User's information will then\nbe available."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Information about an available User can be retrieved using the\n"
                  },
                  {
                    "type": "link",
                    "url": "#userget",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "user.get"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " API."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 11,
              "type": null
            },
            {
              "title": "static",
              "description": null,
              "lineNumber": 12
            },
            {
              "title": "memberof",
              "description": "user",
              "lineNumber": 13
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 14,
              "name": "fetchSelfInfo"
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 15,
              "name": "selfInfoAsUserProfile"
            }
          ],
          "loc": {
            "start": {
              "line": 53,
              "column": 4
            },
            "end": {
              "line": 69,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 87,
                "column": 4
              },
              "end": {
                "line": 90,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/users/interface/api/users.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "scope": "static",
          "memberof": "user",
          "kind": "function",
          "name": "fetchSelfInfo",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "user",
              "kind": "namespace"
            },
            {
              "name": "fetchSelfInfo",
              "kind": "function",
              "scope": "static"
            }
          ],
          "namespace": "user.fetchSelfInfo"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Retrieves information about a User, if available."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "See the "
                  },
                  {
                    "type": "link",
                    "url": "#userfetch",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "user.fetch"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " and "
                  },
                  {
                    "type": "link",
                    "url": "#usersearch",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "user.search"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " APIs for details about\nmaking Users' information available."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 6,
              "type": null
            },
            {
              "title": "static",
              "description": null,
              "lineNumber": 7
            },
            {
              "title": "memberof",
              "description": "user",
              "lineNumber": 8
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 9,
              "name": "get"
            },
            {
              "title": "param",
              "description": "The User ID of the user.",
              "lineNumber": 10,
              "type": {
                "type": "NameExpression",
                "name": "user.UserID"
              },
              "name": "userId"
            },
            {
              "title": "returns",
              "description": "The User object for the specified user.",
              "lineNumber": 11,
              "type": {
                "type": "NameExpression",
                "name": "user.User"
              }
            }
          ],
          "loc": {
            "start": {
              "line": 92,
              "column": 4
            },
            "end": {
              "line": 104,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 105,
                "column": 4
              },
              "end": {
                "line": 108,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/users/interface/api/users.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "userId",
              "lineNumber": 10,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The User ID of the user."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "user.UserID"
              }
            }
          ],
          "properties": [],
          "returns": [
            {
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The User object for the specified user."
                      }
                    ]
                  }
                ]
              },
              "title": "returns",
              "type": {
                "type": "NameExpression",
                "name": "user.User"
              }
            }
          ],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "scope": "static",
          "memberof": "user",
          "kind": "function",
          "name": "get",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "user",
              "kind": "namespace"
            },
            {
              "name": "get",
              "kind": "function",
              "scope": "static"
            }
          ],
          "namespace": "user.get"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Retrieves information about all available Users."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "See the "
                  },
                  {
                    "type": "link",
                    "url": "#userfetch",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "user.fetch"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " and "
                  },
                  {
                    "type": "link",
                    "url": "#usersearch",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "user.search"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " APIs for details about\nmaking Users' information available."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 6,
              "type": null
            },
            {
              "title": "static",
              "description": null,
              "lineNumber": 7
            },
            {
              "title": "memberof",
              "description": "user",
              "lineNumber": 8
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 9,
              "name": "getAll"
            },
            {
              "title": "returns",
              "description": "An array of all the User objects.",
              "lineNumber": 10,
              "type": {
                "type": "TypeApplication",
                "expression": {
                  "type": "NameExpression",
                  "name": "Array"
                },
                "applications": [
                  {
                    "type": "NameExpression",
                    "name": "user.User"
                  }
                ]
              }
            }
          ],
          "loc": {
            "start": {
              "line": 110,
              "column": 4
            },
            "end": {
              "line": 121,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 122,
                "column": 4
              },
              "end": {
                "line": 125,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/users/interface/api/users.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [],
          "properties": [],
          "returns": [
            {
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "An array of all the User objects."
                      }
                    ]
                  }
                ]
              },
              "title": "returns",
              "type": {
                "type": "TypeApplication",
                "expression": {
                  "type": "NameExpression",
                  "name": "Array"
                },
                "applications": [
                  {
                    "type": "NameExpression",
                    "name": "user.User"
                  }
                ]
              }
            }
          ],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "scope": "static",
          "memberof": "user",
          "kind": "function",
          "name": "getAll",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "user",
              "kind": "namespace"
            },
            {
              "name": "getAll",
              "kind": "function",
              "scope": "static"
            }
          ],
          "namespace": "user.getAll"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Searches the domain's directory for Users."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Directory searching only supports one filter. If multiple filters are provided, only one of the filters will be used for the search.\nA search with no filters provided will return all users."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "The SDK will emit a "
                  },
                  {
                    "type": "link",
                    "url": "#usereventdirectorychange",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "directory:change"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": "\nevent after the operation completes. The search results will be\nprovided as part of the event, and will also be available using the\n"
                  },
                  {
                    "type": "link",
                    "url": "#userget",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "user.get"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " and "
                  },
                  {
                    "type": "link",
                    "url": "#usergetall",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "user.getAll"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " APIs."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 11,
              "type": null
            },
            {
              "title": "static",
              "description": null,
              "lineNumber": 12
            },
            {
              "title": "memberof",
              "description": "user",
              "lineNumber": 13
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 14,
              "name": "search"
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 15,
              "name": "limitedSearch"
            },
            {
              "title": "param",
              "description": "The filter options for the search.",
              "lineNumber": 16,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "filters"
            },
            {
              "title": "param",
              "description": "Matches the User ID of the user.",
              "lineNumber": 17,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "user.UserID"
                }
              },
              "name": "filters.userId"
            },
            {
              "title": "param",
              "description": "Matches the firstName or lastName.",
              "lineNumber": 18,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "filters.name"
            },
            {
              "title": "param",
              "description": "Matches the firstName.",
              "lineNumber": 19,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "filters.firstName"
            },
            {
              "title": "param",
              "description": "Matches the lastName.",
              "lineNumber": 20,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "filters.lastName"
            },
            {
              "title": "param",
              "description": "Matches the userName.",
              "lineNumber": 21,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "filters.userName"
            },
            {
              "title": "param",
              "description": "Matches the phoneNumber.",
              "lineNumber": 22,
              "type": {
                "type": "OptionalType",
                "expression": {
                  "type": "NameExpression",
                  "name": "string"
                }
              },
              "name": "filters.phoneNumber"
            }
          ],
          "loc": {
            "start": {
              "line": 127,
              "column": 4
            },
            "end": {
              "line": 150,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 178,
                "column": 4
              },
              "end": {
                "line": 181,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/users/interface/api/users.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "filters",
              "lineNumber": 16,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "The filter options for the search."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "properties": [
                {
                  "title": "param",
                  "name": "filters.userId",
                  "lineNumber": 17,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Matches the User ID of the user."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "user.UserID"
                    }
                  }
                },
                {
                  "title": "param",
                  "name": "filters.name",
                  "lineNumber": 18,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Matches the firstName or lastName."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  }
                },
                {
                  "title": "param",
                  "name": "filters.firstName",
                  "lineNumber": 19,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Matches the firstName."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  }
                },
                {
                  "title": "param",
                  "name": "filters.lastName",
                  "lineNumber": 20,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Matches the lastName."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  }
                },
                {
                  "title": "param",
                  "name": "filters.userName",
                  "lineNumber": 21,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Matches the userName."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  }
                },
                {
                  "title": "param",
                  "name": "filters.phoneNumber",
                  "lineNumber": 22,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Matches the phoneNumber."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "OptionalType",
                    "expression": {
                      "type": "NameExpression",
                      "name": "string"
                    }
                  }
                }
              ]
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "scope": "static",
          "memberof": "user",
          "kind": "function",
          "name": "search",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "user",
              "kind": "namespace"
            },
            {
              "name": "search",
              "kind": "function",
              "scope": "static"
            }
          ],
          "namespace": "user.search"
        }
      ]
    },
    "path": [
      {
        "name": "user",
        "kind": "namespace"
      }
    ],
    "namespace": "user"
  },
  {
    "description": {
      "type": "root",
      "children": [
        {
          "type": "paragraph",
          "children": [
            {
              "type": "text",
              "value": "The 'voicemail' namespace is used to retrieve and view\nvoicemail indicators."
            }
          ]
        },
        {
          "type": "paragraph",
          "children": [
            {
              "type": "text",
              "value": "Voicemail functions are all part of this namespace."
            }
          ]
        }
      ]
    },
    "tags": [
      {
        "title": "public",
        "description": null,
        "lineNumber": 6,
        "type": null
      },
      {
        "title": "requires",
        "description": null,
        "lineNumber": 7,
        "name": "voicemail"
      },
      {
        "title": "namespace",
        "description": null,
        "lineNumber": 8,
        "type": null,
        "name": "voicemail"
      }
    ],
    "loc": {
      "start": {
        "line": 1,
        "column": 0
      },
      "end": {
        "line": 10,
        "column": 3
      }
    },
    "context": {
      "loc": {
        "start": {
          "line": 12,
          "column": 0
        },
        "end": {
          "line": 12,
          "column": 36
        }
      },
      "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/mwi/interface/api.js"
    },
    "augments": [],
    "examples": [],
    "implements": [],
    "params": [],
    "properties": [],
    "returns": [],
    "sees": [],
    "throws": [],
    "todos": [],
    "yields": [],
    "access": "public",
    "kind": "namespace",
    "name": "voicemail",
    "members": {
      "global": [],
      "inner": [],
      "instance": [],
      "events": [
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "A voicemail event has been received."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "requires",
              "description": null,
              "lineNumber": 3,
              "name": "voicemail"
            },
            {
              "title": "public",
              "description": null,
              "lineNumber": 4,
              "type": null
            },
            {
              "title": "static",
              "description": null,
              "lineNumber": 5
            },
            {
              "title": "memberof",
              "description": "voicemail",
              "lineNumber": 6
            },
            {
              "title": "event",
              "description": "voicemail:change",
              "lineNumber": 7
            },
            {
              "title": "param",
              "description": "An object containing voicemail info.",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "params"
            },
            {
              "title": "param",
              "description": "Timestamp of the last time voicemail data was checked.",
              "lineNumber": 9,
              "type": {
                "type": "NameExpression",
                "name": "number"
              },
              "name": "params.lastUpdated"
            },
            {
              "title": "param",
              "description": "Whether there are new messages.",
              "lineNumber": 10,
              "type": {
                "type": "NameExpression",
                "name": "boolean"
              },
              "name": "params.newMessagesWaiting"
            },
            {
              "title": "param",
              "description": "The total number of voicemail messages.",
              "lineNumber": 11,
              "type": {
                "type": "NameExpression",
                "name": "number"
              },
              "name": "params.totalVoice"
            },
            {
              "title": "param",
              "description": "Number of unheard voicemail messages.",
              "lineNumber": 12,
              "type": {
                "type": "NameExpression",
                "name": "number"
              },
              "name": "params.unheardVoice"
            },
            {
              "title": "param",
              "description": "Object containing individual counts of new, old, urgent voicemails.",
              "lineNumber": 13,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "params.voice"
            },
            {
              "title": "param",
              "description": "Object containing individual counts of new, old, urgent faxes.",
              "lineNumber": 14,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "params.fax"
            },
            {
              "title": "param",
              "description": "Object containing individual counts of new, old, urgent multimedia messages.",
              "lineNumber": 15,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "params.multimedia"
            }
          ],
          "loc": {
            "start": {
              "line": 2,
              "column": 0
            },
            "end": {
              "line": 18,
              "column": 3
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 19,
                "column": 0
              },
              "end": {
                "line": 19,
                "column": 44
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/mwi/interface/eventTypes.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "params",
              "lineNumber": 8,
              "description": {
                "type": "root",
                "children": [
                  {
                    "type": "paragraph",
                    "children": [
                      {
                        "type": "text",
                        "value": "An object containing voicemail info."
                      }
                    ]
                  }
                ]
              },
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "properties": [
                {
                  "title": "param",
                  "name": "params.lastUpdated",
                  "lineNumber": 9,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Timestamp of the last time voicemail data was checked."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "number"
                  }
                },
                {
                  "title": "param",
                  "name": "params.newMessagesWaiting",
                  "lineNumber": 10,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Whether there are new messages."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "boolean"
                  }
                },
                {
                  "title": "param",
                  "name": "params.totalVoice",
                  "lineNumber": 11,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The total number of voicemail messages."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "number"
                  }
                },
                {
                  "title": "param",
                  "name": "params.unheardVoice",
                  "lineNumber": 12,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Number of unheard voicemail messages."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "number"
                  }
                },
                {
                  "title": "param",
                  "name": "params.voice",
                  "lineNumber": 13,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Object containing individual counts of new, old, urgent voicemails."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "Object"
                  }
                },
                {
                  "title": "param",
                  "name": "params.fax",
                  "lineNumber": 14,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Object containing individual counts of new, old, urgent faxes."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "Object"
                  }
                },
                {
                  "title": "param",
                  "name": "params.multimedia",
                  "lineNumber": 15,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "Object containing individual counts of new, old, urgent multimedia messages."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "Object"
                  }
                }
              ]
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "scope": "static",
          "memberof": "voicemail",
          "kind": "event",
          "name": "voicemail:change",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "voicemail",
              "kind": "namespace"
            },
            {
              "name": "voicemail:change",
              "kind": "event",
              "scope": "static"
            }
          ],
          "namespace": "voicemail.event:voicemail:change"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "An error has occurred while attempting to retrieve voicemail data."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "requires",
              "description": null,
              "lineNumber": 3,
              "name": "voicemail"
            },
            {
              "title": "public",
              "description": null,
              "lineNumber": 4,
              "type": null
            },
            {
              "title": "memberof",
              "description": "voicemail",
              "lineNumber": 5
            },
            {
              "title": "event",
              "description": "voicemail:error",
              "lineNumber": 6
            },
            {
              "title": "param",
              "description": null,
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "name": "params"
            },
            {
              "title": "param",
              "description": "The Basic error object.",
              "lineNumber": 8,
              "type": {
                "type": "NameExpression",
                "name": "api.BasicError"
              },
              "name": "params.error"
            }
          ],
          "loc": {
            "start": {
              "line": 21,
              "column": 0
            },
            "end": {
              "line": 30,
              "column": 3
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 31,
                "column": 0
              },
              "end": {
                "line": 31,
                "column": 42
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/mwi/interface/eventTypes.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [
            {
              "title": "param",
              "name": "params",
              "lineNumber": 7,
              "type": {
                "type": "NameExpression",
                "name": "Object"
              },
              "properties": [
                {
                  "title": "param",
                  "name": "params.error",
                  "lineNumber": 8,
                  "description": {
                    "type": "root",
                    "children": [
                      {
                        "type": "paragraph",
                        "children": [
                          {
                            "type": "text",
                            "value": "The Basic error object."
                          }
                        ]
                      }
                    ]
                  },
                  "type": {
                    "type": "NameExpression",
                    "name": "api.BasicError"
                  }
                }
              ]
            }
          ],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "voicemail",
          "kind": "event",
          "name": "voicemail:error",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "voicemail",
              "kind": "namespace"
            },
            {
              "name": "voicemail:error",
              "kind": "event"
            }
          ],
          "namespace": "voicemail.event:voicemail:error"
        }
      ],
      "static": [
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Attempts to retrieve voicemail information from the server."
                  }
                ]
              },
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "A "
                  },
                  {
                    "type": "link",
                    "url": "#voicemaileventvoicemailchange",
                    "title": null,
                    "jsdoc": true,
                    "children": [
                      {
                        "type": "text",
                        "value": "voicemail:change"
                      }
                    ]
                  },
                  {
                    "type": "text",
                    "value": " event is\nemitted upon completion."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 6,
              "type": null
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 7,
              "name": "voicemail"
            },
            {
              "title": "memberof",
              "description": "voicemail",
              "lineNumber": 8
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 9,
              "name": "fetch"
            }
          ],
          "loc": {
            "start": {
              "line": 22,
              "column": 4
            },
            "end": {
              "line": 32,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 33,
                "column": 4
              },
              "end": {
                "line": 36,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/mwi/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "voicemail",
          "kind": "function",
          "name": "fetch",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "voicemail",
              "kind": "namespace"
            },
            {
              "name": "fetch",
              "kind": "function"
            }
          ],
          "namespace": "voicemailfetch"
        },
        {
          "description": {
            "type": "root",
            "children": [
              {
                "type": "paragraph",
                "children": [
                  {
                    "type": "text",
                    "value": "Returns voicemail data from the store."
                  }
                ]
              }
            ]
          },
          "tags": [
            {
              "title": "public",
              "description": null,
              "lineNumber": 3,
              "type": null
            },
            {
              "title": "requires",
              "description": null,
              "lineNumber": 4,
              "name": "voicemail"
            },
            {
              "title": "memberof",
              "description": "voicemail",
              "lineNumber": 5
            },
            {
              "title": "method",
              "description": null,
              "lineNumber": 6,
              "name": "get"
            }
          ],
          "loc": {
            "start": {
              "line": 38,
              "column": 4
            },
            "end": {
              "line": 45,
              "column": 7
            }
          },
          "context": {
            "loc": {
              "start": {
                "line": 46,
                "column": 4
              },
              "end": {
                "line": 49,
                "column": 5
              }
            },
            "file": "/var/jenkins_home/workspace/Kandy.js_v4-support/packages/kandy/src/mwi/interface/api.js"
          },
          "augments": [],
          "examples": [],
          "implements": [],
          "params": [],
          "properties": [],
          "returns": [],
          "sees": [],
          "throws": [],
          "todos": [],
          "yields": [],
          "access": "public",
          "memberof": "voicemail",
          "kind": "function",
          "name": "get",
          "members": {
            "global": [],
            "inner": [],
            "instance": [],
            "events": [],
            "static": []
          },
          "path": [
            {
              "name": "voicemail",
              "kind": "namespace"
            },
            {
              "name": "get",
              "kind": "function"
            }
          ],
          "namespace": "voicemailget"
        }
      ]
    },
    "path": [
      {
        "name": "voicemail",
        "kind": "namespace"
      }
    ],
    "namespace": "voicemail"
  }
]