{
  "swagger": "2.0",
  "info": {
    "version": "v1",
    "title": "TeamViewer Web API"
  },
  "host": "webapi.teamviewer.com",
  "schemes": [
    "https"
  ],
  "paths": {
    "/api/v1/account": {
      "get": {
        "tags": [
          "Account Management"
        ],
        "summary": "Returns the account",
        "description": "Returns the account that is associated with the used API token. The permissions field in the response model is deprecated, please use user role permissions.",
        "operationId": "Account_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetAccountResponse"
            }
          }
        }
      },
      "put": {
        "tags": [
          "Account Management"
        ],
        "summary": "Updates the account",
        "operationId": "Account_Put",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [],
        "parameters": [
          {
            "name": "parameters",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.AccountPutParameters"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      },
      "post": {
        "tags": [
          "Account Management"
        ],
        "summary": "Creates a new account",
        "operationId": "Account_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "parameters",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.AccountPostParameters"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetAccountResponse"
            }
          }
        }
      }
    },
    "/api/v1/account/TenantIds": {
      "get": {
        "tags": [
          "Account Management"
        ],
        "summary": "Returns the account's tenants",
        "operationId": "Account_GetTenantIds",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.TenantIdListResponse"
            }
          }
        }
      }
    },
    "/api/v1/account/iot/preferences": {
      "get": {
        "tags": [
          "Account Management"
        ],
        "summary": "Get the account IoT preferences",
        "operationId": "Account_GetIoTPreferences",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Module.Account.DataTypes.IoTAccountPreferencesModel.IoTAccountPreferences"
            }
          }
        }
      },
      "post": {
        "tags": [
          "Account Management"
        ],
        "summary": "Create or update account IoT preferences",
        "operationId": "Account_AddOrUpdateIotPreferences",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [],
        "parameters": [
          {
            "name": "parameters",
            "in": "body",
            "description": "Provide the list of the account IoT preferences.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Module.Account.DataTypes.IoTAccountPreferencesModel.IoTAccountPreferences"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      },
      "delete": {
        "tags": [
          "Account Management"
        ],
        "summary": "Delete the account IoT preferences",
        "operationId": "Account_DeleteIoTPreferences",
        "consumes": [],
        "produces": [],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/api/v1/account/licenses/iot": {
      "get": {
        "tags": [
          "Account Management"
        ],
        "summary": "Returns the account's IoT license information",
        "operationId": "Account_GetLicense",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Commons.Web.Api.Response.GenericApiResponse`1[[TeamViewer.Role.Web.Api.Models.GetLicenseResponse, TeamViewer.Role.Web.Api, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]"
            }
          }
        }
      }
    },
    "/api/v1/chat/Rooms": {
      "get": {
        "tags": [
          "Chat"
        ],
        "operationId": "Chat_GetRooms",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.Chat.GetAllChatRoomsResponse"
            }
          }
        }
      }
    },
    "/api/v1/chat/Messages": {
      "get": {
        "tags": [
          "Chat"
        ],
        "operationId": "Chat_GetMessages",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "roomId",
            "in": "query",
            "required": true,
            "type": "string"
          },
          {
            "name": "lastMessageId",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "lastWrittenDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "maxResults",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.Chat.GetChatMessagesResponse"
            }
          }
        }
      }
    },
    "/api/v1/chat/UnreadMessages": {
      "get": {
        "tags": [
          "Chat"
        ],
        "operationId": "Chat_GetUnreadMessages",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.Chat.GetChatMessagesResponse"
            }
          }
        }
      }
    },
    "/api/v1/chat/MarkMessageAsRead": {
      "put": {
        "tags": [
          "Chat"
        ],
        "operationId": "Chat_MarkMessageAsRead",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [],
        "parameters": [
          {
            "name": "messagesWrapper",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.Chat.MarkMessagesAsReadParameters"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/api/v1/chat/SendMessage": {
      "post": {
        "tags": [
          "Chat"
        ],
        "operationId": "Chat_SendMessage",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "message",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.Chat.SendMessageParameters"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.Chat.GetChatMessageResponse"
            }
          }
        }
      }
    },
    "/api/v1/companyaddressbook": {
      "get": {
        "tags": [
          "Company Address Book"
        ],
        "summary": "Gets the activation state of a company's address book",
        "operationId": "CompanyAddressBook_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.CompanyAddressBook.CompanyAddressBookModel"
            }
          },
          "403": {
            "description": "Insufficient permissions to get the activation state of the company's address book."
          },
          "500": {
            "description": "Internal Server Error. Operation could not finish because an internal error."
          }
        }
      },
      "put": {
        "tags": [
          "Company Address Book"
        ],
        "summary": "Sets the activation state of a company's address book",
        "operationId": "CompanyAddressBook_Put",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "param",
            "in": "body",
            "description": "Put parameters. The new state of a company's address book",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.CompanyAddressBook.CompanyAddressBookPutParameters"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.CompanyAddressBook.CompanyAddressBookModel"
            }
          },
          "403": {
            "description": "Insufficient permissions to get the activation state of the company's address book."
          },
          "500": {
            "description": "Internal Server Error. Operation could not finish because an internal error."
          }
        }
      }
    },
    "/api/v1/companyaddressbook/hiddenmembers": {
      "get": {
        "tags": [
          "Company Address Book"
        ],
        "summary": "Lists the hidden members of a company's address book",
        "operationId": "CompanyAddressBook_List",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ListResponse`1[[TeamViewer.Role.Web.Api.Models.CompanyAddressBook.CompanyAddressBookHiddenMemberModel, TeamViewer.Role.Web.Api, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]"
            }
          },
          "403": {
            "description": "Insufficient permissions to get the activation state of the company's address book."
          },
          "500": {
            "description": "Internal Server Error. Operation could not finish because an internal error."
          }
        }
      },
      "post": {
        "tags": [
          "Company Address Book"
        ],
        "summary": "Hides accounts from company's address book",
        "description": "Marks the given accounts as hidden,\r\nthus they are not appeared in the company's address book.",
        "operationId": "CompanyAddressBook_HideMembers",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "accountIds",
            "in": "body",
            "description": "List of account identifiers to be marked as hidden.\r\nMust be given as JSON formatted array.",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "format": "int32",
                "type": "integer"
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.CompanyAddressBook.CompanyAddressBookHiddenMemberModel"
              }
            }
          },
          "400": {
            "description": "The given accounts must be members of the company that is associated\r\nwith the API token."
          },
          "403": {
            "description": "Insufficient permissions to hide members."
          },
          "500": {
            "description": "Internal Server Error. Operation could not finish because an internal error."
          }
        }
      },
      "delete": {
        "tags": [
          "Company Address Book"
        ],
        "summary": "Unhides the given accounts from a company's address book",
        "description": "Marks the given accounts as unhidden,\r\nthus they are appeared in the company's address book.",
        "operationId": "CompanyAddressBook_UnhideMembers",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "accountIds",
            "in": "body",
            "description": "List of account identifiers to be marked as hidden.\r\nMust be given as JSON formatted array.",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "format": "int32",
                "type": "integer"
              }
            }
          }
        ],
        "responses": {
          "204": {
            "description": "NoContent"
          },
          "400": {
            "description": "The given accounts must be members of the company that is associated\r\nwith the API token."
          },
          "403": {
            "description": "Insufficient permissions to hide members."
          },
          "500": {
            "description": "Internal Server Error. Operation could not finish because an internal error."
          }
        }
      }
    },
    "/api/v1/companyaddressbook/hiddenmembers/{accountId}": {
      "delete": {
        "tags": [
          "Company Address Book"
        ],
        "summary": "Unhides the given account from a company's address book",
        "description": "Marks the given account as unhidden,\r\nthus it is appeared in the company's address book.",
        "operationId": "CompanyAddressBook_UnhideMember",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "Account identifier to be marked as unhidden.\r\nMust be given as JSON formatted array.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "204": {
            "description": "NoContent"
          },
          "400": {
            "description": "The given accounts must be members of the company that is associated\r\nwith the API token."
          },
          "403": {
            "description": "Insufficient permissions to unhide member."
          },
          "500": {
            "description": "Internal Server Error. Operation could not finish because an internal error."
          }
        }
      }
    },
    "/api/v1/company": {
      "get": {
        "tags": [
          "Company Management"
        ],
        "summary": "Returns the company details",
        "operationId": "Company_GetCompanyDetails",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "responses": {
          "200": {
            "description": "The company was successfully retrieved",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.Company.CompanyResponse"
            }
          },
          "403": {
            "description": "Forbidden - There is no company definition found at your session"
          },
          "500": {
            "description": "An unexpected error occurred while retrieving the company details."
          }
        }
      },
      "put": {
        "tags": [
          "Company Management"
        ],
        "summary": "Update company details",
        "description": "Updates the company details of the account (user) that is associated with the used API token. This account should be the last user with admin permissions at the company.",
        "operationId": "Company_UpdateCompany",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.Company.UpdateCompanyRequest"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/System.Void"
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Company Management"
        ],
        "summary": "Delete a company",
        "description": "Deletes the company of the account (user) that is associated with the used API token. This account should be the last user with admin permissions at the company.",
        "operationId": "Company_DeleteCompany",
        "consumes": [],
        "produces": [],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/System.Void"
            }
          }
        }
      }
    },
    "/api/v1/company/license": {
      "get": {
        "tags": [
          "Company Management"
        ],
        "summary": "Returns the company license details",
        "operationId": "Company_GetCompanyLicenseDetails",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "responses": {
          "200": {
            "description": "The company license data was successfully retrieved",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.Company.CompanyLicenseDetails"
            }
          },
          "403": {
            "description": "Forbidden - There is no company definition found at your session."
          },
          "500": {
            "description": "An unexpected error occurred while retrieving the company license details."
          }
        }
      }
    },
    "/api/v1/contacts": {
      "get": {
        "tags": [
          "Computers & Contacts"
        ],
        "summary": "Retrieves all contacts with optional filtering",
        "description": "Returns contacts from your buddy list. All filters are optional and can be combined.\r\nPending invitations are automatically included when filtering by specific email addresses.",
        "operationId": "Contacts_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "parameters.name",
            "in": "query",
            "description": "Filter by name. Case-insensitive partial match (e.g., \"John\" matches \"John Smith\").",
            "required": false,
            "type": "string"
          },
          {
            "name": "parameters.online_state",
            "in": "query",
            "description": "Filter contacts by online status (optional). Available values: 0 = Online, 1 = Busy, 2 = Away, 3 = Unknown, 4 = Offline",
            "required": false,
            "type": "integer",
            "format": "int32",
            "enum": [
              0,
              1,
              2,
              3,
              4
            ]
          },
          {
            "name": "parameters.email",
            "in": "query",
            "description": "Filter by email address. Multiple addresses can be separated by comma or space.",
            "required": false,
            "type": "string"
          },
          {
            "name": "parameters.groupid",
            "in": "query",
            "description": "Filter by group ID (g-prefixed, e.g., 'g1000'). Returns only contacts in the specified group.",
            "required": false,
            "type": "string"
          },
          {
            "name": "parameters.include_invitations",
            "in": "query",
            "description": "When true, includes pending invitations (invited contacts who have not yet created their account) in the response. Default: false.",
            "required": false,
            "type": "boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "Contacts successfully retrieved with optional pending invitations",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetAllContactsResponse"
            }
          },
          "400": {
            "description": "Invalid request parameters"
          }
        }
      },
      "post": {
        "tags": [
          "Computers & Contacts"
        ],
        "summary": "Creates a new contact and adds it to a group",
        "description": "Adds a contact to your buddy list. If the account doesn't exist and invite is true, an invitation email is sent.\r\nThe response includes a Location header with the new contact ID.",
        "operationId": "Contacts_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "parameters",
            "in": "body",
            "description": "Contact creation parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ContactsPostParameters"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Contact successfully created",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetContactResponse"
            }
          },
          "206": {
            "description": "An email invitation to create a TeamViewer account has been sent"
          },
          "400": {
            "description": "Invalid parameters"
          },
          "500": {
            "description": "Invitation already exists / Email address is incorrect."
          }
        }
      }
    },
    "/api/v1/contacts/{id}": {
      "get": {
        "tags": [
          "Computers & Contacts"
        ],
        "summary": "Retrieves a specific contact by ID",
        "description": "Returns detailed information about a single contact.",
        "operationId": "Contacts_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Contact ID (c-prefixed)",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Contact successfully retrieved",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetAllContactsResponse"
            }
          },
          "400": {
            "description": "Invalid contact ID format / Contact not found"
          }
        }
      },
      "delete": {
        "tags": [
          "Computers & Contacts"
        ],
        "summary": "Deletes a contact from the buddy list",
        "description": "Removes a contact permanently from your address book.",
        "operationId": "Contacts_Delete",
        "consumes": [],
        "produces": [],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Contact ID (c-prefixed)",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "Contact successfully deleted"
          },
          "400": {
            "description": "Invalid contact ID format / Contact not found"
          }
        }
      }
    },
    "/api/v1/devices/{id}/iot/software-configurations/{productId}": {
      "put": {
        "tags": [
          "Computers & Contacts"
        ],
        "summary": "Update software configuration on device.",
        "operationId": "SoftwareConfigurationPolicy_UpdateDevice",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "buddyId for device",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "productId",
            "in": "path",
            "description": "id for updatable product on device",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object"
            }
          }
        }
      }
    },
    "/api/v1/devices/{id}/iot/software-configurations": {
      "get": {
        "tags": [
          "Computers & Contacts"
        ],
        "summary": "Get software configuration of a device.",
        "operationId": "SoftwareConfigurationPolicy_ProductsOnDevice",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "buddyId for device",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.SoftwareConfiguration.DeviceData"
            }
          }
        }
      }
    },
    "/api/v1/devices/{id}/iot/software-configurations/{productId}/state": {
      "get": {
        "tags": [
          "Computers & Contacts"
        ],
        "summary": "Get software configuration state to know if the update was successful.",
        "operationId": "SoftwareConfigurationPolicy_CurrentState",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "buddyId for device",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "productId",
            "in": "path",
            "description": "product id",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.SoftwareConfiguration.StateResult"
            }
          }
        }
      }
    },
    "/api/v1/devices": {
      "get": {
        "tags": [
          "Computers & Contacts"
        ],
        "summary": "GET api/v1/devices",
        "operationId": "Devices_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "parameters.name",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "parameters.online_state",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "enum": [
              0,
              1,
              2,
              3,
              4
            ]
          },
          {
            "name": "parameters.groupid",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "parameters.remotecontrol_id",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetAllDevicesResponse"
            }
          }
        }
      },
      "post": {
        "tags": [
          "Computers & Contacts"
        ],
        "summary": "POST api/v1/Devices",
        "operationId": "Devices_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "parameters",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.DevicesPostParameters"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetDeviceResponse"
            }
          }
        }
      }
    },
    "/api/v1/devices/{id}": {
      "get": {
        "tags": [
          "Computers & Contacts"
        ],
        "summary": "GET api/v1/devices/{id}",
        "operationId": "Devices_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetAllDevicesResponse"
            }
          }
        }
      },
      "put": {
        "tags": [
          "Computers & Contacts"
        ],
        "summary": "PUT api/v1/Devices/{id}",
        "operationId": "Devices_Put",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "parameters",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.DevicesPutParameters"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      },
      "delete": {
        "tags": [
          "Computers & Contacts"
        ],
        "summary": "DELETE api/v1/Devices/{id}",
        "operationId": "Devices_Delete",
        "consumes": [],
        "produces": [],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/api/v1/devices/assign": {
      "post": {
        "tags": [
          "Computers & Contacts"
        ],
        "summary": "Assign device to user account\r\n<para>POST /api/v1/devices/assign</para>",
        "operationId": "Devices_Assign",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [],
        "parameters": [
          {
            "name": "data",
            "in": "body",
            "description": "the request body data",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Controllers.DevicesController+AssignParams"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/api/v1/devices/types": {
      "post": {
        "tags": [
          "Computers & Contacts"
        ],
        "summary": "Get the types of devices.",
        "operationId": "Devices_GetTypes",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "parameters",
            "in": "body",
            "description": "The array of device ids or a continuation token in case one is returned in the response when the devices array is big.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetTypesOfDevicesParameters"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetTypesOfDevicesResponse"
            }
          }
        }
      }
    },
    "/api/v1/devices/{deviceId}/iot/sensors": {
      "get": {
        "tags": [
          "Computers & Contacts"
        ],
        "summary": "Get the list of IoT Sensors",
        "operationId": "Devices_GetSensors",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "deviceId",
            "in": "path",
            "description": "The managed device id.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.DeviceSensorsResponse"
            }
          }
        }
      },
      "post": {
        "tags": [
          "Computers & Contacts"
        ],
        "summary": "Create an IoT sensor with any set of metrics.",
        "operationId": "Devices_CreateSensor",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "deviceId",
            "in": "path",
            "description": "The managed device id.",
            "required": true,
            "type": "string"
          },
          {
            "name": "sensorParameters",
            "in": "body",
            "description": "",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.SensorDataResponse"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.SensorDataResponse"
            }
          }
        }
      }
    },
    "/api/v1/devices/{deviceId}/iot/sensors/{sensorId}": {
      "get": {
        "tags": [
          "Computers & Contacts"
        ],
        "summary": "Get a  IoT sensor with it's set of metrics.",
        "operationId": "Devices_GetSensorsById",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "deviceId",
            "in": "path",
            "description": "The managed device id.",
            "required": true,
            "type": "string"
          },
          {
            "name": "sensorId",
            "in": "path",
            "description": "datasourceId of the Sensor.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.DeviceSensorsResponse"
            }
          }
        }
      },
      "put": {
        "tags": [
          "Computers & Contacts"
        ],
        "summary": "Update IoT sensor by provided datasourceId.",
        "operationId": "Devices_UpdateSensor",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "deviceId",
            "in": "path",
            "description": "The managed device id.",
            "required": true,
            "type": "string"
          },
          {
            "name": "sensorId",
            "in": "path",
            "description": "datasourceId of the Sensor",
            "required": true,
            "type": "string"
          },
          {
            "name": "sensorParameters",
            "in": "body",
            "description": "",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.SensorDataResponse"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Commons.Web.Api.Response.GenericApiResponse"
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Computers & Contacts"
        ],
        "summary": "Delete IoT sensor by provided datasourceId.",
        "operationId": "Devices_DeleteSensor",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "deviceId",
            "in": "path",
            "description": "The managed device id.",
            "required": true,
            "type": "string"
          },
          {
            "name": "sensorId",
            "in": "path",
            "description": "datasourceId of the IoT Sensor.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Commons.Web.Api.Response.GenericApiResponse"
            }
          }
        }
      }
    },
    "/api/v1/devices/{id}/iot/monitoring-configuration": {
      "get": {
        "tags": [
          "Computers & Contacts"
        ],
        "summary": "Get monitoring configuration of a device.",
        "operationId": "Devices_GetRemoteConfigurationForDevice",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The managed device id.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Module.IoTDataProvider.DataType.MonitoringSchedulerOfDevice"
            }
          }
        }
      }
    },
    "/api/v1/reports/devices": {
      "get": {
        "tags": [
          "Connections Management"
        ],
        "summary": "GET api/v1/reports/devices",
        "operationId": "DeviceReports_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "userid",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "originId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "targetId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "from_date",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "to_date",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "offset_id",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "sessionReportFeatures",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetAllDeviceReportsResponse"
            }
          }
        }
      }
    },
    "/api/v1/reports/devices/features/{featureName}/{featureId}/connection": {
      "get": {
        "tags": [
          "Connections Management"
        ],
        "operationId": "DeviceReports_GetOldestIncomingSessionReportByFeature",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "featureName",
            "in": "path",
            "description": "A {TeamViewer.Module.SessionReport.Common.Models.SessionReportFeature}s name",
            "required": true,
            "type": "string"
          },
          {
            "name": "featureId",
            "in": "path",
            "description": "An ID of that feature",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetDeviceReportResponse"
            }
          }
        }
      }
    },
    "/api/v1/reports/devices/features/{featureName}/{featureId}/connections": {
      "get": {
        "tags": [
          "Connections Management"
        ],
        "operationId": "DeviceReports_GetIncomingSessionReportsByFeature",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "featureName",
            "in": "path",
            "description": "A {TeamViewer.Module.SessionReport.Common.Models.SessionReportFeature}s name",
            "required": true,
            "type": "string"
          },
          {
            "name": "featureId",
            "in": "path",
            "description": "An ID of that feature",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetDeviceReportResponse"
              }
            }
          }
        }
      }
    },
    "/api/v1/reports/devices/features": {
      "get": {
        "tags": [
          "Connections Management"
        ],
        "operationId": "DeviceReports_GetSessionReportFeatures",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "sessionReportIds",
            "in": "query",
            "description": "ids of sessionreports, also commonly known as ParticipantSessionId",
            "required": true,
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "collectionFormat": "multi"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetSessionReportFeaturesResponse"
            }
          }
        }
      }
    },
    "/api/v1/reports/devices/getFeatures": {
      "post": {
        "tags": [
          "Connections Management"
        ],
        "operationId": "DeviceReports_PostGetSessionReportFeatures",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "sessionReportIds",
            "in": "body",
            "description": "ids of sessionreports, also commonly known as ParticipantSessionId",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "format": "uuid",
                "type": "string",
                "example": "00000000-0000-0000-0000-000000000000"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetSessionReportFeaturesResponse"
            }
          }
        }
      }
    },
    "/api/v1/reports/devices/{incomingSessionReportId}/ai-summary": {
      "get": {
        "tags": [
          "Connections Management"
        ],
        "summary": "Gets generated AI session report for an incoming session report",
        "operationId": "DeviceReports_GetAiSummary",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "incomingSessionReportId",
            "in": "path",
            "description": "the ID of the incoming session report (also known as device report) which is also known as participant session ID",
            "required": true,
            "type": "string",
            "format": "uuid"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetSessionReportAiSummaryResponse"
            }
          }
        }
      }
    },
    "/api/v1/reports/devices/{incomingSessionReportId}/chat-transcript": {
      "get": {
        "tags": [
          "Connections Management"
        ],
        "summary": "Gets generated chat transcript for an incoming session report",
        "operationId": "DeviceReports_GetChatTranscript",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "incomingSessionReportId",
            "in": "path",
            "description": "the ID of the incoming session report (also known as device report) which is also known as participant session ID",
            "required": true,
            "type": "string",
            "format": "uuid"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetSessionReportChatTranscriptResponse"
              }
            }
          }
        }
      }
    },
    "/api/v1/oem/sessions/{resellerid}": {
      "post": {
        "tags": [
          "Connections Management"
        ],
        "summary": "POST api/v1/oem/sessions/{resellerid}",
        "operationId": "Sessions_PostResellers",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "resellerid",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "properties",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.WebApi.Base.Models.SessionsPostParameters"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.SessionsResponse"
            }
          }
        }
      }
    },
    "/api/v1/sessions": {
      "get": {
        "tags": [
          "Connections Management"
        ],
        "summary": "GET api/v1/Sessions",
        "operationId": "Sessions_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "groupid",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "assigned_userid",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "state",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "full_list",
            "in": "query",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetAllSessionsResponse"
            }
          }
        }
      },
      "post": {
        "tags": [
          "Connections Management"
        ],
        "summary": "POST api/v1/Sessions",
        "operationId": "Sessions_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "properties",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.WebApi.Base.Models.SessionsPostParameters"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.SessionsResponse"
            }
          }
        }
      }
    },
    "/api/v1/sessions/{id}": {
      "get": {
        "tags": [
          "Connections Management"
        ],
        "summary": "GET api/v1/Sessions/{id}",
        "operationId": "Sessions_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetSessionsResponse"
            }
          }
        }
      },
      "put": {
        "tags": [
          "Connections Management"
        ],
        "summary": "PUT api/v1/Sessions/{id}",
        "operationId": "Sessions_Put",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "properties",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.WebApi.Base.Models.SessionsPutParameters"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      },
      "delete": {
        "tags": [
          "Connections Management"
        ],
        "summary": "DELETE api/v1/Sessions/{id}",
        "operationId": "Sessions_Delete",
        "consumes": [],
        "produces": [],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/api/v1/sessions/{id}/customModuleConfigIdForSessionCode": {
      "get": {
        "tags": [
          "Connections Management"
        ],
        "summary": "GET api/v1/Sessions/{id}/CustomModuleConfigIdForSessionCode",
        "operationId": "Sessions_CustomModuleConfigIdForSessionCode",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "string"
            }
          }
        },
        "deprecated": true
      }
    },
    "/api/v1/sessions/{id}/custom_modules_config_id": {
      "get": {
        "tags": [
          "Connections Management"
        ],
        "summary": "GET api/v1/Sessions/{id}/custom_modules_config_id",
        "operationId": "Sessions_custom_modules_config_id",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "client_id",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetSessionsCustomModulesConfigIdResponse"
            }
          }
        }
      }
    },
    "/api/v1/reports/connections": {
      "get": {
        "tags": [
          "Connections Management"
        ],
        "summary": "Returns the session reports, the number of remaining reports and\r\na link to request the further reports if the remaining number is &gt; 0.\r\nAll parameters are nullable, i.e. optional. We detect the type of the token\r\nimplicitly by getting AccountId and CompanyId out of the token.\r\nIn the backend, we filter the reports depending on which value is set.\r\nOnly one of these values must and may be set.\r\nReports are sorted by end date descending, i.e. newest sessions first.\r\nWith each call, at most 1000 session reports are returned.\r\n<para>GET api/v1/reports/connections</para>",
        "operationId": "Connections_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "username",
            "in": "query",
            "description": "LocalSystemUser that created the session",
            "required": false,
            "type": "string"
          },
          {
            "name": "userid",
            "in": "query",
            "description": "AccountId to which the session belongs",
            "required": false,
            "type": "string"
          },
          {
            "name": "groupid",
            "in": "query",
            "description": "GroupId that is used to filter session reports.\r\n            Only reports to devices within this group will be returned.\r\n            Special case: 0 means \"no group\", so only reports to unnamed devices are returned.",
            "required": false,
            "type": "string"
          },
          {
            "name": "devicename",
            "in": "query",
            "description": "ServerName. Used to filter reports. Only\r\n            reports to devices with this name will be returned.",
            "required": false,
            "type": "string"
          },
          {
            "name": "deviceid",
            "in": "query",
            "description": "TeamViewerId to filter sessions.\r\n            Is a string as it is in the DB scheme.",
            "required": false,
            "type": "string"
          },
          {
            "name": "from_date",
            "in": "query",
            "description": "Returned reports shall start at &gt;= this date",
            "required": false,
            "type": "string"
          },
          {
            "name": "to_date",
            "in": "query",
            "description": "Returned reports shall end before this date",
            "required": false,
            "type": "string"
          },
          {
            "name": "offset_id",
            "in": "query",
            "description": "Used to partition the results. If there are more than 1000 results for\r\n            a call, there is a link to the further results that contains the ParticipantSessionId\r\n            of the last session. With this, we can exactly determine which results\r\n            have already been received. All reports after the row with ParticipantSessionId\r\n            will be returned when the results are ordered by end date descending.\r\n            The row with the ID itself will be skipped.",
            "required": false,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "has_code",
            "in": "query",
            "description": "If set to true will filter out reports without a session\r\n            code. If false, it will filter out reports with a session code. Will not filter\r\n            out anything if the parameter is left out.",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "session_code",
            "in": "query",
            "description": "If specified only returns connection reports for specified session code",
            "required": false,
            "type": "string"
          },
          {
            "name": "support_session_type",
            "in": "query",
            "description": "If specified only returns connection reports of the given session type - valid values are \"RemoteConnection\" / \"1\" and \"RemoteSupportActive\" / \"2\" and \"RemoteSupportActiveSdk\" / \"3\"",
            "required": false,
            "type": "string"
          },
          {
            "name": "sessionReportFeatures",
            "in": "query",
            "description": "If specified, only reports which have the specified feature will be returned.",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetAllConnectionsResponse"
            }
          }
        }
      }
    },
    "/api/v1/reports/connections/{id}": {
      "get": {
        "tags": [
          "Connections Management"
        ],
        "summary": "GET api/v1/reports/connections/{id:Guid}",
        "operationId": "Connections_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uuid"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetConnectionResponse"
            }
          }
        }
      },
      "put": {
        "tags": [
          "Connections Management"
        ],
        "summary": "PUT api/v1/reports/connections/{id}",
        "operationId": "Connections_Put",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "parameters",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ConnectionsPutParameters"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      },
      "delete": {
        "tags": [
          "Connections Management"
        ],
        "summary": "DELETE api/v1/reports/connections/{id}",
        "operationId": "Connections_Delete",
        "consumes": [],
        "produces": [],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uuid"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/api/v1/reports/connections/features/{featureName}/{featureId}/connections": {
      "get": {
        "tags": [
          "Connections Management"
        ],
        "operationId": "Connections_GetReportsByFeature",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "featureName",
            "in": "path",
            "description": "A {TeamViewer.Module.SessionReport.Common.Models.SessionReportFeature}s name",
            "required": true,
            "type": "string"
          },
          {
            "name": "featureId",
            "in": "path",
            "description": "An ID of that feature",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetConnectionResponse"
              }
            }
          }
        }
      }
    },
    "/api/v1/reports/connections/features/{featureName}/{featureId}/connection": {
      "get": {
        "tags": [
          "Connections Management"
        ],
        "operationId": "Connections_GetOldestSessionReportByFeature",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "featureName",
            "in": "path",
            "description": "A {TeamViewer.Module.SessionReport.Common.Models.SessionReportFeature}s name",
            "required": true,
            "type": "string"
          },
          {
            "name": "featureId",
            "in": "path",
            "description": "An ID of that feature",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetConnectionResponse"
            }
          }
        }
      }
    },
    "/api/v1/reports/connections/features": {
      "get": {
        "tags": [
          "Connections Management"
        ],
        "operationId": "Connections_GetSessionReportFeatures",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "sessionReportIds",
            "in": "query",
            "description": "ids of sessionreports, also commonly known as ParticipantSessionId",
            "required": true,
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "collectionFormat": "multi"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetSessionReportFeaturesResponse"
            }
          }
        }
      }
    },
    "/api/v1/reports/connections/getFeatures": {
      "post": {
        "tags": [
          "Connections Management"
        ],
        "operationId": "Connections_PostGetSessionReportFeatures",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "sessionReportIds",
            "in": "body",
            "description": "ids of sessionreports, also commonly known as ParticipantSessionId",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "format": "uuid",
                "type": "string",
                "example": "00000000-0000-0000-0000-000000000000"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetSessionReportFeaturesResponse"
            }
          }
        }
      }
    },
    "/api/v1/reports/connections/{outgoingSessionReportId}/ai-summary": {
      "get": {
        "tags": [
          "Connections Management"
        ],
        "summary": "Gets generated AI session report for an outgoing session report",
        "operationId": "Connections_GetAiSummary",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "outgoingSessionReportId",
            "in": "path",
            "description": "the ID of the outgoing session report (also known as connection report) which is also known as participant session ID",
            "required": true,
            "type": "string",
            "format": "uuid"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetSessionReportAiSummaryResponse"
            }
          }
        }
      }
    },
    "/api/v1/reports/connections/{outgoingSessionReportId}/chat-transcript": {
      "get": {
        "tags": [
          "Connections Management"
        ],
        "summary": "Gets generated chat transcript for an outgoing session report",
        "operationId": "Connections_GetChatTranscript",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "outgoingSessionReportId",
            "in": "path",
            "description": "the ID of the outgoing session report (also known as connection report) which is also known as participant session ID",
            "required": true,
            "type": "string",
            "format": "uuid"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetSessionReportChatTranscriptResponse"
              }
            }
          }
        }
      }
    },
    "/api/v1/reports/connections/{outgoingSessionReportId}/voice-transcript": {
      "get": {
        "tags": [
          "Connections Management"
        ],
        "summary": "Gets generated voice transcript for an outgoing session report",
        "operationId": "Connections_GetVoiceTranscript",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "outgoingSessionReportId",
            "in": "path",
            "description": "the ID of the outgoing session report (also known as connection report) which is also known as participant session ID",
            "required": true,
            "type": "string",
            "format": "uuid"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetSessionReportVoiceTranscriptLineResponse"
              }
            }
          }
        }
      }
    },
    "/api/v1/reports/connections/{outgoingSessionReportId}/augmented-session-summary": {
      "get": {
        "tags": [
          "Connections Management"
        ],
        "summary": "Gets generated session report for an outgoing augmented session report",
        "operationId": "Connections_GetCallSummary",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "outgoingSessionReportId",
            "in": "path",
            "description": "the ID of the outgoing session report (also known as connection report) which is also known as participant session ID",
            "required": true,
            "type": "string",
            "format": "uuid"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetSessionReportCallSummaryResponse"
            }
          }
        }
      }
    },
    "/api/v1/reports/connections/{outgoingSessionReportId}/screenshots": {
      "get": {
        "tags": [
          "Connections Management"
        ],
        "summary": "Gets the list of screenshots for an outgoing session",
        "operationId": "Connections_GetScreenshots",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "outgoingSessionReportId",
            "in": "path",
            "description": "the ID of the outgoing session report (also known as connection report) which is also known as participant session ID",
            "required": true,
            "type": "string",
            "format": "uuid"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetSessionReportScreenshotResponse"
              }
            }
          }
        }
      }
    },
    "/api/v1/reports/connections/{outgoingSessionReportId}/{screenshotId}/screenshot": {
      "get": {
        "tags": [
          "Connections Management"
        ],
        "summary": "Gets a screenshot for an outgoing session per ID",
        "operationId": "Connections_GetScreenshot",
        "consumes": [],
        "produces": [
          "application/octet-stream"
        ],
        "parameters": [
          {
            "name": "outgoingSessionReportId",
            "in": "path",
            "description": "the ID of the outgoing session report (also known as connection report) which is also known as participant session ID",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "screenshotId",
            "in": "path",
            "description": "the id of the screenshot",
            "required": true,
            "type": "string",
            "format": "uuid"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "format": "byte",
              "type": "string"
            }
          }
        }
      }
    },
    "/api/v1/managed/groups": {
      "get": {
        "tags": [
          "Device Groups"
        ],
        "summary": "Lists managed groups",
        "description": "Retrieves a list of managed groups that are associated to the\r\ncurrent account.",
        "operationId": "ManagedGroups_List",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "paginationToken",
            "in": "query",
            "description": "Used for pagination. To fetch the next batch of result items,\r\nprovide the value received as \"nextPaginationToken\" from the\r\nprevious call.\r\nWill fetch the first page if not given.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ListResponse`1[[TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.ManagedGroupModel, TeamViewer.Role.Web.Api, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]"
            }
          }
        }
      },
      "post": {
        "tags": [
          "Device Groups"
        ],
        "summary": "Creates a managed group",
        "description": "This will create a new managed group and automatically add the\r\naccount that is associated with the API token as manager with\r\n\"ManagerAdministration\" and \"GroupAdministration\" permissions to\r\nthe group.",
        "operationId": "ManagedGroups_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "parameters",
            "in": "body",
            "description": "The name of the new managed group",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.ManagedGroupsPostParameters"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.ManagedGroupModel"
            }
          }
        }
      }
    },
    "/api/v1/managed/groups/{id}": {
      "get": {
        "tags": [
          "Device Groups"
        ],
        "summary": "Gets details for a managed group",
        "operationId": "ManagedGroups_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The managed group ID.",
            "required": true,
            "type": "string",
            "format": "uuid"
          }
        ],
        "responses": {
          "403": {
            "description": "Insufficient permissions to get managed group details."
          },
          "404": {
            "description": "The managed group with the given identifier cannot be found."
          },
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.ManagedGroupModel"
            }
          }
        }
      },
      "put": {
        "tags": [
          "Device Groups"
        ],
        "summary": "Changes properties of a managed group",
        "description": "Modify the attributes of a managed group using its designated \"id.\"\r\nYou can provide the group's \"name\" (alias) to enact changes or/and provide the policy parameter to update or add a policy.\r\nThe policy parameter is consisted from the policy id and the policy type (TeamViewerClient policy: 1, Monitoring policy: 4, PatchManagement policy: 5)\r\nof the policy to be updated or added to the group.\r\n            \r\nThe current account needs \"GroupAdministration\" and \"PolicyAdministration\" manager permissions on the group.",
        "operationId": "ManagedGroups_Put",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The managed group ID.",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "parameters",
            "in": "body",
            "description": "Properties to change.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.ManagedGroupsPutParameters"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "The request does not include any changes to the managed group."
          },
          "403": {
            "description": "Insufficient permissions to modify the specified managed group."
          },
          "404": {
            "description": "The managed group with the given identifier cannot be found."
          },
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.ManagedGroupModel"
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Device Groups"
        ],
        "summary": "Removes a managed group",
        "description": "Marks the managed group with the given \"id\" as deleted.\r\nIt will disappear from the list of managed groups of all associated\r\nmanagers. Devices in the group will see the deletion marker and\r\nremove themselves from the group as soon as they get online.\r\n            \r\nThe current account needs \"GroupAdministration\" manager\r\npermissions on the group.",
        "operationId": "ManagedGroups_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The managed group ID.",
            "required": true,
            "type": "string",
            "format": "uuid"
          }
        ],
        "responses": {
          "204": {
            "description": "NoContent"
          },
          "403": {
            "description": "Insufficient permissions to remove the specified managed group."
          },
          "404": {
            "description": "The managed group with the given identifier cannot be found."
          }
        }
      }
    },
    "/api/v1/managed/groups/{id}/managers": {
      "get": {
        "tags": [
          "Device Groups"
        ],
        "summary": "Lists managers of a managed group",
        "description": "Lists all managers of the managed group with the given \"id\".",
        "operationId": "ManagedGroups_GetManagers",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The managed group ID.",
            "required": true,
            "type": "string",
            "format": "uuid"
          }
        ],
        "responses": {
          "403": {
            "description": "Insufficient permissions to list managers of the specified managed group."
          },
          "404": {
            "description": "The managed group with the given identifier cannot be found."
          },
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ListResponse`1[[TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.ManagerModel, TeamViewer.Role.Web.Api, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]"
            }
          }
        }
      },
      "put": {
        "tags": [
          "Device Groups"
        ],
        "summary": "Changes multiple managers of a managed group",
        "description": "Changes permissions of multiple managers (specified in the request\r\nbody) on the managed group with the given \"id\".\r\n            \r\nIt is not possible to take away the \"ManagerAdministration\"\r\npermission from all managers of a managed group.\r\nAt least one manager must remain with that permission.\r\n            \r\nThe current account needs \"ManagerAdministration\" manager\r\npermissions on the group.",
        "operationId": "ManagedGroups_PutManagers",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The managed group ID.",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "parameters",
            "in": "body",
            "description": "List of managers and their updated permissions.",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.ManagersPutParameters"
              }
            }
          }
        ],
        "responses": {
          "400": {
            "description": "The request either exceeds the maximum of number of managers (100),\r\ndoes not include any changes\r\nor attempts to demote the last manager with `ManagerAdministration` permissions."
          },
          "403": {
            "description": "Insufficient permissions to change managers on the given managed group."
          },
          "404": {
            "description": "The managed group with the given identifier cannot be found."
          },
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.ManagerModel"
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Device Groups"
        ],
        "summary": "Adds managers to a managed group",
        "description": "Adds the given managers with the respective permissions to the\r\nmanaged group.\r\nThe current account needs \"ManagerAdministration\" manager\r\npermissions on the group.",
        "operationId": "ManagedGroups_PostManagers",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The managed group ID.",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "parameters",
            "in": "body",
            "description": "List of managers and permissions to be\r\nadded to the managed group.",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.ManagersPostParameters"
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.ManagerModel"
              }
            }
          },
          "403": {
            "description": "Insufficient permissions to add managers to the specified managed group."
          },
          "404": {
            "description": "The managed group with the given identifier cannot be found."
          }
        }
      },
      "delete": {
        "tags": [
          "Device Groups"
        ],
        "summary": "Removes multiple managers from a managed group",
        "description": "Removes multiple managers from the managed group with the given ID.\r\n            \r\nIt is not possible to remove the last manager with the\r\n\"ManagerAdministration\" of a managed group.\r\nAt least one manager must remain with that permission.\r\n            \r\nThe current account needs \"ManagerAdministration\" manager\r\npermissions on the group.",
        "operationId": "ManagedGroups_DeleteManagers",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The managed group ID.",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "managerIds",
            "in": "body",
            "description": "List of manager Ids to remove.",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "format": "uuid",
                "type": "string",
                "example": "00000000-0000-0000-0000-000000000000"
              }
            }
          }
        ],
        "responses": {
          "204": {
            "description": "NoContent"
          },
          "400": {
            "description": "The request either exceeds the maximum of number of managers (100),\r\ndoes not include any manager of the device\r\nor attempts to remove the last manager with `ManagerAdministration` permissions."
          },
          "403": {
            "description": "Insufficient permissions to remove managers from the given device."
          },
          "404": {
            "description": "The managed group with the given identifier cannot be found."
          }
        }
      }
    },
    "/api/v1/managed/groups/{id}/devices": {
      "get": {
        "tags": [
          "Device Groups"
        ],
        "summary": "Lists devices of a managed group",
        "description": "Lists all devices that are in the managed group with the given \"id\".",
        "operationId": "ManagedGroups_GetDevices",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The managed group ID.",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "paginationToken",
            "in": "query",
            "description": "Used for pagination. To fetch the next batch of result items,\r\nprovide the value received as \"nextPaginationToken\" from the\r\nprevious call.\r\nWill fetch the first page if not given.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "403": {
            "description": "Insufficient permissions to list devices of the specified managed group."
          },
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ListResponse`1[[TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.ManagedDeviceModel, TeamViewer.Role.Web.Api, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]"
            }
          }
        }
      },
      "post": {
        "tags": [
          "Device Groups"
        ],
        "summary": "Adds a device to a managed group",
        "description": "Adds a directly managed device to a managed group. The device\r\nremains in a \"pending join\" status until it gets online and actually\r\njoins the managed group.\r\nThe current account needs \"GroupAdministration\" manager\r\npermissions on the group and \"DeviceAdministration\" manager\r\npermissions on the device.",
        "operationId": "ManagedGroups_PostDevices",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The managed group ID.",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "parameters",
            "in": "body",
            "description": "The management ID of the device.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.ManagedGroupsDevicesPostParameters"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.ManagedGroupsDevicesPostParameters"
            }
          },
          "403": {
            "description": "Insufficient permissions to add devices to the specified managed group."
          },
          "404": {
            "description": "The managed group with the given identifier cannot be found."
          }
        }
      }
    },
    "/api/v1/managed/groups/{id}/pending-devices": {
      "get": {
        "tags": [
          "Device Groups"
        ],
        "summary": "Lists pending-devices of a managed group",
        "description": "Lists all devices of a managed group that are pending to join or\r\nleave the group. This happens when the respective device is offline\r\nand has not yet applied an outstanding change, for example to join\r\nthe group.",
        "operationId": "ManagedGroups_GetPendingDevices",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The managed group ID.",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "paginationToken",
            "in": "query",
            "description": "Used for pagination. To fetch the next batch of result items,\r\nprovide the value received as \"nextPaginationToken\" from the\r\nprevious call.\r\nWill fetch the first page if not given.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "403": {
            "description": "Insufficient permissions to list pending devices of the specified managed group."
          },
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ListResponse`1[[TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.PendingManagedDeviceModel, TeamViewer.Role.Web.Api, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]"
            }
          }
        }
      }
    },
    "/api/v1/managed/groups/{id}/policy/remove": {
      "put": {
        "tags": [
          "Device Groups"
        ],
        "summary": "Remove asssigned Policy of a Managed Group",
        "description": "Specify the \"policy_type\" (TeamViewerClient policy: 1, Monitoring policy: 4, PatchManagement policy: 5)\r\nof the policy to be removed from the group.\r\n            \r\nThe current account needs \"PolicyAdministration\" manager permissions on the group.",
        "operationId": "ManagedGroups_Put",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the managed group.",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "parameters",
            "in": "body",
            "description": "The policy type to remove",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.ManagedDevicesRemovePolicyParameters"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "NoContent"
          },
          "400": {
            "description": "Invalid request"
          },
          "403": {
            "description": "Insufficient permissions to change properties of the given group."
          },
          "404": {
            "description": "The group with the given identifier cannot be found."
          }
        }
      }
    },
    "/api/v1/managed/groups/{id}/managers/{managerId}": {
      "put": {
        "tags": [
          "Device Groups"
        ],
        "summary": "Changes a single manager on a managed group",
        "description": "Changes permissions of the manager with the given \"managerId\" on the\r\nmanaged group with the given \"id\".\r\n            \r\nIt is not possible to take away the \"ManagerAdministration\"\r\npermission from all managers of a managed group.\r\nAt least one manager must remain with that permission.\r\n            \r\nThe current account needs \"ManagerAdministration\" manager\r\npermissions on the group.",
        "operationId": "ManagedGroups_PutManager",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The managed group ID.",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "managerId",
            "in": "path",
            "description": "The ID of the manager to change.",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "parameters",
            "in": "body",
            "description": "Updated set of manager permissions.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.ManagersPutParameters"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "The request attempts to demote the last manager with `ManagerAdministration` permissions."
          },
          "403": {
            "description": "Insufficient permissions to change managers of the given managed group."
          },
          "404": {
            "description": "The group or manager with the given identifiers cannot be found."
          },
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.ManagerModel"
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Device Groups"
        ],
        "summary": "Removes a manager from a managed group",
        "description": "It is not possible to remove the last manager with the\r\n\"ManagerAdministration\" of a managed group.\r\nAt least one manager must remain with that permission.\r\n            \r\nThe current account needs \"ManagerAdministration\" manager\r\npermissions on the group.",
        "operationId": "ManagedGroups_DeleteManager",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The managed group ID.",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "managerId",
            "in": "path",
            "description": "ID of the manager to remove.",
            "required": true,
            "type": "string",
            "format": "uuid"
          }
        ],
        "responses": {
          "204": {
            "description": "NoContent"
          },
          "400": {
            "description": "The request attempts to remove the last manager with `ManagerAdministration` permissions."
          },
          "403": {
            "description": "Insufficient permissions to remove managers from the given managed group."
          },
          "404": {
            "description": "The group or manager with the given identifiers cannot be found."
          }
        }
      }
    },
    "/api/v1/managed/groups/{id}/devices/{managementId}": {
      "delete": {
        "tags": [
          "Device Groups"
        ],
        "summary": "Removes a device from a managed group",
        "description": "Removes a directly managed device from a managed group. The device\r\nremains in a \"pending leave\" status until it gets online and\r\nactually leaves the managed group.\r\nThe current account needs \"DeviceAdministration\" manager\r\npermissions on the device.",
        "operationId": "ManagedGroups_DeleteDevice",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The managed group ID.",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "managementId",
            "in": "path",
            "description": "The management ID of the device.",
            "required": true,
            "type": "string",
            "format": "uuid"
          }
        ],
        "responses": {
          "204": {
            "description": "NoContent"
          },
          "403": {
            "description": "Insufficient permissions to remove devices from the given managed group."
          }
        }
      }
    },
    "/api/v1/managed/groups/company": {
      "get": {
        "tags": [
          "Device Groups"
        ],
        "summary": "Lists company-managed groups",
        "description": "Retrieves a list of company-managed groups of the company that is associated\r\nwith the currently logged-in session (API token).",
        "operationId": "ManagedGroups_ListCompanyGroups",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "paginationToken",
            "in": "query",
            "description": "Used for pagination. To fetch the next batch of result items,\r\nprovide the value received as \"nextPaginationToken\" from the\r\nprevious call.\r\nWill fetch the first page if not given.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "403": {
            "description": "Insufficient permissions to list company-managed groups."
          },
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ListResponse`1[[TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.ManagedGroupModel, TeamViewer.Role.Web.Api, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]"
            }
          }
        }
      }
    },
    "/api/v1/ssoDomain/{id}": {
      "get": {
        "tags": [
          "Enterprise"
        ],
        "summary": "GET api/v1/ssoDomain/{id}",
        "operationId": "SsoDomain_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uuid"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.SsoDomainInfoResponse"
            }
          }
        }
      }
    },
    "/api/v1/ssoDomain": {
      "get": {
        "tags": [
          "Enterprise"
        ],
        "summary": "GET api/v1/SsoDomain",
        "operationId": "SsoDomain_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.SsoDomainListResponse"
            }
          }
        }
      }
    },
    "/api/v1/ConditionalAccess/Options/Features": {
      "get": {
        "tags": [
          "Enterprise"
        ],
        "summary": "Retrieves a list of conditional access feature options, with optional support for pagination via a continuation token.",
        "operationId": "ConditionalAccessOptions_GetFeaturesOptions",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "continuationToken",
            "in": "query",
            "description": "A base64-encoded string representing the continuation token for paginated results.\r\n            Pass null for the first page of results.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ConditionalAccessOptions.ConditionalAccessFeatureListOptionsResponse"
            }
          }
        }
      },
      "post": {
        "tags": [
          "Enterprise"
        ],
        "summary": "Creates a new conditional access feature option based on the provided parameters.",
        "operationId": "ConditionalAccessOptions_CreateFeaturesOption",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "parameters",
            "in": "body",
            "description": "ConditionalAccessFeaturesOptionModel containing the details of the feature option to create,\r\nincluding its name and associated data.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ConditionalAccessOptions.ConditionalAccessFeaturesOptionModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ConditionalAccessOptions.ConditionalAccessFeaturesOptionModel"
            }
          }
        }
      }
    },
    "/api/v1/ConditionalAccess/Options/Time": {
      "get": {
        "tags": [
          "Enterprise"
        ],
        "summary": "Retrieves a list of conditional access time options, with optional support for pagination via a continuation token.",
        "operationId": "ConditionalAccessOptions_GetTimeOptions",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "continuationToken",
            "in": "query",
            "description": "A base64-encoded string representing the continuation token for paginated results.\r\n            Pass null for the first page of results.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ConditionalAccessOptions.ConditionalAccessTimeListOptionsResponse"
            }
          }
        }
      },
      "post": {
        "tags": [
          "Enterprise"
        ],
        "summary": "Creates a new conditional access time option based on the provided parameters.",
        "operationId": "ConditionalAccessOptions_CreateTimeOption",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "parameters",
            "in": "body",
            "description": "ConditionalAccessTimeOptionModel containing the details of the approval option to create,\r\nincluding its name and associated data.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ConditionalAccessOptions.ConditionalAccessTimeOptionModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ConditionalAccessOptions.ConditionalAccessTimeOptionModel"
            }
          }
        }
      }
    },
    "/api/v1/ConditionalAccess/Options/Approval": {
      "get": {
        "tags": [
          "Enterprise"
        ],
        "summary": "Retrieves a list of conditional access approval options, with optional support for pagination via a continuation token.",
        "operationId": "ConditionalAccessOptions_GetApprovalOptions",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "continuationToken",
            "in": "query",
            "description": "A base64-encoded string representing the continuation token for paginated results.\r\n            Pass null for the first page of results.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ConditionalAccessOptions.ConditionalAccessApprovalListOptionsResponse"
            }
          }
        }
      },
      "post": {
        "tags": [
          "Enterprise"
        ],
        "summary": "Creates a new conditional access approval option based on the provided parameters.",
        "operationId": "ConditionalAccessOptions_CreateApprovalOption",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "parameters",
            "in": "body",
            "description": "ConditionalAccessApprovalOptionModel containing the details of the approval option to create, \r\nincluding its name and associated data.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ConditionalAccessOptions.ConditionalAccessApprovalOptionModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ConditionalAccessOptions.ConditionalAccessApprovalOptionModel"
            }
          }
        }
      }
    },
    "/api/v1/ConditionalAccess/Options/Features/{optionId}": {
      "put": {
        "tags": [
          "Enterprise"
        ],
        "summary": "Updates an existing conditional access feature option identified by the given option Id.",
        "operationId": "ConditionalAccessOptions_UpdateFeaturesOption",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "optionId",
            "in": "path",
            "description": "A Guid representing the unique identifier of the feature option to update.",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "parameters",
            "in": "body",
            "description": "ConditionalAccessFeaturesOptionModel containing the updated details for the feature option,\r\nincluding its name and associated data.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ConditionalAccessOptions.ConditionalAccessFeaturesOptionModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ConditionalAccessOptions.ConditionalAccessFeaturesOptionModel"
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Enterprise"
        ],
        "summary": "Deletes an existing features option identified by the given option Id.",
        "operationId": "ConditionalAccessOptions_DeleteFeaturesOption",
        "consumes": [],
        "produces": [],
        "parameters": [
          {
            "name": "optionId",
            "in": "path",
            "description": "A Guid representing the unique identifier of the features option to delete.",
            "required": true,
            "type": "string",
            "format": "uuid"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/api/v1/ConditionalAccess/Options/Approval/{optionId}": {
      "put": {
        "tags": [
          "Enterprise"
        ],
        "summary": "Updates an existing conditional access approval option identified by the given option Id.",
        "operationId": "ConditionalAccessOptions_UpdateApprovalOption",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "optionId",
            "in": "path",
            "description": "A Guid representing the unique identifier of the approval option to update.",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "parameters",
            "in": "body",
            "description": "ConditionalAccessApprovalOptionModel containing the updated details for the approval option,\r\nincluding its name and associated data.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ConditionalAccessOptions.ConditionalAccessApprovalOptionModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ConditionalAccessOptions.ConditionalAccessApprovalOptionModel"
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Enterprise"
        ],
        "summary": "Deletes an existing approval option identified by the given option Id.",
        "operationId": "ConditionalAccessOptions_DeleteApprovalOption",
        "consumes": [],
        "produces": [],
        "parameters": [
          {
            "name": "optionId",
            "in": "path",
            "description": "A Guid representing the unique identifier of the approval option to delete.",
            "required": true,
            "type": "string",
            "format": "uuid"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/api/v1/ConditionalAccess/Options/Time/{optionId}": {
      "put": {
        "tags": [
          "Enterprise"
        ],
        "summary": "Updates an existing conditional access time option identified by the given option Id.",
        "operationId": "ConditionalAccessOptions_UpdateTimeOption",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "optionId",
            "in": "path",
            "description": "A Guid representing the unique identifier of the time option to update.",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "parameters",
            "in": "body",
            "description": "ConditionalAccessTimeOptionModel containing the updated details for the time option,\r\nincluding its name and associated data.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ConditionalAccessOptions.ConditionalAccessTimeOptionModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ConditionalAccessOptions.ConditionalAccessTimeOptionModel"
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Enterprise"
        ],
        "summary": "Deletes an existing time option identified by the given option Id.",
        "operationId": "ConditionalAccessOptions_DeleteTimeOption",
        "consumes": [],
        "produces": [],
        "parameters": [
          {
            "name": "optionId",
            "in": "path",
            "description": "A Guid  representing the unique identifier of the time option to delete.",
            "required": true,
            "type": "string",
            "format": "uuid"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/api/v1/ssoDomain/{id}/inclusion": {
      "get": {
        "tags": [
          "Enterprise"
        ],
        "summary": "GET api/v1/ssodomain/{id}/inclusion",
        "operationId": "SsoDomainInclusionList_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "ct",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.SsoAccessListEmailsResponse"
            }
          }
        }
      },
      "post": {
        "tags": [
          "Enterprise"
        ],
        "summary": "POST api/v1/ssodomain/{id}/inclusion",
        "operationId": "SsoDomainInclusionList_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "parameters",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.SsoAccessListEmailsParameters"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uuid"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.SsoAccessListEmailsResponse"
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Enterprise"
        ],
        "summary": "DELETE api/v1/ssodomain/{id}/inclusion",
        "operationId": "SsoDomainInclusionList_Delete",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [],
        "parameters": [
          {
            "name": "parameters",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.SsoAccessListEmailsParameters"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uuid"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/api/v1/ConditionalAccess/DirectoryGroups": {
      "get": {
        "tags": [
          "Enterprise"
        ],
        "summary": "GET api/v1/ConditionalAccess/DirectoryGroups",
        "operationId": "ConditionalAccess_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "continuation_token",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ConditionalAccessListDirectoryGroupsResponse"
            }
          }
        }
      },
      "post": {
        "tags": [
          "Enterprise"
        ],
        "summary": "POST api/v1/ConditionalAccess/DirectoryGroups",
        "operationId": "ConditionalAccess_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "parameters",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ConditionalAccessGroupsPostParameters"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Module.ConditionalAccess.DataTypes.CreateConditionalAccessGroupResponse"
            }
          }
        }
      }
    },
    "/api/v1/ConditionalAccess/DirectoryGroups/{id}/{member_type}s": {
      "get": {
        "tags": [
          "Enterprise"
        ],
        "summary": "Enum values are in singular form but api call is better in plural form because response contains a list of members.\r\nMemberType -&gt; user, API -&gt; users: Get users of the group.\r\nCan be called with group id or group name:\r\n<list type=\"buller\"><item>GET api/v1/ConditionalAccess/DirectoryGroups/{id:guid}/users</item><item>GET api/v1/ConditionalAccess/DirectoryGroups/{id:guid}/devices</item><item>GET api/v1/ConditionalAccess/DirectoryGroups/{name}/users</item><item>GET api/v1/ConditionalAccess/DirectoryGroups/{name}/devices</item></list>",
        "operationId": "ConditionalAccess_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "member_type",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "enum": [
              0,
              1
            ]
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "continuation_token",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ConditionalAccessGetDirectoryGroupResponse"
            }
          }
        }
      }
    },
    "/api/v1/ConditionalAccess/DirectoryGroups/{name}/{member_type}s": {
      "get": {
        "tags": [
          "Enterprise"
        ],
        "summary": "Enum values are in singular form but api call is better in plural form because response contains a list of members.\r\nMemberType -&gt; user, API -&gt; users: Get users of the group.\r\nCan be called with group id or group name:\r\n<list type=\"buller\"><item>GET api/v1/ConditionalAccess/DirectoryGroups/{id:guid}/users</item><item>GET api/v1/ConditionalAccess/DirectoryGroups/{id:guid}/devices</item><item>GET api/v1/ConditionalAccess/DirectoryGroups/{name}/users</item><item>GET api/v1/ConditionalAccess/DirectoryGroups/{name}/devices</item></list>",
        "operationId": "ConditionalAccess_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "member_type",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32",
            "enum": [
              0,
              1
            ]
          },
          {
            "name": "id",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "name",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "continuation_token",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ConditionalAccessGetDirectoryGroupResponse"
            }
          }
        }
      }
    },
    "/api/v1/ConditionalAccess/DirectoryGroups/{id}": {
      "put": {
        "tags": [
          "Enterprise"
        ],
        "summary": "PUT api/v1/ConditionalAccess/DirectoryGroups/{id:Guid}",
        "operationId": "ConditionalAccess_Put",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "parameters",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ConditionalAccessGroupsPutParameters"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      },
      "post": {
        "tags": [
          "Enterprise"
        ],
        "summary": "POST api/v1/ConditionalAccess/DirectoryGroups/{id:guid}",
        "operationId": "ConditionalAccess_PostMembers",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "membersParameter",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ConditionalAccessGroupMembersPostParameters"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      },
      "delete": {
        "tags": [
          "Enterprise"
        ],
        "summary": "DELETE api/v1/ConditionalAccess/DirectoryGroups/{id:Guid}}",
        "operationId": "ConditionalAccess_Delete",
        "consumes": [],
        "produces": [],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uuid"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/api/v1/ConditionalAccess/DirectoryGroups/{id}/members": {
      "delete": {
        "tags": [
          "Enterprise"
        ],
        "summary": "DELETE api/v1/ConditionalAccess/DirectoryGroups/{id:guid}/members",
        "operationId": "ConditionalAccess_DeleteMembers",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "membersParameter",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ConditionalAccessGroupMembersDeleteParameters"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/api/v1/ConditionalAccess/Rules": {
      "get": {
        "tags": [
          "Enterprise"
        ],
        "summary": "Retrieves a list of conditional access rules, with optional support for pagination using a continuation token.",
        "operationId": "ConditionalAccessRules_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "continuation_token",
            "in": "query",
            "description": "A base64-encoded string representing the continuation token for paginated results.\r\nPass null to fetch the first page of results.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ConditionalAccessRules.ConditionalAccessListRulesResponse"
            }
          }
        }
      },
      "post": {
        "tags": [
          "Enterprise"
        ],
        "summary": "Creates a new conditional access rule using the provided parameters.",
        "operationId": "ConditionalAccessRules_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "parameters",
            "in": "body",
            "description": "ConditionalAccessRuleParameters containing the source data, the target data and additional details of the rule to create.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ConditionalAccessRules.ConditionalAccessRuleParameters"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ConditionalAccessRules.ConditionalAccessRuleResponse"
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Enterprise"
        ],
        "summary": "Deletes a conditional access rule identified by the provided parameters.",
        "operationId": "ConditionalAccessRules_Delete",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [],
        "parameters": [
          {
            "name": "parameters",
            "in": "body",
            "description": "ConditionalAccessDeleteRuleParameters containing the Id of the rule to delete and the reason for modification.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ConditionalAccessRules.ConditionalAccessDeleteRuleParameters"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/api/v1/ConditionalAccess/Rules/{id}": {
      "put": {
        "tags": [
          "Enterprise"
        ],
        "summary": "Updates the expiration details of a conditional access rule identified by the given Id.",
        "operationId": "ConditionalAccessRules_Put",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "A {System.String} representing the unique identifier of the rule to update.",
            "required": true,
            "type": "string"
          },
          {
            "name": "parameters",
            "in": "body",
            "description": "ConditionalAccessRuleParameters containing the source data, the target data and additional details of the rule to create.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ConditionalAccessRules.ConditionalAccessRuleParameters"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/api/v1/ssoDomain/{id}/exclusion": {
      "get": {
        "tags": [
          "Enterprise"
        ],
        "summary": "GET api/v1/ssodomain/{id}/exclusion",
        "operationId": "SsoDomainExclusionList_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "ct",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.SsoAccessListEmailsResponse"
            }
          }
        }
      },
      "post": {
        "tags": [
          "Enterprise"
        ],
        "summary": "POST api/v1/ssodomain/{id}/exclusion",
        "operationId": "SsoDomainExclusionList_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "parameters",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.SsoAccessListEmailsParameters"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uuid"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.SsoAccessListEmailsResponse"
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Enterprise"
        ],
        "summary": "DELETE api/v1/ssodomain/{id}/exclusion",
        "operationId": "SsoDomainExclusionList_Delete",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [],
        "parameters": [
          {
            "name": "parameters",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.SsoAccessListEmailsParameters"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uuid"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/api/v1/EventLogging": {
      "post": {
        "tags": [
          "EventLogging"
        ],
        "summary": "Returns the event logs (audit logs) by filter criteria",
        "description": " This request will return all applicable Auditability logs. Every Parameter is a Filter but only StartDate and EndDate are required.\r\n If your request returns more than 50 results you have to use the ContinuationToken in the next request to retrieve the next 50 results.\r\n If the ContinuationToken in your response is \"null\" you got all applicable results for your request.\r\n\r\n Sample request:<br />\r\n\r\n\t {\r\n\t \t\"StartDate\":\"2019-01-01T14:00:00Z\",\r\n\t \t\"EndDate\":\"2020-01-31T14:00:00Z\",\r\n\t \t\"EventNames\": [\r\n\t \t\t\"UserCreated\",\r\n\t \t\t\"UserDeleted\"\r\n\t \t],\r\n\t \t\"EventTypes\": [\r\n\t \t\t\"UserProfile\"\r\n\t \t],\r\n\t \t\"AccountEmails\": [\r\n\t \t\t\"UserName@Domain.com\"\r\n\t \t],\r\n\t \t\"AffectedItem\": \"UserName\",\r\n\t \t\"RCSessionGuid\": \"00000000-0000-0000-0000-000000000000\",\r\n\t \t\"ContinuationToken\": \"someContinuationToken\"\r\n\t }",
        "operationId": "EventLogging_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "description": "request parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.AuditLogParameters"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.DeprecatedBase.AuditLog.AuditLogRequestApiResult"
            }
          }
        }
      }
    },
    "/api/v1/groups/{id}": {
      "get": {
        "tags": [
          "Group management"
        ],
        "summary": "Returns group by groupId",
        "operationId": "Groups_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "GroupId of group",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetGroupResponse"
            }
          }
        }
      },
      "put": {
        "tags": [
          "Group management"
        ],
        "summary": "Updates group",
        "operationId": "Groups_Put",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "GroupId of group",
            "required": true,
            "type": "string"
          },
          {
            "name": "properties",
            "in": "body",
            "description": "Group update model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GroupsPutParameters"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/System.Void"
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Group management"
        ],
        "summary": "Deletes a group",
        "operationId": "Groups_Delete",
        "consumes": [],
        "produces": [],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "GroupId of group",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/System.Void"
            }
          }
        }
      }
    },
    "/api/v1/groups": {
      "get": {
        "tags": [
          "Group management"
        ],
        "summary": "Returns groups by filter criteria",
        "operationId": "Groups_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "description": "Name of the group",
            "required": false,
            "type": "string"
          },
          {
            "name": "shared",
            "in": "query",
            "description": "Is group shared or not",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "shouldMatchFullName",
            "in": "query",
            "description": "Is name should match completely or not",
            "required": false,
            "type": "boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetAllGroupsResponse"
            }
          }
        }
      },
      "post": {
        "tags": [
          "Group management"
        ],
        "summary": "Creates a group",
        "operationId": "Groups_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "properties",
            "in": "body",
            "description": "Group parameter model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GroupsPostParameters"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetGroupResponse"
            }
          }
        }
      }
    },
    "/api/v1/groups/{id}/share_group": {
      "post": {
        "tags": [
          "Group management"
        ],
        "summary": "Shares group to users",
        "operationId": "Groups_Share_Group",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "GroupId of group",
            "required": true,
            "type": "string"
          },
          {
            "name": "users",
            "in": "body",
            "description": "Group share to users parameter model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GroupsShareParameters"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/System.Void"
            }
          }
        }
      }
    },
    "/api/v1/groups/{id}/unshare_group": {
      "post": {
        "tags": [
          "Group management"
        ],
        "summary": "Removal of group sharing from users",
        "operationId": "Groups_Unshare_Group",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "GroupId of group",
            "required": true,
            "type": "string"
          },
          {
            "name": "users",
            "in": "body",
            "description": "Group share removal parameter model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GroupsUnshareParameters"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/System.Void"
            }
          }
        }
      }
    },
    "/api/v1/groups/{id}/iot/software-configurations/{productId}": {
      "put": {
        "tags": [
          "Group management"
        ],
        "summary": "Update software configuration on a group.",
        "operationId": "SoftwareConfigurationPolicy_UpdateGroup",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "buddyId for device",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "productId",
            "in": "path",
            "description": "id for updatable product on group",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.SoftwareConfiguration.GroupEntry"
              }
            }
          }
        }
      }
    },
    "/api/v1/iot/dashboards": {
      "get": {
        "tags": [
          "IoT Dashboard Configuration"
        ],
        "summary": "Lists all dashboards.",
        "operationId": "IoTDashboardConfiguration_GetDashboards",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "continuationToken",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ListResponse`1[[TeamViewer.Role.Web.Api.Models.DashboardConfiguration.DashboardResponse, TeamViewer.Role.Web.Api, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]"
            }
          }
        }
      },
      "post": {
        "tags": [
          "IoT Dashboard Configuration"
        ],
        "summary": "Creates a dashboard.",
        "operationId": "IoTDashboardConfiguration_CreateDashboard",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "parameters",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.DashboardConfiguration.DashboardPostParameters"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.DashboardConfiguration.DashboardResponse"
            }
          }
        }
      }
    },
    "/api/v1/iot/dashboards/{id}": {
      "get": {
        "tags": [
          "IoT Dashboard Configuration"
        ],
        "summary": "Gets details for a single dashboards.",
        "operationId": "IoTDashboardConfiguration_GetDashboard",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "continuationToken",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ListResponse`1[[TeamViewer.Role.Web.Api.Models.DashboardConfiguration.DashboardResponse, TeamViewer.Role.Web.Api, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]"
            }
          }
        }
      },
      "put": {
        "tags": [
          "IoT Dashboard Configuration"
        ],
        "summary": "Updates dashboard by provided id.",
        "operationId": "IoTDashboardConfiguration_UpdateDashboard",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "parameters",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.DashboardConfiguration.DashboardPostParameters"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.DashboardConfiguration.DashboardResponse"
            }
          }
        }
      },
      "delete": {
        "tags": [
          "IoT Dashboard Configuration"
        ],
        "summary": "Deletes dashboard by provided id.",
        "operationId": "IoTDashboardConfiguration_DeleteDashboard",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uuid"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object"
            }
          }
        }
      }
    },
    "/api/v1/iot/dashboards/{id}/widgets": {
      "post": {
        "tags": [
          "IoT Dashboard Configuration"
        ],
        "summary": "Add widget to a certain dashboard.",
        "operationId": "IoTDashboardConfiguration_CreateWidget",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "parameters",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.DashboardConfiguration.WidgetPostParameters"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.DashboardConfiguration.WidgetDetailResponse"
            }
          }
        }
      }
    },
    "/api/v1/iot/dashboards/{id}/widgets/{widgetId}": {
      "get": {
        "tags": [
          "IoT Dashboard Configuration"
        ],
        "summary": "Get widget by widgetId.",
        "operationId": "IoTDashboardConfiguration_GetWidget",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "widgetId",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uuid"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.DashboardConfiguration.WidgetDetailResponse"
            }
          }
        }
      },
      "put": {
        "tags": [
          "IoT Dashboard Configuration"
        ],
        "summary": "Updates single widget of provided dashboard.",
        "operationId": "IoTDashboardConfiguration_UpdateWidget",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "widgetId",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "parameters",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.DashboardConfiguration.WidgetPostParameters"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.DashboardConfiguration.WidgetDetailResponse"
            }
          }
        }
      },
      "delete": {
        "tags": [
          "IoT Dashboard Configuration"
        ],
        "summary": "Delete single widget of provided dashboard.",
        "operationId": "IoTDashboardConfiguration_DeleteWidget",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "widgetId",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uuid"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object"
            }
          }
        }
      }
    },
    "/api/v1/data": {
      "post": {
        "tags": [
          "IoT Data"
        ],
        "summary": "Returns time series data of metrics.",
        "operationId": "IoTData_GetData",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "requestParams",
            "in": "body",
            "description": "The parameters of the request.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Module.IoTDataProvider.DataType.GetDataRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TeamViewer.Module.IoTDataProvider.DataType.GetIoTDataResponseEntity"
              }
            }
          }
        }
      }
    },
    "/api/v1/iot/data/push": {
      "post": {
        "tags": [
          "IoT Data"
        ],
        "operationId": "IoTData_PushData",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "parameters",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.PushDataPostParameters"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Module.IoTDataProvider.DataType.PushIoTSensorDataResponse"
            }
          }
        }
      }
    },
    "/api/v1/iot/LatestData": {
      "post": {
        "tags": [
          "IoT Data"
        ],
        "summary": "Returns latest data of metrics.",
        "operationId": "IoTData_GetLatestData",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "parameters",
            "in": "body",
            "description": "The parameters of the request. deviceId: The remotecontrol_id of the device. valueType: 0 integer, 1 double, 2 boolean, 3 string",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Module.IoTDataProvider.DataType.GetIoTLatestDataBCommandParams"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TeamViewer.Module.IoTDataProvider.DataType.GetIoTLatestDataResponseEntity"
              }
            }
          }
        }
      }
    },
    "/api/v1/iot/monitoring/device/{deviceId}/vault": {
      "get": {
        "tags": [
          "IoT Monitoring V2"
        ],
        "summary": "Returns the ID of the Vault associated with the specified Device.",
        "operationId": "IoTMonitoringV2_GetDeviceVaultId",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "deviceId",
            "in": "path",
            "description": "ID of the device associated with the requested Vault.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Module.IoTDataProvider.DataType.MonitoringV2.GetIoTDeviceVaultIdResponseEntity"
            }
          }
        }
      }
    },
    "/api/v1/iot/monitoring/vaults/{vaultId}/devices": {
      "get": {
        "tags": [
          "IoT Monitoring V2"
        ],
        "summary": "Returns a list of Device metadata associated with the specified Vault.",
        "operationId": "IoTMonitoringV2_GetDevicesList",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "vaultId",
            "in": "path",
            "description": "UUID of the vault.",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "continuationToken",
            "in": "query",
            "description": "Token used for continuing from the previous response when the response array is large.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.IoTMonitoringV2.GetIoTDevicesListResponseEntity"
            }
          }
        }
      }
    },
    "/api/v1/iot/monitoring/vaults/{vaultId}/devices/{deviceId}/connectors": {
      "get": {
        "tags": [
          "IoT Monitoring V2"
        ],
        "summary": "Returns a list of Connector metadata associated with the specified Device.",
        "operationId": "IoTMonitoringV2_GetConnectorsList",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "vaultId",
            "in": "path",
            "description": "UUID of the vault.",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "deviceId",
            "in": "path",
            "description": "ID of the device owning the connectors.",
            "required": true,
            "type": "string"
          },
          {
            "name": "continuationToken",
            "in": "query",
            "description": "Token used for continuing from the previous response when the response array is large.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.IoTMonitoringV2.GetIoTConnectorsListResponseEntity"
            }
          }
        }
      }
    },
    "/api/v1/iot/monitoring/vaults/{vaultId}/devices/{deviceId}/connectors/{connectorId}/sensors": {
      "get": {
        "tags": [
          "IoT Monitoring V2"
        ],
        "summary": "Returns a list of Sensor metadata associated with the specified Connector.",
        "operationId": "IoTMonitoringV2_GetSensorsList",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "vaultId",
            "in": "path",
            "description": "UUID of the vault.",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "deviceId",
            "in": "path",
            "description": "ID of the device owning the connector.",
            "required": true,
            "type": "string"
          },
          {
            "name": "connectorId",
            "in": "path",
            "description": "UUID of the connector owning the sensors.",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "continuationToken",
            "in": "query",
            "description": "Token used for continuing from the previous response when the response array is large.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.IoTMonitoringV2.GetIoTSensorsListResponseEntity"
            }
          }
        }
      }
    },
    "/api/v1/iot/monitoring/vaults/{vaultId}/devices/{deviceId}/connectors/{connectorId}/sensors/{sensorId}/metrics": {
      "get": {
        "tags": [
          "IoT Monitoring V2"
        ],
        "summary": "Returns a list of Metric metadata associated with the specified Sensor.",
        "operationId": "IoTMonitoringV2_GetMetricsList",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "vaultId",
            "in": "path",
            "description": "UUID of the vault.",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "deviceId",
            "in": "path",
            "description": "ID of the device owning the connector.",
            "required": true,
            "type": "string"
          },
          {
            "name": "connectorId",
            "in": "path",
            "description": "UUID of the connector owning the sensor.",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "sensorId",
            "in": "path",
            "description": "UUID of the sensor owning the metrics.",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "continuationToken",
            "in": "query",
            "description": "Token used for continuing from the previous response when the response array is large.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.IoTMonitoringV2.GetIoTMetricsListResponseEntity"
            }
          }
        }
      }
    },
    "/api/v1/iot/monitoring/vaults/{vaultId}/devices/{deviceId}/connectors/{connectorId}/sensors/{sensorId}/metrics/{metricId}/data": {
      "get": {
        "tags": [
          "IoT Monitoring V2"
        ],
        "summary": "Returns a list of metric data associated with the specified Metric.",
        "operationId": "IoTMonitoringV2_GetMetricDataList",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "vaultId",
            "in": "path",
            "description": "UUID of the vault.",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "deviceId",
            "in": "path",
            "description": "ID of the device owning the connector.",
            "required": true,
            "type": "string"
          },
          {
            "name": "connectorId",
            "in": "path",
            "description": "UUID of the connector owning the sensor.",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "sensorId",
            "in": "path",
            "description": "UUID of the sensor owning the metric.",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "metricId",
            "in": "path",
            "description": "UUID of the metric.",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "since",
            "in": "query",
            "description": "The timestamp (Unix timestamp in milliseconds) since which the data should be retrieved.",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "until",
            "in": "query",
            "description": "The timestamp (Unix timestamp in milliseconds) until which the data should be retrieved.",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "continuationToken",
            "in": "query",
            "description": "Token used for continuing from the previous response when the response array is large.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.IoTMonitoringV2.GetIoTMetricDataResponseEntity"
            }
          }
        }
      }
    },
    "/api/v1/iot/monitoring/vaults/{vaultId}/devices/{deviceId}/connectors/{connectorId}/sensors/{sensorId}/metrics/{metricId}/data/latest": {
      "get": {
        "tags": [
          "IoT Monitoring V2"
        ],
        "summary": "Returns a list of latest metric data associated with the specified Metric.",
        "operationId": "IoTMonitoringV2_GetMetricLatestDataList",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "vaultId",
            "in": "path",
            "description": "UUID of the vault.",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "deviceId",
            "in": "path",
            "description": "ID of the device owning the connector.",
            "required": true,
            "type": "string"
          },
          {
            "name": "connectorId",
            "in": "path",
            "description": "UUID of the connector owning the sensor.",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "sensorId",
            "in": "path",
            "description": "UUID of the sensor owning the metric.",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "metricId",
            "in": "path",
            "description": "UUID of the metric.",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "count",
            "in": "query",
            "description": "Number of metric data to return.",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "continuationToken",
            "in": "query",
            "description": "Token used for continuing from the previous response when the response array is large.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.IoTMonitoringV2.GetIoTMetricDataResponseEntity"
            }
          }
        }
      }
    },
    "/api/v1/endpointprotectionv2/install": {
      "post": {
        "tags": [
          "MalwareBytes Endpoint Protection"
        ],
        "summary": "Install MalwareBytes Endpoint Protection on the given device",
        "operationId": "MalwareBytesEndpointProtection_Install",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [],
        "parameters": [
          {
            "name": "parameters",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.MalwareBytesEndpointProtectionInstallParameters"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/api/v1/endpointprotectionv2/endpoints": {
      "get": {
        "tags": [
          "MalwareBytes Endpoint Protection"
        ],
        "summary": "Get endpoints.",
        "operationId": "MalwareBytesEndpointProtection_GetEndpoints",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "continuationToken",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ListResponse`1[[TeamViewer.Role.Web.Api.Models.MalwareBytesEndpointResponse, TeamViewer.Role.Web.Api, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]"
            }
          }
        }
      }
    },
    "/api/v1/endpointprotectionv2/linkdevices": {
      "put": {
        "tags": [
          "MalwareBytes Endpoint Protection"
        ],
        "summary": "Link TeamViewer devices with Malwarebytes endpoints",
        "operationId": "MalwareBytesEndpointProtection_LinkDevices",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [],
        "parameters": [
          {
            "name": "parameters",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.MalwareBytesEndpointProtectionLinkDevicesParameters"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/api/v1/managed/devices": {
      "get": {
        "tags": [
          "Managed Devices"
        ],
        "summary": "Lists all directly managed devices of the manager",
        "description": "Lists all directly managed devices of the manager that is associated\r\nwith the currently logged-in session (API token).",
        "operationId": "ManagedDevices_List",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "paginationToken",
            "in": "query",
            "description": "Used for pagination. To fetch the next batch of result items,\r\nprovide the value received as \"nextPaginationToken\" from the\r\nprevious call.\r\nWill fetch the first page if not given.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ListResponse`1[[TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.ManagedDeviceModel, TeamViewer.Role.Web.Api, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]"
            }
          }
        }
      }
    },
    "/api/v1/managed/devices/assignment-data": {
      "get": {
        "tags": [
          "Managed Devices"
        ],
        "summary": "Create an AssignmentData object for the currently logged-in account.",
        "description": "AssignmentData contains the Manager's GUID, Rights, etc. The device uses this to assign itself under MDv2.",
        "operationId": "ManagedDevices_CreateAssignmentData",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.AssignmentDataResponse"
            }
          }
        }
      }
    },
    "/api/v1/managed/devices/company": {
      "get": {
        "tags": [
          "Managed Devices"
        ],
        "summary": "Lists one page of company-managed devices",
        "description": "Lists one page of company-managed devices of the company that is associated\r\nwith the currently logged-in session (API token).",
        "operationId": "ManagedDevices_ListCompanyDevices",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "paginationToken",
            "in": "query",
            "description": "Used for pagination. To fetch the next page of result items,\r\nprovide the value received as \"nextPaginationToken\" from the\r\nprevious call.\r\nWill fetch the first page if not given.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "403": {
            "description": "Insufficient permissions to list company-managed devices."
          },
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ListResponse`1[[TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.ManagedDeviceModel, TeamViewer.Role.Web.Api, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]"
            }
          }
        }
      }
    },
    "/api/v1/managed/devices/{id}": {
      "get": {
        "tags": [
          "Managed Devices"
        ],
        "summary": "Gets details for a single managed device",
        "operationId": "ManagedDevices_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The management ID of the device.",
            "required": true,
            "type": "string",
            "format": "uuid"
          }
        ],
        "responses": {
          "403": {
            "description": "Insufficient permissions to get device details."
          },
          "404": {
            "description": "The device with the given management identifier cannot be found."
          },
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.ManagedDeviceDetailModel"
            }
          }
        }
      },
      "put": {
        "tags": [
          "Managed Devices"
        ],
        "summary": "Changes properties of a device",
        "description": "Modify the attributes of a managed device using its designated \"id.\"\r\n            \r\nYou can provide one or more of the following device properties to change\r\n            \r\n(1) the device's \"name\" (alias) to enact changes,\r\n(2) the TeamViewer policy change (add or update), by setting either the \"teamviewerPolicyId\",\r\nor the \"managedGroupId\" to inherit the TeamViewer Policy from a managed group to which the device is associated, and\r\n(3) permissionInheritanceType [0: NotAllowed, 1: Allowed]\r\n            \r\nThe current account needs the following permissions on the device for each action:\r\n\"DeviceAdministration or InheritDeviceAdministration\" for alias change,\r\n\"PolicyAdministration or InheritPolicyAdministration\" for policy change,\r\n\"DeviceAdministration or InheritDeviceAdministration\" for permissionInheritanceType change\r\n            \r\nThe change of 'permissionInheritanceType' is NOT allowed (1) to Non-CompanyAdmin accounts and\r\n(2) when the device belongs to a different company than the session's company.\r\n            \r\nThe change of 'permissionInheritanceType' is allowed when (1) the device does not have a company manager or\r\n(2) the device belongs to the same company as the account.",
        "operationId": "ManagedDevices_Put",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The management ID of the device.",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "parameters",
            "in": "body",
            "description": "The device properties to change.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.ManagedDevicesPutParameters"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "NoContent"
          },
          "400": {
            "description": "The request does not include any changes."
          },
          "403": {
            "description": "Insufficient permissions to change properties of the given device."
          },
          "404": {
            "description": "The device with the given management identifier cannot be found."
          }
        }
      },
      "delete": {
        "tags": [
          "Managed Devices"
        ],
        "summary": "Removes management from a device",
        "description": "Removes management from a device with the given \"id\".\r\n            \r\nThe current account needs \"ManagerAdministration\" manager\r\npermissions on the device.",
        "operationId": "ManagedDevices_DeleteDevice",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The management ID of the device.",
            "required": true,
            "type": "string",
            "format": "uuid"
          }
        ],
        "responses": {
          "204": {
            "description": "NoContent"
          },
          "403": {
            "description": "Insufficient permissions to remove management from the given device."
          },
          "404": {
            "description": "The device with the given management identifier cannot be found."
          }
        }
      }
    },
    "/api/v1/managed/devices/{id}/managers": {
      "get": {
        "tags": [
          "Managed Devices"
        ],
        "summary": "Lists direct managers of a device",
        "description": "Lists all managers of the directly managed device with the given \"id\".",
        "operationId": "ManagedDevices_GetManagers",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The management ID of the device.",
            "required": true,
            "type": "string",
            "format": "uuid"
          }
        ],
        "responses": {
          "403": {
            "description": "Insufficient permissions to list managers of the given device."
          },
          "404": {
            "description": "The device with the given management identifier cannot be found."
          },
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ListResponse`1[[TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.ManagerModel, TeamViewer.Role.Web.Api, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]"
            }
          }
        }
      },
      "put": {
        "tags": [
          "Managed Devices"
        ],
        "summary": "Changes multiple managers of a device",
        "description": "Changes permissions of multiple managers (specified in the request\r\nbody) on the directly managed device with the management ID \"id\".\r\n            \r\nIt is not possible to take away the \"ManagerAdministration\"\r\npermission from all managers of a device.\r\nAt least one manager must remain with that permission.\r\n            \r\nThe current account needs \"ManagerAdministration\" manager\r\npermissions on the device.\r\n            \r\nThe values for the `permissions` property can be one or more of:\r\n0 = ManagerAdministration,\r\n1 = GroupAdministration,\r\n2 = DeviceAdministration,\r\n3 = PolicyAdministration,\r\n4 = DeviceDescription,\r\n5 = EasyAccess,\r\n6 = SoftwareUpdate,\r\n7 = CustomFieldsAdministration,\r\n8 = InheritDeviceAdministration,\r\n9 = InheritDeviceDescription,\r\n10 = InheritManagerAdministration,\r\n11 = InheritPolicyAdministration,\r\n12 = ConditionalAccessApprover,\r\n13 = ConditionalAccessRequester,",
        "operationId": "ManagedDevices_PutManagers",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The management ID of the device.",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "parameters",
            "in": "body",
            "description": "List of managers and their updated permissions.",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.ManagersPutParameters"
              }
            }
          }
        ],
        "responses": {
          "400": {
            "description": "The request either exceeds the maximum of number of managers (100),\r\ndoes not include any changes\r\nor attempts to demote the last manager with `ManagerAdministration` permissions."
          },
          "403": {
            "description": "Insufficient permissions to change managers to the given device."
          },
          "404": {
            "description": "The device with the given management identifier cannot be found."
          },
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.ManagerModel"
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Managed Devices"
        ],
        "summary": "Adds direct managers to a device",
        "description": "Adds one or more direct managers to the managed device with the\r\ngiven \"id\". Managers are either identified by their manager ID (UUID)\r\nor by using the TeamViewer account ID.\r\n            \r\nThe current account needs \"ManagerAdministration\" manager\r\npermissions on the device.",
        "operationId": "ManagedDevices_PostManagers",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The management ID of the device.",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "parameters",
            "in": "body",
            "description": "List of managers and their permissions.",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.ManagersPostParameters"
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.ManagerModel"
              }
            }
          },
          "400": {
            "description": "The request either exceeds the maximum of number of managers (100)\r\nor none of the specified managers could be found."
          },
          "403": {
            "description": "Insufficient permissions to add managers to the given device."
          },
          "404": {
            "description": "The device with the given management identifier cannot be found."
          }
        }
      },
      "delete": {
        "tags": [
          "Managed Devices"
        ],
        "summary": "Removes multiple managers from a device",
        "description": "Removes multiple managers from the directly managed device with the\r\ngiven management ID.\r\n            \r\nIt is not possible to remove the last manager with the\r\n\"ManagerAdministration\" on a device.\r\nAt least one manager must remain with that permission.\r\n            \r\nThe current account needs \"ManagerAdministration\" manager\r\npermissions on the device.",
        "operationId": "ManagedDevices_DeleteManagers",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The management ID of the device.",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "managerIds",
            "in": "body",
            "description": "List of manager Ids to remove as direct managers on the device.",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "format": "uuid",
                "type": "string",
                "example": "00000000-0000-0000-0000-000000000000"
              }
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Returns no content on success.",
            "schema": {
              "type": "object"
            }
          },
          "400": {
            "description": "The request either exceeds the maximum of number of managers (100),\r\ndoes not include any manager of the device\r\nor attempts to remove the last manager with `ManagerAdministration` permissions."
          },
          "403": {
            "description": "Insufficient permissions to remove managers from the given device."
          },
          "404": {
            "description": "The device with the given management identifier cannot be found."
          },
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/managed/devices/{id}/groups": {
      "get": {
        "tags": [
          "Managed Devices"
        ],
        "summary": "Lists managed groups a device is part of",
        "description": "Lists all managed groups that the device with the given identifier is contained in.",
        "operationId": "ManagedDevices_GetDeviceManagedGroups",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The management ID of the device.",
            "required": true,
            "type": "string",
            "format": "uuid"
          }
        ],
        "responses": {
          "403": {
            "description": "Insufficient permissions to list managed groups of the given device."
          },
          "404": {
            "description": "The device with the given management identifier cannot be found."
          },
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ListResponse`1[[TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.ManagedGroupModel, TeamViewer.Role.Web.Api, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]"
            }
          }
        }
      },
      "put": {
        "tags": [
          "Managed Devices"
        ],
        "summary": "Edits groups of a device",
        "description": "Modify which groups a managed device belongs to using its designated \"id.\"\r\nYou can provide a list of ChainIds that you want to add the managed device to,\r\nor/and provide a list of ChainIds that you want to delete the managed device from.\r\n            \r\nThe current account needs \"DeviceAdministration\" on Device and \"GroupAdministration\" on Groups\r\npermissions on the device.",
        "operationId": "ManagedDevices_MoveDevice",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The management ID of the device.",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "parameters",
            "in": "body",
            "description": "The device group properties to change (Add and Delete lists).",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Module.ManagedDeviceV2.DataTypes.EditDeviceGroupsParameters"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "NoContent"
          },
          "400": {
            "description": "The request does not include any changes."
          },
          "403": {
            "description": "Insufficient permissions to change properties of the given device."
          },
          "404": {
            "description": "The device with the given management identifier cannot be found."
          },
          "500": {
            "description": "Either the current device state retrieval failed or the update itself failed"
          }
        }
      }
    },
    "/api/v1/managed/devices/{id}/description": {
      "put": {
        "tags": [
          "Managed Devices"
        ],
        "summary": "Changes the description of a device",
        "description": "Modify the description of a managed device using its designated \"id.\"\r\nYou can provide the device description to update it. Empty string or null will reset the description.\r\n            \r\nThe current account needs \"DeviceDescription\" manager permissions on the device.",
        "operationId": "ManagedDevices_PutDeviceDescription",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The management ID of the device.",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "parameters",
            "in": "body",
            "description": "The device description to set.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.ManagedDeviceDescriptionPutParameters"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "NoContent"
          },
          "400": {
            "description": "The request does not include any changes."
          },
          "403": {
            "description": "Insufficient permissions to change properties of the given device."
          },
          "404": {
            "description": "The device with the given management identifier cannot be found."
          }
        }
      }
    },
    "/api/v1/managed/devices/{id}/policy/remove": {
      "put": {
        "tags": [
          "Managed Devices"
        ],
        "summary": "Remove asssigned Policy of a device",
        "description": "Unassign the Policy currently assigned to a managed device.\r\nSpecify the \"policyType\" (TeamViewer Policy: 1, Monitoring policy: 4, Patch management policy: 5)\r\nof the policy to be unassigned from the device.\r\n            \r\nThe current account needs \"PolicyAdministation\" manager\r\npermissions on the device.",
        "operationId": "ManagedDevices_Put",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The management ID of the device.",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "parameters",
            "in": "body",
            "description": "The policy type to remove",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.ManagedDevicesRemovePolicyParameters"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "NoContent"
          },
          "400": {
            "description": "Invalid request"
          },
          "403": {
            "description": "Insufficient permissions to change properties of the given device."
          },
          "404": {
            "description": "The device with the given management identifier cannot be found."
          }
        }
      }
    },
    "/api/v1/managed/devices/{id}/managers/{managerId}": {
      "put": {
        "tags": [
          "Managed Devices"
        ],
        "summary": "Changes a single manager on a device",
        "description": "Changes permissions of the manager with the given \"managerId\" on the\r\ndirectly managed device with the given \"id\".\r\n            \r\nIt is not possible to take away the \"ManagerAdministration\"\r\npermission from all managers of a device.\r\nAt least one manager must remain with that permission.\r\n            \r\nThe current account needs \"ManagerAdministration\" manager\r\npermissions on the device.\r\n            \r\nThe values for the `permissions` property can be one or more of:\r\n0 = ManagerAdministration,\r\n1 = GroupAdministration,\r\n2 = DeviceAdministration,\r\n3 = PolicyAdministration,\r\n4 = DeviceDescription,\r\n5 = EasyAccess,\r\n6 = SoftwareUpdate,\r\n7 = CustomFieldsAdministration,\r\n8 = InheritDeviceAdministration,\r\n9 = InheritDeviceDescription,\r\n10 = InheritManagerAdministration,\r\n11 = InheritPolicyAdministration,\r\n12 = ConditionalAccessApprover,\r\n13 = ConditionalAccessRequester,",
        "operationId": "ManagedDevices_PutManager",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The management ID of the device.",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "managerId",
            "in": "path",
            "description": "The ID of the manager to change.",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "parameters",
            "in": "body",
            "description": "Updated set of manager permissions.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.ManagersPutParameters"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "The request attempts to demote the last manager with `ManagerAdministration` permissions."
          },
          "403": {
            "description": "Insufficient permissions to change managers of the given device."
          },
          "404": {
            "description": "The device or manager with the given identifiers cannot be found."
          },
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.ManagerModel"
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Managed Devices"
        ],
        "summary": "Removes a manager from a device",
        "description": "It is not possible to remove the last manager with the\r\n\"ManagerAdministration\" of a managed device.\r\nAt least one manager must remain with that permission.\r\n            \r\nThe current account needs \"ManagerAdministration\" manager\r\npermissions on the device.",
        "operationId": "ManagedDevices_DeleteManager",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The management ID of the device.",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "managerId",
            "in": "path",
            "description": "ID of the manager to remove from the device.",
            "required": true,
            "type": "string",
            "format": "uuid"
          }
        ],
        "responses": {
          "204": {
            "description": "NoContent"
          },
          "400": {
            "description": "The request attempts to remove the last manager with `ManagerAdministration` permissions."
          },
          "403": {
            "description": "Insufficient permissions to remove managers from the given device."
          },
          "404": {
            "description": "The device or manager with the given identifiers cannot be found."
          }
        }
      }
    },
    "/api/v1/meetings/{id}/custom_modules_config_id": {
      "get": {
        "tags": [
          "Meetings"
        ],
        "summary": "GET /api/v1/Meetings/{id}/custom_modules_config_id",
        "operationId": "Meetings_custom_modules_config_id",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "client_id",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetSessionsCustomModulesConfigIdResponse"
            }
          }
        }
      }
    },
    "/api/v1/meetings": {
      "get": {
        "tags": [
          "Meetings"
        ],
        "summary": "GET api/v1/Meetings",
        "operationId": "Meetings_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "from_date",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "to_date",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.MeetingsResponse"
            }
          }
        }
      },
      "post": {
        "tags": [
          "Meetings"
        ],
        "summary": "POST api/v1/Meetings",
        "operationId": "Meetings_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "parameters",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.WebApi.Base.Models.MeetingsPostParameters"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.MeetingResponse"
            }
          }
        }
      }
    },
    "/api/v1/meetings/{id}": {
      "get": {
        "tags": [
          "Meetings"
        ],
        "summary": "GET api/v1/Meetings/{id}",
        "operationId": "Meetings_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.MeetingResponse"
            }
          }
        }
      },
      "put": {
        "tags": [
          "Meetings"
        ],
        "summary": "PUT api/v1/Meetings/{id}",
        "operationId": "Meetings_Put",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "parameters",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.WebApi.Base.Models.MeetingsPutParameters"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      },
      "delete": {
        "tags": [
          "Meetings"
        ],
        "summary": "DELETE api/v1/Meetings/{id}",
        "operationId": "Meetings_Delete",
        "consumes": [],
        "produces": [],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/api/v1/meetings/{id}/invitation": {
      "get": {
        "tags": [
          "Meetings"
        ],
        "summary": "GET /api/v1/Meetings/{id}/invitation",
        "operationId": "Meetings_Invitation",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "language",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "timezone",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetMeetingInvitationResponse"
            }
          }
        }
      }
    },
    "/api/v1/meetings/blizz": {
      "get": {
        "tags": [
          "Meetings"
        ],
        "summary": "<para>GET api/v1/meetings/blizz</para>\r\n<para>GET api/v1/meetings/blizz?from_date=&lt;&gt;&amp;to_date=&lt;&gt;</para>",
        "operationId": "BlizzMeetings_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "from_date",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "to_date",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.BlizzMeetingsResponse"
            }
          }
        }
      },
      "post": {
        "tags": [
          "Meetings"
        ],
        "summary": "POST api/v1/meetings/blizz",
        "operationId": "BlizzMeetings_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "parameters",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.WebApi.Base.Models.MeetingsPostParameters"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.BlizzMeetingResponse"
            }
          }
        }
      }
    },
    "/api/v1/meetings/blizz/{id}": {
      "get": {
        "tags": [
          "Meetings"
        ],
        "summary": "GET api/v1/meetings/blizz/{id}",
        "operationId": "BlizzMeetings_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.BlizzMeetingResponse"
            }
          }
        }
      }
    },
    "/api/v1/monitoring/devices": {
      "get": {
        "tags": [
          "Monitoring Management"
        ],
        "summary": "GET api/v1/monitoring/devices",
        "operationId": "Monitoring_GetActiveDevices",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TeamViewer.DeprecatedBase.DataType.ItBrain.MonitoringActiveDeviceInformation"
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Monitoring Management"
        ],
        "summary": "Activate patch management and monitoring services action is used for activating the services on a given device.",
        "operationId": "Monitoring_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "parameters",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.MonitoringActivationParamters"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.DeviceResponse"
            }
          }
        }
      }
    },
    "/api/v1/monitoring/devices/{deviceId}/information": {
      "get": {
        "tags": [
          "Monitoring Management"
        ],
        "summary": "Get system information of the provided device",
        "operationId": "Monitoring_GetSystemInformation",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "deviceId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.Monitoring.GetSystemInformationResponse"
            }
          }
        }
      }
    },
    "/api/v1/monitoring/devices/{deviceId}/hardware": {
      "get": {
        "tags": [
          "Monitoring Management"
        ],
        "summary": "Get hardware data of the provided device",
        "description": " This request will return hardware information of the device, which id is provided in the request.\r\n\r\n type enum values of HardwareItem are:\r\n\r\n\t 0 - Unknown\r\n\t 1 - Network\r\n\t 2 - BIOS\r\n\t 4 - Motherboard\r\n\t 5 - Keyboard\r\n\t 6 - Pointing device\r\n\t 7 - Monitor\r\n\t 8 - Video controller\r\n\t 9 - Disk drive\r\n\t 11 - Physical memory\r\n\t 13 - Processor",
        "operationId": "Monitoring_GetDeviceHardware",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "deviceId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.Monitoring.GetDeviceHardwareResponse"
            }
          }
        }
      }
    },
    "/api/v1/monitoring/devices/{deviceId}/software": {
      "get": {
        "tags": [
          "Monitoring Management"
        ],
        "summary": "Get software data of the provided device",
        "description": " This request will return software information of the device, which id is provided in the request.\r\n\r\n type enum values of SoftwareItem are:\r\n\r\n\t 0 - Not an update\r\n\t 1 - Update\r\n\t 2 - Security update\r\n\t 3 - Hotfix",
        "operationId": "Monitoring_GetDeviceSoftware",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "deviceId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.Monitoring.GetDeviceSoftwareResponse"
            }
          }
        }
      }
    },
    "/api/v1/monitoring/alarms": {
      "get": {
        "tags": [
          "Monitoring Management"
        ],
        "summary": "Get list of alarms for a specified account.",
        "description": " This request will return a list of alarms triggered for a specified account, filtered according to the set parameters.\r\n\r\n The enum values of Status are:\r\n\r\n\t 0 - Failed\r\n\t 1 - Resolved\r\n\t 2 - Acknowledged\r\n\r\n Start/end date should be in the format YYYY-MM-ddThh:mm:ssZ\r\n\r\n Not setting the end date, but setting the start date returns all alarms triggered after start date.\r\n\r\n Not setting the start date, but setting the end date returns all alarms triggered before end date.",
        "operationId": "Monitoring_GetAlarms",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "parameters.status",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "enum": [
              0,
              1,
              2
            ]
          },
          {
            "name": "parameters.deviceId",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "parameters.groupId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "parameters.continuationToken",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "parameters.startDate",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "parameters.endDate",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.Monitoring.GetMonitoringAlarmsResponse"
            }
          }
        }
      },
      "post": {
        "tags": [
          "Monitoring Management"
        ],
        "summary": "POST version of the above GET function.\r\nThe intention for having this alternative is that continuation tokens were getting too large\r\nrunning into the request limit of the GET function. This POST version works for larger tokens\r\nas it doesn't have the same limitations.",
        "operationId": "Monitoring_GetAlarmsPost",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "parameters",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.Monitoring.GetMonitoringAlarmsParameters"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.Monitoring.GetMonitoringAlarmsResponse"
            }
          }
        }
      }
    },
    "/api/v1/Monitoring/Policy": {
      "get": {
        "tags": [
          "Monitoring Policy Management"
        ],
        "summary": "Get Monitoring Policies - action is used to get the list of Monitoring policies",
        "operationId": "MonitoringPolicies_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetMonitoringPoliciesResponse"
            }
          }
        }
      }
    },
    "/api/v1/Monitoring/Policy/{id}": {
      "get": {
        "tags": [
          "Monitoring Policy Management"
        ],
        "summary": "Get Monitoring Policy - action is used to get the details of the Monitoring Policy",
        "operationId": "MonitoringPolicies_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetMonitoringPoliciesResponse"
            }
          }
        }
      }
    },
    "/api/v1/Monitoring/Policy/Assign": {
      "post": {
        "tags": [
          "Monitoring Policy Management"
        ],
        "summary": "Post Monitoring Policies - action is used for updating assigned Monitoring Policies",
        "operationId": "MonitoringPolicies_AssignPolicy",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "parameters",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.PolicyAssignParameters"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.AssignPolicyResponse"
              }
            }
          }
        }
      }
    },
    "/api/v1/OAuth2/token": {
      "post": {
        "tags": [
          "OAuth2 Management"
        ],
        "summary": "POST api/v1/OAuth2/Token",
        "operationId": "OAuth2_Token",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "postData",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.OAuth2TokenPostParameters"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object"
            }
          }
        }
      }
    },
    "/api/v1/OAuth2/accessToken": {
      "post": {
        "tags": [
          "OAuth2 Management"
        ],
        "summary": "POST api/v1/OAuth2/accessToken",
        "operationId": "OAuth2_CreatePermanentAccessToken",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "postData",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.OAuth2PermanentAccessTokenCreateParameters"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.OAuth2PermanentAccessTokenCreateResponse"
            }
          }
        }
      },
      "delete": {
        "tags": [
          "OAuth2 Management"
        ],
        "summary": "DELETE api/v1/OAuth2/accessToken",
        "operationId": "OAuth2_DeleteAccessToken",
        "consumes": [],
        "produces": [],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/api/v1/OAuth2/revoke": {
      "post": {
        "tags": [
          "OAuth2 Management"
        ],
        "summary": "POST api/v1/OAuth2/Revoke",
        "operationId": "OAuth2_Revoke",
        "consumes": [],
        "produces": [],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/api/v1/integrations/registerUser": {
      "post": {
        "tags": [
          "OEM Management"
        ],
        "summary": "POST api/v1/Integrations/RegisterUser",
        "operationId": "Integrations_RegisterUser",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Controllers.RegisterRequest"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/api/v1/oem/licensing/customers": {
      "get": {
        "tags": [
          "OEM Management"
        ],
        "summary": "GET api/v1/oem/licensing/customers?resellerID={resellerID}",
        "operationId": "OemLicensingCustomers_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "resellerId",
            "in": "query",
            "required": true,
            "type": "string",
            "format": "uuid"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetCustomerListResponse"
            }
          }
        }
      },
      "post": {
        "tags": [
          "OEM Management"
        ],
        "summary": "POST api/v1/oem/licensing/customers",
        "operationId": "OemLicensingCustomers_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "parameters",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.CreateCustomerPostParameters"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.CreateCustomerPostResponse"
            }
          }
        }
      },
      "delete": {
        "tags": [
          "OEM Management"
        ],
        "summary": "DELETE api/v1/oem/licensing/customers",
        "operationId": "OemLicensingCustomers_Delete",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [],
        "parameters": [
          {
            "name": "parameters",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.CreateCustomerPostParameters"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/api/v1/oem/devices/CreateDeviceKey": {
      "post": {
        "tags": [
          "OemDevices"
        ],
        "summary": "POST api/v1/oem/devices/CreateDeviceKey",
        "operationId": "OemDevices_CreateDeviceKey",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "parameters",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.SecretKeyRequestParameters"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.SecretKeyResponseParameters"
            }
          }
        }
      }
    },
    "/api/v1/oem/devices/RequestControl": {
      "post": {
        "tags": [
          "OemDevices"
        ],
        "summary": "POST api/v1/oem/devices/RequestControl",
        "operationId": "OemDevices_RequestControl",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "parameters",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.RequestControlParameters"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.RequestControlResponseParameters"
            }
          }
        }
      }
    },
    "/api/v1/oem/devices/Unregister": {
      "delete": {
        "tags": [
          "OemDevices"
        ],
        "summary": "DELETE api/v1/oem/devices/Unregister",
        "operationId": "OemDevices_Unregister",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [],
        "parameters": [
          {
            "name": "parameters",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.UnregisterDeviceParameters"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/api/v1/PatchManagement/Policy": {
      "get": {
        "tags": [
          "Patch Management Policy Management"
        ],
        "summary": "Get Patch Management Policies - action is used to get the list of Patch Management policies",
        "operationId": "PatchManagementPolicies_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetPatchManagementPolicyResponse"
            }
          }
        }
      }
    },
    "/api/v1/PatchManagement/Policy/{id}": {
      "get": {
        "tags": [
          "Patch Management Policy Management"
        ],
        "summary": "Get Patch Management Policy - action is used to get the details of the Patch Management Policy",
        "operationId": "PatchManagementPolicies_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetPatchManagementPolicyResponse"
            }
          }
        }
      }
    },
    "/api/v1/PatchManagement/Policy/Assign": {
      "post": {
        "tags": [
          "Patch Management Policy Management"
        ],
        "summary": "Post Patch Management Policies - action is used for updating assigned Patch Management Policies",
        "operationId": "PatchManagementPolicies_AssignPolicy",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "parameters",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.PolicyAssignParameters"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.AssignPolicyResponse"
              }
            }
          }
        }
      }
    },
    "/api/v1/patchmanagement/devices": {
      "get": {
        "tags": [
          "PatchManagement"
        ],
        "summary": "GET api/v1/patchmanagement/devices",
        "operationId": "PatchManagement_GetActiveDevices",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "continuationToken",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.PatchManagementDevicesResponse"
            }
          }
        }
      }
    },
    "/api/v1/patchmanagement/scanresultcounts": {
      "post": {
        "tags": [
          "PatchManagement"
        ],
        "summary": "POST api/v1/patchmanagement/scanresultcounts",
        "operationId": "PatchManagement_GetPatchScanResultCounts",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.PatchManagement.GetPatchScanResultCountsRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.DeprecatedBase.DataType.PatchManagement.PatchScanResultCountInfo"
            }
          }
        }
      }
    },
    "/api/v1/patchmanagement/devices/{deviceId}/patches/missing": {
      "get": {
        "tags": [
          "PatchManagement"
        ],
        "summary": "Get missing patches information on the provided device",
        "description": " This request will return all missing patches on the device, which id is provided in the request.\r\n\r\n severity enum values of MissingPatchData are:\r\n\r\n\t 0 - Not rated\r\n\t 1 - Critical\r\n\t 2 - Important\r\n\t 3 - Moderate\r\n\t 4 - Low\r\n\r\n type enum values of MissingPatchData are:\r\n\r\n\t 0 - Unknown\r\n\t 1 - Security patches\r\n\t 2 - Software distribution\r\n\t 3 - Security tools\r\n\t 4 - Non security patches\r\n\t 5 - Custom actions",
        "operationId": "PatchManagement_GetMissingPatchScanResult",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "deviceId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.PatchManagement.GetPatchScanResultResponse"
            }
          }
        }
      }
    },
    "/api/v1/ping": {
      "get": {
        "tags": [
          "Ping"
        ],
        "summary": "GET api/v1/Ping",
        "operationId": "Ping_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.PingResponse"
            }
          }
        }
      }
    },
    "/api/v1/Tenants/ResolveTenants": {
      "get": {
        "tags": [
          "Reach API"
        ],
        "summary": "GET api/v1/Tenants/ResolveTenants?accountId={accountId}",
        "operationId": "Tenants_ResolveTenants",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "accountId",
            "in": "query",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.TenantListResponse"
            }
          }
        }
      }
    },
    "/api/v1/oem/tenants/{id}": {
      "get": {
        "tags": [
          "Reach API"
        ],
        "summary": "GET api/v1/oem/tenants/{id}",
        "operationId": "Tenants_GetTenant",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "vendor_id",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.TenantListResponse"
            }
          }
        }
      },
      "put": {
        "tags": [
          "Reach API"
        ],
        "summary": "PUT api/v1/oem/tenants/{id}",
        "operationId": "Tenants_UpdateTenant",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "parameters",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.TenantPutParameters"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/api/v1/oem/tenants/{id}/devices": {
      "post": {
        "tags": [
          "Reach API"
        ],
        "summary": "POST api/v1/oem/tenants/{id}/devices",
        "operationId": "Tenants_GetDevicesByTenant",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "parameters",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetDevicesByTenantParameters"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetDevicesByTenantResponse"
            }
          }
        }
      }
    },
    "/api/v1/oem/tenants": {
      "post": {
        "tags": [
          "Reach API"
        ],
        "summary": "POST api/v1/oem/tenants",
        "operationId": "Tenants_CreateTenant",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "parameters",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.TenantPostParameters"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.TenantResponse"
            }
          }
        }
      }
    },
    "/api/v1/oem/reports/connections": {
      "get": {
        "tags": [
          "Reach API"
        ],
        "summary": "<para>GET /oem/reports/connections?from_date=&lt;&gt;&amp;to_date=&lt;&gt;&amp;tenant_id=&lt;&gt;</para>\r\n<para>GET /oem/reports/connections</para>",
        "operationId": "OemConnections_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "from_date",
            "in": "query",
            "required": true,
            "type": "string"
          },
          {
            "name": "to_date",
            "in": "query",
            "required": true,
            "type": "string"
          },
          {
            "name": "tenant_id",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "continuation_token",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetAllReachReportResponse"
            }
          }
        }
      }
    },
    "/pushApi/v1/reach/connectionStatus": {
      "get": {
        "tags": [
          "Reach Notifications Features"
        ],
        "operationId": "ReachNotifications_NotificationsEndpoints",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetReachNotificationsEndpointResponse"
            }
          }
        }
      }
    },
    "/pushApi/v1/socketAuth/getToken": {
      "get": {
        "tags": [
          "Socket Authentication Features"
        ],
        "operationId": "SocketAuth_Token",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetSocketAuthTokenResponse"
            }
          }
        }
      }
    },
    "/api/v1/TeamViewerPolicies/{id}": {
      "get": {
        "tags": [
          "TeamViewer Policy Management"
        ],
        "summary": "Get TeamViewer Policies - action is used to get a list of TeamViewer policies",
        "description": "Retrieve a specific TeamViewer policy by specifying the \"id\" (policyId) of the policy,\r\nor omitt the \"id\" to get all TeamViewer policies associated with the account.",
        "operationId": "TeamViewerPolicies_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired TeamViewer Client Settings policy to retrieve. Omitting this parameter will fetch all available policies.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetTeamViewerPoliciesResponse"
            }
          }
        }
      },
      "put": {
        "tags": [
          "TeamViewer Policy Management"
        ],
        "summary": "Put TeamViewer Policy - action is used for updating a TeamViewer Policy",
        "operationId": "TeamViewerPolicies_Put",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the TeamViewer policy to update.",
            "required": true,
            "type": "string"
          },
          {
            "name": "parameters",
            "in": "body",
            "description": "The updated policy parameters.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.PolicyParameters"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      },
      "delete": {
        "tags": [
          "TeamViewer Policy Management"
        ],
        "summary": "Delete TeamViewer Policy - action is used to delete a TeamViewer Policy",
        "operationId": "TeamViewerPolicies_Delete",
        "consumes": [],
        "produces": [],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the TeamViewer policy to delete.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/api/v1/TeamViewerPolicies": {
      "post": {
        "tags": [
          "TeamViewer Policy Management"
        ],
        "summary": "Post TeamViewer Policy - action is used for creating a TeamViewer Policy",
        "operationId": "TeamViewerPolicies_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "parameters",
            "in": "body",
            "description": "The policy parameters.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.PolicyParameters"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.TeamViewerPolicy"
            }
          }
        }
      }
    },
    "/api/v1/usergroups": {
      "get": {
        "tags": [
          "User Groups"
        ],
        "summary": "Returns all user groups",
        "description": "Returns all user groups of the company that is associated with the\r\nused API token. The results are paged.",
        "operationId": "UserGroups_List",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "paginationToken",
            "in": "query",
            "description": "Used for pagination. To fetch the next batch of result items,\r\nprovide the value received as \"nextPaginationToken\" from the\r\nprevious call.\r\nWill fetch the first page if not given.",
            "required": false,
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Optionally limit the number of items returned per page.\r\nIf not given, the default page size is used.",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "403": {
            "description": "Insufficient permissions to list user groups."
          },
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ListResponse`1[[TeamViewer.Role.Web.Api.Models.UserGroups.UserGroupModel, TeamViewer.Role.Web.Api, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]"
            }
          }
        }
      },
      "post": {
        "tags": [
          "User Groups"
        ],
        "summary": "Creates a new user group",
        "description": "Creates a new user group and associates it with the company of the\r\ncurrently used API token.",
        "operationId": "UserGroups_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "parameters",
            "in": "body",
            "description": "Parameters for the new group.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.UserGroups.UserGroupsPostParameters"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.UserGroups.UserGroupModel"
            }
          },
          "400": {
            "description": "The request contained invalid parameters. For example, the user group\r\nname must not be empty."
          },
          "403": {
            "description": "Insufficient permissions to create a new user group."
          },
          "409": {
            "description": "A user group with the given name already exists."
          }
        }
      }
    },
    "/api/v1/usergroups/{groupId}": {
      "get": {
        "tags": [
          "User Groups"
        ],
        "summary": "Returns a user group",
        "operationId": "UserGroups_GetGroup",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "groupId",
            "in": "path",
            "description": "The user group identifier",
            "required": true,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "403": {
            "description": "Insufficient permissions to get the user group."
          },
          "404": {
            "description": "The user group with the given identifier cannot be found."
          },
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.UserGroups.UserGroupModel"
            }
          }
        }
      },
      "put": {
        "tags": [
          "User Groups"
        ],
        "summary": "Changes a user group",
        "description": "Changes properties (e.g. the group name) of the user group with the\r\ngiven user group id.",
        "operationId": "UserGroups_PutGroup",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "groupId",
            "in": "path",
            "description": "The user group identifier.",
            "required": true,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "parameters",
            "in": "body",
            "description": "Parameters to change the group.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.UserGroups.UserGroupPutParameters"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "The request contained invalid parameters. For example, the user group\r\nname must not be empty."
          },
          "403": {
            "description": "Insufficient permissions to change the user group."
          },
          "404": {
            "description": "The user group with the given identifier cannot be found."
          },
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.UserGroups.UserGroupModel"
            }
          }
        }
      },
      "delete": {
        "tags": [
          "User Groups"
        ],
        "summary": "Removes a user group",
        "operationId": "UserGroups_DeleteGroup",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "groupId",
            "in": "path",
            "description": "User group identifier.",
            "required": true,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "403": {
            "description": "Insufficient permissions to remove the user group."
          },
          "404": {
            "description": "The user group with the given identifier cannot be found."
          },
          "204": {
            "description": "NoContent"
          }
        }
      }
    },
    "/api/v1/usergroups/{groupId}/members": {
      "get": {
        "tags": [
          "User Groups"
        ],
        "summary": "Returns members of a user group",
        "description": "Retrieves a list of all members of the user group with the given\r\nidentifier. The results are paged.",
        "operationId": "UserGroups_ListGroupMembers",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "groupId",
            "in": "path",
            "description": "The user group identifier",
            "required": true,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "paginationToken",
            "in": "query",
            "description": "Used for pagination. To fetch the next batch of result items,\r\nprovide the value received as \"nextPaginationToken\" from the\r\nprevious call.\r\nWill fetch the first page if not given.",
            "required": false,
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Optionally limit the number of items returned per page.\r\nIf not given, the default page size is used.",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "403": {
            "description": "Insufficient permissions to list user group members."
          },
          "404": {
            "description": "The user group with the given identifier cannot be found."
          },
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ListResponse`1[[TeamViewer.Role.Web.Api.Models.UserGroups.UserGroupMemberModel, TeamViewer.Role.Web.Api, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]"
            }
          }
        }
      },
      "post": {
        "tags": [
          "User Groups"
        ],
        "summary": "Adds users to a user group",
        "description": "Adds the given account ids (user ids) as members to the user group with the given\r\nuser group id.",
        "operationId": "UserGroups_PostGroupMembers",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "groupId",
            "in": "path",
            "description": "The user group identifier",
            "required": true,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "accountIds",
            "in": "body",
            "description": "List of account identifiers to add to the user group.\r\nMust be given as JSON formatted array.",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "format": "int32",
                "type": "integer"
              }
            }
          }
        ],
        "responses": {
          "400": {
            "description": "The given account must be member of the company that is associated\r\nwith the API token."
          },
          "403": {
            "description": "Insufficient permissions to add user group members."
          },
          "404": {
            "description": "The user group with the given identifier cannot be found."
          },
          "201": {
            "description": "Created",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.UserGroups.UserGroupMemberModel"
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "User Groups"
        ],
        "summary": "Removes accounts from a user group",
        "description": "Removes the given member account ids (users) from the user group with the\r\ngiven user group id.",
        "operationId": "UserGroups_DeleteGroupMembers",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "groupId",
            "in": "path",
            "description": "The user group identifier",
            "required": true,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "accountIds",
            "in": "body",
            "description": "List of account identifiers to remove from the user group.\r\nMust be given as JSON formatted array.",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "format": "int32",
                "type": "integer"
              }
            }
          }
        ],
        "responses": {
          "403": {
            "description": "Insufficient permissions to remove user group members."
          },
          "404": {
            "description": "The user group with the given identifier cannot be found."
          },
          "204": {
            "description": "NoContent"
          }
        }
      }
    },
    "/api/v1/usergroups/{groupId}/members/{accountId}": {
      "delete": {
        "tags": [
          "User Groups"
        ],
        "summary": "Removes a user from a user group",
        "operationId": "UserGroups_DeleteGroupMember",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "groupId",
            "in": "path",
            "description": "The user group identifier",
            "required": true,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "accountId",
            "in": "path",
            "description": "The account to remove from the group",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "403": {
            "description": "Insufficient permissions to remove user group members."
          },
          "404": {
            "description": "The user group with the given identifier cannot be found."
          },
          "204": {
            "description": "NoContent"
          }
        }
      }
    },
    "/api/v1/usergroups/{groupId}/userroles": {
      "get": {
        "tags": [
          "User Groups"
        ],
        "summary": "Returns user group's assigned role",
        "description": "Returns the assigned role id of the user group or null. Role definitions can be retrieved from the user role APIs.",
        "operationId": "UserGroups_GetUserGroupsAssignedUserRole",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "groupId",
            "in": "path",
            "description": "The user group identifier",
            "required": true,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.UserGroups.GetUserGroupsAssignedUserRoleResponse"
            }
          }
        }
      }
    },
    "/api/v1/users/{uid}/groups/{gid}": {
      "get": {
        "tags": [
          "User Management"
        ],
        "summary": "Returns group by groupId and userId",
        "operationId": "Groups_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "gid",
            "in": "path",
            "description": "GroupId of group",
            "required": true,
            "type": "string"
          },
          {
            "name": "uid",
            "in": "path",
            "description": "UserId of user",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetGroupResponse"
            }
          }
        }
      },
      "put": {
        "tags": [
          "User Management"
        ],
        "summary": "Changes group name with groupId and userId",
        "operationId": "Groups_Put",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [],
        "parameters": [
          {
            "name": "gid",
            "in": "path",
            "description": "GroupId of group",
            "required": true,
            "type": "string"
          },
          {
            "name": "uid",
            "in": "path",
            "description": "UserId of user",
            "required": true,
            "type": "string"
          },
          {
            "name": "properties",
            "in": "body",
            "description": "Group update model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GroupsPutParameters"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/System.Void"
            }
          }
        }
      },
      "delete": {
        "tags": [
          "User Management"
        ],
        "summary": "Deletes a group",
        "operationId": "Groups_Delete",
        "consumes": [],
        "produces": [],
        "parameters": [
          {
            "name": "gid",
            "in": "path",
            "description": "GroupId of group",
            "required": true,
            "type": "string"
          },
          {
            "name": "uid",
            "in": "path",
            "description": "UserId of user",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/System.Void"
            }
          }
        }
      }
    },
    "/api/v1/users/{uid}/groups": {
      "get": {
        "tags": [
          "User Management"
        ],
        "summary": "Returns groups by filter criteria including userId",
        "operationId": "Groups_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "uid",
            "in": "path",
            "description": "UserId of user",
            "required": true,
            "type": "string"
          },
          {
            "name": "name",
            "in": "query",
            "description": "Group name text to search",
            "required": false,
            "type": "string"
          },
          {
            "name": "shared",
            "in": "query",
            "description": "Is group shared or not",
            "required": false,
            "type": "boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetAllGroupsResponse"
            }
          }
        }
      },
      "post": {
        "tags": [
          "User Management"
        ],
        "summary": "Creates a group with userId",
        "operationId": "Groups_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "properties",
            "in": "body",
            "description": "Group parameter model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GroupsPostParameters"
            }
          },
          {
            "name": "uid",
            "in": "path",
            "description": "UserId of user",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetGroupResponse"
            }
          }
        }
      }
    },
    "/api/v1/users/{uid}/groups/{gid}/share_group": {
      "post": {
        "tags": [
          "User Management"
        ],
        "summary": "Shares group with userId and groupId to users",
        "operationId": "Groups_Share_Group",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [],
        "parameters": [
          {
            "name": "users",
            "in": "body",
            "description": "Group share parameter model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GroupsShareParameters"
            }
          },
          {
            "name": "uid",
            "in": "path",
            "description": "UserId of user",
            "required": true,
            "type": "string"
          },
          {
            "name": "gid",
            "in": "path",
            "description": "GroupId of group",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/System.Void"
            }
          }
        }
      }
    },
    "/api/v1/users/{uid}/groups/{gid}/unshare_group": {
      "post": {
        "tags": [
          "User Management"
        ],
        "summary": "Removal of group sharing from users by userId and groupId",
        "operationId": "Groups_Unshare_Group",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [],
        "parameters": [
          {
            "name": "users",
            "in": "body",
            "description": "Group share removal parameter model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GroupsUnshareParameters"
            }
          },
          {
            "name": "uid",
            "in": "path",
            "description": "UserId of user",
            "required": true,
            "type": "string"
          },
          {
            "name": "gid",
            "in": "path",
            "description": "GroupId of group",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/System.Void"
            }
          }
        }
      }
    },
    "/api/v1/users": {
      "get": {
        "tags": [
          "User Management"
        ],
        "summary": "Returns users with filter criteria",
        "description": "The permissions field in the request/response is deprecated. Please use user role permissions.",
        "operationId": "Users_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "email",
            "in": "query",
            "description": "User email",
            "required": false,
            "type": "string"
          },
          {
            "name": "name",
            "in": "query",
            "description": "User display name",
            "required": false,
            "type": "string"
          },
          {
            "name": "permissions",
            "in": "query",
            "description": "Comma separated access rights. Please use user role APIs for user's rights",
            "required": false,
            "type": "string"
          },
          {
            "name": "full_list",
            "in": "query",
            "description": "Is detailed user information needed",
            "required": false,
            "type": "boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetAllUsersResponse"
            }
          }
        }
      },
      "post": {
        "tags": [
          "User Management"
        ],
        "summary": "Creates a user",
        "description": "The permissions field in the request/response model, is deprecated. Please use the userRoleId parameter or predefined role definition for role assignment after user creation.\r\nIf a predefined role definition exists and should to be ignored, then set ignorePredefinedRole to true.",
        "operationId": "Users_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "parameters",
            "in": "body",
            "description": "User model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.UsersPostParameters"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetUserResponse"
            }
          }
        }
      },
      "delete": {
        "tags": [
          "User Management"
        ],
        "summary": "[OBSOLETE] Deletes the company of the user",
        "description": "Deletes the company of account (user) that is associated with the used API token. This account should be the last user with admin rights at the company.\r\n\r\nDeprecated: Use <a href=\"#/Company%20Management/Company_DeleteCompany\">/company/delete</a> from 'Company Management' instead.",
        "operationId": "Users_DeleteCompany",
        "consumes": [],
        "produces": [],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/System.Void"
            }
          }
        },
        "deprecated": true
      }
    },
    "/api/v1/users/{id}": {
      "get": {
        "tags": [
          "User Management"
        ],
        "summary": "Returns a user",
        "description": "The permission field in the request/response is deprecated. Please use user role permissions.",
        "operationId": "Users_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "User Identifier (UserId should start with u char)",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetUserResponse"
            }
          }
        }
      },
      "put": {
        "tags": [
          "User Management"
        ],
        "summary": "Updates a user",
        "description": "The permission field in the request is deprecated. Please use user role permissions.",
        "operationId": "Users_Put",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "User Identifier (UserId should start with u char)",
            "required": true,
            "type": "string"
          },
          {
            "name": "parameters",
            "in": "body",
            "description": "User model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.UsersPutParameters"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/System.Void"
            }
          }
        }
      },
      "delete": {
        "tags": [
          "User Management"
        ],
        "summary": "Deletes the user",
        "description": "The isPermanentDelete parameter should be set true to permanently delete user. It can be left empty or set false to remove user from the company.",
        "operationId": "Users_DeleteUser",
        "consumes": [],
        "produces": [],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "User Identifier (UserId should start with u char)",
            "required": true,
            "type": "string"
          },
          {
            "name": "isPermanentDelete",
            "in": "query",
            "description": "Set to true if you wish to delete user permanently",
            "required": false,
            "type": "boolean"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/System.Void"
            }
          }
        }
      }
    },
    "/api/v1/users/{id}/tfa": {
      "delete": {
        "tags": [
          "User Management"
        ],
        "summary": "Deactivates user's (account's) two-factor authentication",
        "operationId": "Users_DeactivateTFA",
        "consumes": [],
        "produces": [],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "User Identifier (UserId should start with u char)",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/System.Void"
            }
          }
        }
      }
    },
    "/api/v1/users/effectivepermissions": {
      "get": {
        "tags": [
          "User Management"
        ],
        "summary": "Returns the user's consolidated permissions from assigned roles",
        "description": "Returns the consolidated permissions of the user that is associated with the used API token.",
        "operationId": "Users_GetUserEffectivePermissions",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/System.Void"
            }
          }
        }
      }
    },
    "/api/v1/users/{id}/userroles": {
      "get": {
        "tags": [
          "User Management"
        ],
        "summary": "Returns the roles assigned to the user",
        "operationId": "Users_GetUsersAssignedUserRoles",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "User Identifier (UserId should start with u char)",
            "required": true,
            "type": "string"
          },
          {
            "name": "paginationToken",
            "in": "query",
            "description": "Parameter token to continue listing after first page",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.UserRoles.GetUsersAssignedUserRolesResponse"
            }
          }
        }
      }
    },
    "/api/v1/users/respondtojointocompanyrequest": {
      "post": {
        "tags": [
          "User Management"
        ],
        "summary": "Approves or rejects the user's request to join the company",
        "operationId": "Users_RespondToJoinToCompanyRequest",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "respondToJoinCompanyRequest",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.JoinCompanyRequest.RespondToJoinCompanyRequestRequestModel"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "NoContent",
            "schema": {
              "$ref": "#/definitions/System.Void"
            }
          },
          "400": {
            "description": "The request has invalid parameter. (E.g: The userId parameter is not in the correct format)."
          },
          "403": {
            "description": "Insufficient permissions to perform operation."
          },
          "500": {
            "description": "Unexpected error occured. (E.g: The user's status is not pending for joining the company.)"
          }
        }
      }
    },
    "/api/v1/userroles": {
      "get": {
        "tags": [
          "User Roles"
        ],
        "summary": "Returns user roles",
        "operationId": "UserRoles_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.UserRoles.GetUserRolesResponse"
            }
          }
        }
      },
      "put": {
        "tags": [
          "User Roles"
        ],
        "summary": "Updates a user role",
        "operationId": "UserRoles_Put",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "description": "UseroleId, name, permissions (Please check /userroles/permissions GET API)",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.UserRoles.ModifyUserRoleManagementRequest"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "NoContent",
            "schema": {
              "$ref": "#/definitions/System.Void"
            }
          }
        }
      },
      "post": {
        "tags": [
          "User Roles"
        ],
        "summary": "Creates a new user role",
        "operationId": "UserRoles_Post",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "description": "Name, permissions (Please check /userroles/permissions GET API)",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.UserRoles.StoreUserRoleManagementRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.UserRoles.UserRoleManagementResponse"
            }
          }
        }
      },
      "delete": {
        "tags": [
          "User Roles"
        ],
        "summary": "Deletes an existing user role",
        "operationId": "UserRoles_Delete",
        "consumes": [],
        "produces": [],
        "parameters": [
          {
            "name": "userRoleId",
            "in": "query",
            "description": "User role identifier",
            "required": true,
            "type": "string",
            "format": "uuid"
          }
        ],
        "responses": {
          "204": {
            "description": "NoContent",
            "schema": {
              "$ref": "#/definitions/System.Void"
            }
          }
        }
      }
    },
    "/api/v1/userroles/assignments/account": {
      "get": {
        "tags": [
          "User Roles"
        ],
        "summary": "Returns assigned user accounts of a user role",
        "operationId": "UserRoles_AccountAssignments",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "userRoleId",
            "in": "query",
            "description": "User role identifier",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "continuationToken",
            "in": "query",
            "description": "Parameter token to continue listing after first page",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.UserRoles.GetUserRoleAssignmentResponse"
            }
          }
        }
      }
    },
    "/api/v1/userroles/assignments/usergroups": {
      "get": {
        "tags": [
          "User Roles"
        ],
        "summary": "Returns assigned user groups of a user role",
        "operationId": "UserRoles_UserGroupAssignments",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "userRoleId",
            "in": "query",
            "description": "User role identifier",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "continuationToken",
            "in": "query",
            "description": "Parameter token to continue listing after first page",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.UserRoles.GetUserGroupAssignmentResponse"
            }
          }
        }
      }
    },
    "/api/v1/userroles/assign/account": {
      "post": {
        "tags": [
          "User Roles"
        ],
        "summary": "Assigns a user role to user accounts",
        "operationId": "UserRoles_ToAccount",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "description": "User role id and target user ids for the assignment",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.UserRoles.ModifyUserAssignmentRequest"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "NoContent",
            "schema": {
              "$ref": "#/definitions/System.Void"
            }
          }
        }
      }
    },
    "/api/v1/userroles/unassign/account": {
      "post": {
        "tags": [
          "User Roles"
        ],
        "summary": "Removes a user role assignment from user accounts",
        "operationId": "UserRoles_FromAccount",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "description": "User role id and the user ids for assignment removal",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.UserRoles.ModifyUserAssignmentRequest"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "NoContent",
            "schema": {
              "$ref": "#/definitions/System.Void"
            }
          }
        }
      }
    },
    "/api/v1/userroles/assign/usergroup": {
      "post": {
        "tags": [
          "User Roles"
        ],
        "summary": "Assigns a user role to a user group",
        "operationId": "UserRoles_ToUserGroup",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "description": "User role id and the user group id for assignment",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.UserRoles.ModifyUserGroupAssignmentRequest"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "NoContent",
            "schema": {
              "$ref": "#/definitions/System.Void"
            }
          }
        }
      }
    },
    "/api/v1/userroles/unassign/usergroup": {
      "post": {
        "tags": [
          "User Roles"
        ],
        "summary": "Removes the user role assignment of a user group",
        "operationId": "UserRoles_FromUserGroup",
        "consumes": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "description": "User role id and the user group id for assignment removal",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.UserRoles.UnassignUserGroupAssignmentRequest"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "NoContent",
            "schema": {
              "$ref": "#/definitions/System.Void"
            }
          }
        }
      }
    },
    "/api/v1/userroles/predefined": {
      "get": {
        "tags": [
          "User Roles"
        ],
        "summary": "Returns predefined user role",
        "description": "If no predefined role definition exists, returns null.",
        "operationId": "UserRoles_GetPredefinedUserRole",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.UserRoles.GetUserRolePredefinedResponse"
            }
          }
        }
      },
      "delete": {
        "tags": [
          "User Roles"
        ],
        "summary": "Clears the predefined role",
        "operationId": "UserRoles_ClearPredefinedUserRole",
        "consumes": [],
        "produces": [],
        "responses": {
          "204": {
            "description": "NoContent",
            "schema": {
              "$ref": "#/definitions/System.Void"
            }
          }
        }
      }
    },
    "/api/v1/userroles/{userRoleId}/predefined": {
      "put": {
        "tags": [
          "User Roles"
        ],
        "summary": "Sets the predefined role",
        "description": "An existing predefined role id will be replaced with new predefined role id.",
        "operationId": "UserRoles_SetPredefinedUserRole",
        "consumes": [],
        "produces": [],
        "parameters": [
          {
            "name": "userRoleId",
            "in": "path",
            "description": "User role ID",
            "required": true,
            "type": "string",
            "format": "uuid"
          }
        ],
        "responses": {
          "204": {
            "description": "NoContent",
            "schema": {
              "$ref": "#/definitions/System.Void"
            }
          }
        }
      }
    },
    "/api/v1/userroles/permissions": {
      "get": {
        "tags": [
          "User Roles"
        ],
        "summary": "Returns the permission definitions of a role",
        "description": "These permission definitions can be used for the permissions parameter of /userroles PUT and POST APIs.",
        "operationId": "UserRoles_GetRolePermissionDefinitions",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/scim+json",
          "application/xml",
          "text/xml"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        }
      }
    }
  },
  "definitions": {
    "TeamViewer.Role.Web.Api.Models.GetAccountResponse": {
      "type": "object",
      "properties": {
        "userid": {
          "type": "string"
        },
        "email": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "company_name": {
          "type": "string"
        },
        "permissions": {
          "description": "Warning: deprecated field. Please use user role permissions",
          "type": "string"
        },
        "profilepicture_url": {
          "type": "string"
        },
        "license": {
          "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ApiLicenseInfo"
        },
        "email_validated": {
          "type": "boolean"
        },
        "email_language": {
          "type": "string"
        },
        "available_licenses": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ApiLicenseInfoBase"
          }
        },
        "custom_field_has_paid_license": {
          "type": "string"
        },
        "social_login_identity_issuer": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ApiLicenseInfo": {
      "type": "object",
      "properties": {
        "license_type": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            11,
            12,
            13,
            14,
            15,
            16,
            17,
            18,
            19,
            20,
            21,
            22,
            23,
            24,
            25,
            26,
            27,
            28,
            29,
            30,
            31,
            32,
            33,
            34
          ],
          "type": "integer"
        },
        "version": {
          "format": "int32",
          "type": "integer"
        },
        "type": {
          "type": "string"
        },
        "details": {
          "type": "string"
        },
        "teamViewerLicenseId": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "isactive": {
          "type": "boolean"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ApiLicenseInfoBase": {
      "type": "object",
      "properties": {
        "license_type": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            11,
            12,
            13,
            14,
            15,
            16,
            17,
            18,
            19,
            20,
            21,
            22,
            23,
            24,
            25,
            26,
            27,
            28,
            29,
            30,
            31,
            32,
            33,
            34
          ],
          "type": "integer"
        },
        "type": {
          "type": "string"
        },
        "details": {
          "type": "string"
        },
        "teamViewerLicenseId": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "isactive": {
          "type": "boolean"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.AccountPostParameters": {
      "required": [
        "email",
        "name",
        "password",
        "language",
        "client_id"
      ],
      "type": "object",
      "properties": {
        "email": {
          "maxLength": 100,
          "minLength": 6,
          "pattern": "^[a-zA-Z0-9_-]+([='-+.][a-zA-Z0-9_-]+)*@(?!((rppkn|nwldx)\\.com|bobmail\\.info|asdasd\\.ru)$)([a-zA-Z0-9](-?[a-zA-Z0-9])*\\.)+[a-zA-Z]{2,}$",
          "type": "string"
        },
        "name": {
          "maxLength": 50,
          "minLength": 5,
          "type": "string"
        },
        "password": {
          "maxLength": 2147483647,
          "minLength": 6,
          "type": "string"
        },
        "language": {
          "type": "string"
        },
        "client_id": {
          "type": "string"
        },
        "client_secret": {
          "type": "string"
        },
        "created_from": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            11,
            12,
            13,
            14,
            15,
            16,
            17,
            18,
            19,
            20,
            25,
            26,
            27
          ],
          "type": "integer"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.AccountPutParameters": {
      "type": "object",
      "properties": {
        "email": {
          "maxLength": 100,
          "minLength": 6,
          "pattern": "^[a-zA-Z0-9_-]+([='-+.][a-zA-Z0-9_-]+)*@(?!((rppkn|nwldx)\\.com|bobmail\\.info|asdasd\\.ru)$)([a-zA-Z0-9](-?[a-zA-Z0-9])*\\.)+[a-zA-Z]{2,}$",
          "type": "string"
        },
        "password": {
          "maxLength": 2147483647,
          "minLength": 6,
          "type": "string"
        },
        "oldpassword": {
          "type": "string"
        },
        "name": {
          "maxLength": 50,
          "minLength": 5,
          "type": "string"
        },
        "email_language": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.TenantIdListResponse": {
      "type": "object",
      "properties": {
        "TenantIds": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "TeamViewer.Module.Account.DataTypes.IoTAccountPreferencesModel.IoTAccountPreferences": {
      "type": "object",
      "properties": {
        "acceptedMapSecurity": {
          "type": "string"
        },
        "agentUpdateTokenRemoval": {
          "type": "boolean"
        },
        "userLanguage": {
          "type": "string"
        },
        "lastSelectedDashboardId": {
          "type": "string"
        },
        "inventoryView": {
          "type": "string"
        },
        "deviceView": {
          "type": "string"
        },
        "metricView": {
          "type": "string"
        },
        "understoodSystemUpdateRisk": {
          "type": "string"
        },
        "remoteConfigurationEnable": {
          "type": "boolean"
        },
        "apiVersionChange": {
          "type": "boolean"
        },
        "configLossAlert": {
          "type": "boolean"
        },
        "firstStepsPopupDismissed": {
          "type": "boolean"
        },
        "managedDeviceV2Enabled": {
          "type": "boolean"
        },
        "systemUpdateEnable": {
          "type": "boolean"
        },
        "advancedRuleEnable": {
          "type": "boolean"
        },
        "showIoTDevices": {
          "type": "boolean"
        },
        "barChartEnabled": {
          "type": "boolean"
        },
        "showMyManagedDevices": {
          "type": "boolean"
        },
        "dashboardMigrated": {
          "type": "boolean"
        },
        "permanentAccessToken": {
          "type": "string"
        }
      }
    },
    "Commons.Web.Api.Response.GenericApiResponse`1[[TeamViewer.Role.Web.Api.Models.GetLicenseResponse, TeamViewer.Role.Web.Api, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]": {
      "type": "object",
      "properties": {
        "IsSuccess": {
          "type": "boolean"
        },
        "Error": {
          "$ref": "#/definitions/Commons.Web.Api.Response.GenericApiResponse+ErrorMessage"
        },
        "Data": {
          "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetLicenseResponse"
        }
      }
    },
    "Commons.Web.Api.Response.GenericApiResponse+ErrorMessage": {
      "type": "object",
      "properties": {
        "Message": {
          "type": "string"
        },
        "ExceptionName": {
          "type": "string"
        },
        "Exception": {
          "type": "string"
        },
        "ValidationErrors": {
          "type": "object",
          "additionalProperties": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.GetLicenseResponse": {
      "type": "object",
      "properties": {
        "licenseId": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "hasLicense": {
          "type": "boolean"
        },
        "licenseState": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4
          ],
          "type": "integer"
        },
        "validUntil": {
          "type": "string"
        },
        "totalEndpoints": {
          "format": "int32",
          "type": "integer"
        },
        "licenseFeatures": {
          "$ref": "#/definitions/Core.Utils.FlagsSet`1[[TeamViewer.AsioWrapper.LicenseFeatures, AsioWrapper.NetFx, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]"
        },
        "accountId": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "Core.Utils.FlagsSet`1[[TeamViewer.AsioWrapper.LicenseFeatures, AsioWrapper.NetFx, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]": {
      "type": "object",
      "properties": {
        "bitArray": {
          "type": "array",
          "items": {
            "type": "object"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.GetFreshdeskAccountResponse": {
      "type": "object",
      "properties": {
        "userid": {
          "type": "string"
        },
        "email": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "custom_field_has_paid_license": {
          "type": "string"
        },
        "custom_field_licenseid": {
          "type": "string"
        },
        "custom_field_licensetype": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.LoginLinkResponse": {
      "type": "object",
      "properties": {
        "loginlink": {
          "type": "string"
        },
        "logintokenid": {
          "format": "int32",
          "type": "integer"
        },
        "logintoken": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.AccountConfirmEmailParameters": {
      "required": [
        "client_id",
        "confirmation_token"
      ],
      "type": "object",
      "properties": {
        "client_id": {
          "type": "string"
        },
        "confirmation_token": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.AccountResetPasswordParameters": {
      "required": [
        "client_id"
      ],
      "type": "object",
      "properties": {
        "email": {
          "type": "string"
        },
        "password": {
          "maxLength": 2147483647,
          "minLength": 6,
          "type": "string"
        },
        "reset_token": {
          "type": "string"
        },
        "client_id": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.GetWebClientLoginTokenResponse": {
      "type": "object",
      "properties": {
        "TokenKey": {
          "type": "string"
        },
        "TokenSecret": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.Chat.GetAllChatRoomsResponse": {
      "type": "object",
      "properties": {
        "rooms": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.Chat.GetChatRoomResponse"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.Chat.GetChatRoomResponse": {
      "type": "object",
      "properties": {
        "room_id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "members": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.Chat.GetChatEndpointResponse"
          }
        },
        "has_unread_messages": {
          "type": "boolean"
        },
        "last_message": {
          "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.Chat.GetChatMessageResponse"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.Chat.GetChatEndpointResponse": {
      "type": "object",
      "properties": {
        "endpoint_id": {
          "type": "string"
        },
        "alias": {
          "type": "string"
        },
        "profile_picture": {
          "type": "string"
        },
        "is_myself": {
          "type": "boolean"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.Chat.GetChatMessageResponse": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "room_id": {
          "type": "string"
        },
        "text": {
          "type": "string"
        },
        "sender": {
          "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.Chat.GetChatEndpointResponse"
        },
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "is_new": {
          "type": "boolean"
        },
        "is_own": {
          "type": "boolean"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.Chat.GetChatMessagesResponse": {
      "type": "object",
      "properties": {
        "messages": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.Chat.GetChatMessageResponse"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.Chat.MarkMessagesAsReadParameters": {
      "type": "object",
      "properties": {
        "message_ids": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.Chat.SendMessageParameters": {
      "type": "object",
      "properties": {
        "text": {
          "maxLength": 5000,
          "minLength": 1,
          "type": "string"
        },
        "room_id": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.CompanyAddressBook.CompanyAddressBookModel": {
      "description": "Model of a company's address book",
      "type": "object",
      "properties": {
        "state": {
          "description": "Activation state of a company's address book. When true it is active, inactive otherwise.",
          "type": "boolean"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.CompanyAddressBook.CompanyAddressBookPutParameters": {
      "description": "Parameters for changing the activation state of a company's address book.",
      "type": "object",
      "properties": {
        "state": {
          "description": "Activation state of a company's address book. When true it is active, inactive otherwise.",
          "type": "boolean"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ListResponse`1[[TeamViewer.Role.Web.Api.Models.CompanyAddressBook.CompanyAddressBookHiddenMemberModel, TeamViewer.Role.Web.Api, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]": {
      "description": "Generic paged list response",
      "type": "object",
      "properties": {
        "currentPaginationToken": {
          "description": "The pagination token used to display the current page of resources.\r\nIf null, this is the first page.",
          "type": "string"
        },
        "nextPaginationToken": {
          "description": "The pagination token that can be used to fetch the next page of\r\nresources. If null, this is the last page.",
          "type": "string"
        },
        "resources": {
          "description": "Items of the current page.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.CompanyAddressBook.CompanyAddressBookHiddenMemberModel"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.CompanyAddressBook.CompanyAddressBookHiddenMemberModel": {
      "description": "A hidden member of a company's address book",
      "type": "object",
      "properties": {
        "accountId": {
          "format": "int32",
          "description": "Account identifier of the company member.",
          "type": "integer"
        },
        "name": {
          "description": "Either display or login name of the corresponding TeamViewer account.",
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.Company.CompanyResponse": {
      "description": "Model of the company's data",
      "type": "object",
      "properties": {
        "companyId": {
          "format": "int32",
          "description": "The id of the company.",
          "type": "integer"
        },
        "companyName": {
          "description": "The name of the company.",
          "type": "string"
        }
      }
    },
    "System.Void": {
      "type": "object",
      "properties": {}
    },
    "TeamViewer.Role.Web.Api.Models.Company.UpdateCompanyRequest": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.Company.CompanyLicenseDetails": {
      "type": "object",
      "properties": {
        "available_licenses": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.License.LicenseInfo"
          }
        },
        "companyId": {
          "format": "int32",
          "description": "The id of the company.",
          "type": "integer"
        },
        "companyName": {
          "description": "The name of the company.",
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.License.LicenseInfo": {
      "type": "object",
      "properties": {
        "licenseName": {
          "type": "string"
        },
        "version": {
          "format": "int32",
          "type": "integer"
        },
        "type": {
          "type": "string"
        },
        "licenseId": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "isActive": {
          "type": "boolean"
        },
        "aiCredits": {
          "format": "int32",
          "type": "integer"
        },
        "managedDevices": {
          "format": "int32",
          "type": "integer"
        },
        "assignedUsers": {
          "format": "int32",
          "type": "integer"
        },
        "displayName": {
          "type": "string"
        },
        "details": {
          "type": "string"
        },
        "numberOfChannels": {
          "format": "int32",
          "type": "integer"
        },
        "maxAssignments": {
          "format": "int32",
          "type": "integer"
        },
        "totalTechnicians": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.GetContactsParameters": {
      "description": "Query filter parameters for the contacts list. All fields are optional and can be combined.",
      "type": "object",
      "properties": {
        "name": {
          "description": "Filter by name. Case-insensitive partial match (e.g., \"John\" matches \"John Smith\").",
          "type": "string"
        },
        "online_state": {
          "format": "int32",
          "description": "Filter contacts by online status (optional). Available values: 0 = Online, 1 = Busy, 2 = Away, 3 = Unknown, 4 = Offline",
          "enum": [
            0,
            1,
            2,
            3,
            4
          ],
          "type": "integer"
        },
        "email": {
          "description": "Filter by email address. Multiple addresses can be separated by comma or space.",
          "type": "string"
        },
        "groupid": {
          "description": "Filter by group ID (g-prefixed, e.g., 'g1000'). Returns only contacts in the specified group.",
          "type": "string"
        },
        "include_invitations": {
          "description": "When true, includes pending invitations (invited contacts who have not yet created their account) in the response. Default: false.",
          "type": "boolean"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.GetAllContactsResponse": {
      "description": "Response containing a list of contacts and optionally pending invitations.",
      "type": "object",
      "properties": {
        "contacts": {
          "description": "List of contacts. Empty if no contacts exist or no matches found for the applied filters.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetContactResponse"
          }
        },
        "invitations": {
          "description": "Pending invitations sent to non-existing accounts. Included when include_invitations=true or filtering by email.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.AccountInvitationResponse"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.GetContactResponse": {
      "description": "Represents a single contact in the buddy list.",
      "type": "object",
      "properties": {
        "contact_id": {
          "description": "Unique contact identifier (c-prefixed, e.g., 'c1000').",
          "type": "string"
        },
        "user_id": {
          "description": "TeamViewer user account ID associated with this contact (u-prefixed, e.g., 'u5000').",
          "type": "string"
        },
        "name": {
          "description": "Display name shown in the buddy list. May be a custom name or the account's display name.",
          "type": "string"
        },
        "groupid": {
          "description": "Group this contact belongs to (g-prefixed, e.g., 'g1000').",
          "type": "string"
        },
        "description": {
          "description": "User-provided notes or description about the contact.",
          "type": "string"
        },
        "online_state": {
          "format": "int32",
          "description": "Current online status of the contact. Available values: 0 = Online, 1 = Busy, 2 = Away, 3 = Unknown, 4 = Offline",
          "enum": [
            0,
            1,
            2,
            3,
            4
          ],
          "type": "integer"
        },
        "email": {
          "description": "Email address associated with the contact's TeamViewer account.",
          "type": "string"
        },
        "profilepicture_url": {
          "description": "Public URL of the contact's profile picture. Empty if not set.",
          "type": "string"
        },
        "supported_features": {
          "description": "Comma-separated list of features supported by this contact's account.",
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.AccountInvitationResponse": {
      "description": "Represents a pending invitation sent to an email address that does not yet have a TeamViewer account.",
      "type": "object",
      "properties": {
        "groupid": {
          "description": "Group ID the invited contact will belong to after the invitation is accepted (g-prefixed, e.g., 'g1000').",
          "type": "string"
        },
        "email": {
          "description": "Email address the invitation was sent to.",
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ContactsPostParameters": {
      "description": "Request parameters for creating a new contact.",
      "type": "object",
      "properties": {
        "email": {
          "description": "Email address of the contact (required). If no account exists, set invite=true to send an invitation.",
          "type": "string"
        },
        "name": {
          "description": "Display name for the contact (optional, 5-50 characters). Defaults to the account name if not provided.",
          "maxLength": 50,
          "minLength": 5,
          "type": "string"
        },
        "groupid": {
          "description": "Group ID to add the contact to (g-prefixed, e.g., 'g1000'). Either groupid or groupname is required.",
          "type": "string"
        },
        "description": {
          "description": "Optional notes or description for the contact.",
          "type": "string"
        },
        "invite": {
          "description": "When true and the account doesn't exist, sends an invitation email and creates a pending contact. Default: false.",
          "type": "boolean"
        },
        "groupname": {
          "description": "Group name to add the contact to. Created automatically if it doesn't exist. Either groupname or groupid is required.",
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.SoftwareConfiguration.DeviceData": {
      "type": "object",
      "properties": {
        "result_code": {
          "format": "int32",
          "enum": [
            0,
            1
          ],
          "type": "integer"
        },
        "device_information": {
          "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.SoftwareConfiguration.DeviceInformation"
        },
        "installed_products": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.SoftwareConfiguration.SoftwareStatusInfo"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.SoftwareConfiguration.DeviceInformation": {
      "type": "object",
      "properties": {
        "platform": {
          "type": "string"
        },
        "platform_flavour": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.SoftwareConfiguration.SoftwareStatusInfo": {
      "type": "object",
      "properties": {
        "product_id": {
          "type": "string"
        },
        "version": {
          "type": "string"
        },
        "package_format": {
          "type": "string"
        },
        "update_code": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "update_version": {
          "type": "string"
        },
        "product_class": {
          "format": "int32",
          "enum": [
            0,
            1
          ],
          "type": "integer"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.SoftwareConfiguration.StateResult": {
      "type": "object",
      "properties": {
        "teamviewer_id": {
          "format": "int64",
          "type": "integer"
        },
        "result_code": {
          "format": "int32",
          "enum": [
            0,
            1,
            400
          ],
          "type": "integer"
        },
        "status": {
          "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.SoftwareConfiguration.State"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.SoftwareConfiguration.State": {
      "type": "object",
      "properties": {
        "stage_code": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "state_code": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "version_from": {
          "type": "string"
        },
        "version_to": {
          "type": "string"
        },
        "software_configuration_id": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "software_configuration_version": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.GetDevicesParameters": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "online_state": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4
          ],
          "type": "integer"
        },
        "groupid": {
          "type": "string"
        },
        "remotecontrol_id": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.GetAllDevicesResponse": {
      "type": "object",
      "properties": {
        "devices": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetDeviceResponse"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.GetDeviceResponse": {
      "type": "object",
      "properties": {
        "remotecontrol_id": {
          "type": "string"
        },
        "device_id": {
          "type": "string"
        },
        "userid": {
          "type": "string"
        },
        "alias": {
          "type": "string"
        },
        "groupid": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "online_state": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4
          ],
          "type": "integer"
        },
        "policy_id": {
          "type": "string"
        },
        "assigned_to": {
          "type": "boolean"
        },
        "supported_features": {
          "type": "string"
        },
        "last_seen": {
          "format": "date-time",
          "type": "string"
        },
        "teamviewer_id": {
          "format": "int64",
          "type": "integer"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.DevicesPostParameters": {
      "type": "object",
      "properties": {
        "alias": {
          "maxLength": 50,
          "minLength": 0,
          "type": "string"
        },
        "groupid": {
          "type": "string"
        },
        "remotecontrol_id": {
          "type": "string"
        },
        "description": {
          "maxLength": 2048,
          "minLength": 0,
          "type": "string"
        },
        "password": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.DevicesPutParameters": {
      "type": "object",
      "properties": {
        "alias": {
          "maxLength": 50,
          "minLength": 0,
          "type": "string"
        },
        "groupid": {
          "type": "string"
        },
        "description": {
          "maxLength": 2048,
          "minLength": 0,
          "type": "string"
        },
        "password": {
          "type": "string"
        },
        "policy_id": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Controllers.DevicesController+AssignParams": {
      "required": [
        "device_id",
        "current_device_password"
      ],
      "type": "object",
      "properties": {
        "device_id": {
          "type": "string"
        },
        "current_device_password": {
          "type": "string"
        },
        "enable_easy_access": {
          "description": "OPTIONAL; default - false",
          "type": "boolean"
        },
        "assign_mode": {
          "description": "OPTIONAL for Corporate or Tensor Family License (default - \"normal\"); REQUIRED for IoT (allowed value - \"easyrollout\");",
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.GetTypesOfDevicesParameters": {
      "type": "object",
      "properties": {
        "ids": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "continuationToken": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.GetTypesOfDevicesResponse": {
      "type": "object",
      "properties": {
        "devices": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetDeviceTypeResponse"
          }
        },
        "continuationToken": {
          "format": "byte",
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.GetDeviceTypeResponse": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "typeName": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.DeviceSensorsResponse": {
      "type": "object",
      "properties": {
        "sensors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.SensorDataResponse"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.SensorDataResponse": {
      "required": [
        "name"
      ],
      "type": "object",
      "properties": {
        "name": {
          "maxLength": 50,
          "minLength": 1,
          "type": "string"
        },
        "datasourceId": {
          "maxLength": 36,
          "minLength": 1,
          "pattern": "[A-Za-z0-9-_ ]{1,36}",
          "type": "string"
        },
        "metrics": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.MetricDataResponse"
          }
        },
        "connectorId": {
          "type": "string"
        },
        "monitoringService": {
          "type": "string"
        },
        "frequency": {
          "format": "int32",
          "maximum": 2147483647,
          "minimum": 1,
          "type": "integer"
        },
        "plugin": {
          "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.SensorPluginResponse"
        },
        "sensorType": {
          "type": "object"
        },
        "scriptPath": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.MetricDataResponse": {
      "required": [
        "name",
        "metricId"
      ],
      "type": "object",
      "properties": {
        "name": {
          "maxLength": 50,
          "minLength": 1,
          "type": "string"
        },
        "metricId": {
          "maxLength": 32,
          "minLength": 1,
          "pattern": "[A-Za-z0-9-_ ]{1,36}",
          "type": "string"
        },
        "valueType": {
          "type": "string"
        },
        "valueAnnotation": {
          "type": "string"
        },
        "valueUnit": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.SensorPluginResponse": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "params": {
          "type": "object"
        },
        "source": {
          "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.SensorPluginSourceResponse"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.SensorPluginSourceResponse": {
      "description": "Contains an information of plugin type IoT sensors.",
      "type": "object",
      "properties": {
        "type": {
          "type": "string"
        },
        "target": {
          "description": "Script path to run",
          "type": "string"
        }
      }
    },
    "Commons.Web.Api.Response.GenericApiResponse": {
      "type": "object",
      "properties": {
        "IsSuccess": {
          "type": "boolean"
        },
        "Error": {
          "$ref": "#/definitions/Commons.Web.Api.Response.GenericApiResponse+ErrorMessage"
        }
      }
    },
    "TeamViewer.Module.IoTDataProvider.DataType.MonitoringSchedulerOfDevice": {
      "type": "object",
      "properties": {
        "deviceId": {
          "type": "string"
        },
        "supportsSensorSetupFromCloud": {
          "type": "boolean"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.AddOrUpdatePolicyParameters": {
      "type": "object",
      "properties": {
        "deviceId": {
          "type": "string"
        },
        "settings": {
          "type": "object"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.PolicyResponse": {
      "type": "object",
      "properties": {
        "policyId": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.SetRemoteConfigurationParameters": {
      "type": "object",
      "properties": {
        "deviceId": {
          "description": "The Device ID which remote configuration has to be set",
          "type": "string"
        },
        "isMonitoringSchedulerEnabled": {
          "description": "The monitoring scheduler data",
          "type": "boolean"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.GetAllDeviceReportsResponse": {
      "type": "object",
      "properties": {
        "records": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetDeviceReportResponse"
          }
        },
        "next_offset": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.GetDeviceReportResponse": {
      "type": "object",
      "properties": {
        "Id": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "originid": {
          "format": "int64",
          "type": "integer"
        },
        "userid": {
          "type": "string"
        },
        "targetid": {
          "format": "int64",
          "type": "integer"
        },
        "targetname": {
          "type": "string"
        },
        "start_date": {
          "type": "string"
        },
        "end_date": {
          "type": "string"
        },
        "username": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.GetSessionReportFeaturesResponse": {
      "type": "object",
      "properties": {
        "SessionReportFeatures": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetSessionReportFeaturesResponse+SessionReportFeatureResponse"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.GetSessionReportFeaturesResponse+SessionReportFeatureResponse": {
      "description": "Additional data that can be attached to a session report",
      "type": "object",
      "properties": {
        "SessionReportId": {
          "format": "uuid",
          "description": "The primary key for the session report entity, also called \"ParticipantSessionId\"",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "FeatureName": {
          "type": "string"
        },
        "FeatureId": {
          "type": "string"
        },
        "Data": {
          "format": "byte",
          "description": "Optional, serialized as base64 string in JSON",
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.GetSessionReportAiSummaryResponse": {
      "type": "object",
      "properties": {
        "Summary": {
          "description": "The AI-generated summary of what happened in the session report",
          "type": "string"
        },
        "Name": {
          "description": "A suitable title/name that was AI-generated for the report",
          "type": "string"
        },
        "IssueTypeLabels": {
          "description": "AI generated labels based on types of issues encountered during the session",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "ApplicationLabels": {
          "description": "AI generated labels based on which applications that were accessed during the session",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Steps": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Module.SessionReport.Feature.AiSummary.AiSummaryRetrievalService+AiSummaryResponse+Step"
          }
        }
      }
    },
    "TeamViewer.Module.SessionReport.Feature.AiSummary.AiSummaryRetrievalService+AiSummaryResponse+Step": {
      "type": "object",
      "properties": {
        "Application": {
          "type": "string"
        },
        "Action": {
          "type": "string"
        },
        "Commands": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.GetSessionReportChatTranscriptResponse": {
      "type": "object",
      "properties": {
        "Sender": {
          "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetSessionReportChatTranscriptParticipantResponse",
          "description": "Sender of the message."
        },
        "Recipients": {
          "description": "Recipients of the message.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetSessionReportChatTranscriptParticipantResponse"
          }
        },
        "WrittenAtTimestamp": {
          "format": "date-time",
          "description": "Time when the message was written.",
          "type": "string"
        },
        "IsOutgoing": {
          "description": "true if the message was sent (outgoing) or false if the message was received (incoming).",
          "type": "boolean"
        },
        "Content": {
          "description": "Content of the message",
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.GetSessionReportChatTranscriptParticipantResponse": {
      "type": "object",
      "properties": {
        "TeamViewerId": {
          "format": "int64",
          "description": "DyngateId of the participant",
          "type": "integer"
        },
        "Name": {
          "description": "account or device name of participant",
          "type": "string"
        }
      }
    },
    "TeamViewer.WebApi.Base.Models.SessionsPostParameters": {
      "type": "object",
      "properties": {
        "valid_until": {
          "type": "string"
        },
        "groupid": {
          "pattern": "^g\\d+$",
          "type": "string"
        },
        "customId": {
          "type": "string"
        },
        "groupname": {
          "type": "string"
        },
        "support_session_type": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "sms_invite_number": {
          "pattern": "^\\+?[\\d \\(\\)\\/\\-]+$",
          "type": "string"
        },
        "sms_invite_language": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            11,
            12,
            13,
            14,
            15,
            16,
            17,
            18,
            19,
            20,
            21,
            22,
            23,
            24,
            25,
            26,
            27,
            28,
            29,
            30,
            31,
            32
          ],
          "type": "integer"
        },
        "waiting_message": {
          "type": "string"
        },
        "description": {
          "maxLength": 4000,
          "minLength": 0,
          "type": "string"
        },
        "end_customer": {
          "$ref": "#/definitions/TeamViewer.WebApi.Base.Models.EndCustomerParameters"
        },
        "assigned_userid": {
          "pattern": "^u\\d+$",
          "type": "string"
        },
        "custom_api": {
          "maxLength": 4000,
          "minLength": 0,
          "type": "string"
        },
        "tv_version": {
          "type": "string"
        },
        "ParsedGroupId": {
          "format": "int32",
          "type": "integer"
        },
        "ParsedUserid": {
          "format": "int32",
          "type": "integer"
        },
        "ParsedValidUntilDate": {
          "format": "date-time",
          "type": "string"
        }
      }
    },
    "TeamViewer.WebApi.Base.Models.EndCustomerParameters": {
      "type": "object",
      "properties": {
        "name": {
          "maxLength": 100,
          "minLength": 0,
          "type": "string"
        },
        "email": {
          "maxLength": 254,
          "minLength": 0,
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.SessionsResponse": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "end_customer_link": {
          "type": "string"
        },
        "supporter_link": {
          "type": "string"
        },
        "webclient_supporter_link": {
          "type": "string"
        },
        "valid_until": {
          "format": "date-time",
          "type": "string"
        },
        "groupid": {
          "type": "string"
        },
        "support_session_type": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "waiting_message": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "end_customer": {
          "$ref": "#/definitions/TeamViewer.WebApi.Base.Models.EndCustomerParameters"
        },
        "assigned_userid": {
          "type": "string"
        },
        "custom_api": {
          "type": "string"
        },
        "tv_version": {
          "type": "string"
        },
        "customId": {
          "type": "string"
        },
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "state": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "assigned_at": {
          "format": "date-time",
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.GetAllSessionsResponse": {
      "type": "object",
      "properties": {
        "sessions": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetSessionsResponse"
          }
        },
        "next_offset": {
          "type": "string"
        },
        "sessions_remaining": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.GetSessionsResponse": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "state": {
          "type": "string"
        },
        "groupid": {
          "type": "string"
        },
        "custom_module_id": {
          "type": "string"
        },
        "waiting_message": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "end_customer": {
          "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.EndCustomerData"
        },
        "assigned_userid": {
          "type": "string"
        },
        "assigned_at": {
          "format": "date-time",
          "type": "string"
        },
        "end_customer_link": {
          "type": "string"
        },
        "supporter_link": {
          "type": "string"
        },
        "webclient_supporter_link": {
          "type": "string"
        },
        "custom_api": {
          "type": "string"
        },
        "created_at": {
          "format": "date-time",
          "type": "string"
        },
        "valid_until": {
          "format": "date-time",
          "type": "string"
        },
        "closed_at": {
          "format": "date-time",
          "type": "string"
        },
        "tv_version": {
          "type": "string"
        },
        "online": {
          "type": "boolean"
        },
        "support_session_type": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.EndCustomerData": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "email": {
          "type": "string"
        }
      }
    },
    "TeamViewer.WebApi.Base.Models.SessionsPutParameters": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "groupid": {
          "pattern": "^g\\d+$",
          "type": "string"
        },
        "custom_module_id": {
          "type": "string"
        },
        "groupname": {
          "type": "string"
        },
        "waiting_message": {
          "type": "string"
        },
        "description": {
          "maxLength": 4000,
          "minLength": 0,
          "type": "string"
        },
        "end_customer": {
          "$ref": "#/definitions/TeamViewer.WebApi.Base.Models.EndCustomerParameters"
        },
        "assigned_userid": {
          "pattern": "^u\\d+$",
          "type": "string"
        },
        "custom_api": {
          "maxLength": 4000,
          "minLength": 0,
          "type": "string"
        },
        "state": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "tv_version": {
          "type": "string"
        },
        "sms_invite_number": {
          "pattern": "^\\+?[\\d \\(\\)\\/\\-]+$",
          "type": "string"
        },
        "sms_invite_language": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            11,
            12,
            13,
            14,
            15,
            16,
            17,
            18,
            19,
            20,
            21,
            22,
            23,
            24,
            25,
            26,
            27,
            28,
            29,
            30,
            31,
            32
          ],
          "type": "integer"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.GetSessionsCustomModulesConfigIdResponse": {
      "type": "object",
      "properties": {
        "config_id": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.GetAllConnectionsResponse": {
      "type": "object",
      "properties": {
        "records": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetConnectionResponse"
          }
        },
        "records_remaining": {
          "format": "int32",
          "type": "integer"
        },
        "next_offset": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.GetConnectionResponse": {
      "type": "object",
      "properties": {
        "id": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "userid": {
          "type": "string"
        },
        "username": {
          "type": "string"
        },
        "deviceid": {
          "type": "string"
        },
        "devicename": {
          "type": "string"
        },
        "groupid": {
          "type": "string"
        },
        "groupname": {
          "type": "string"
        },
        "managedGroupIds": {
          "type": "array",
          "items": {
            "format": "uuid",
            "type": "string",
            "example": "00000000-0000-0000-0000-000000000000"
          }
        },
        "managedGroupNames": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "support_session_type": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "start_date": {
          "format": "date-time",
          "type": "string"
        },
        "end_date": {
          "format": "date-time",
          "type": "string"
        },
        "fee": {
          "format": "double",
          "type": "number"
        },
        "currency": {
          "type": "string"
        },
        "billing_state": {
          "type": "string"
        },
        "notes": {
          "type": "string"
        },
        "contact_id": {
          "type": "string"
        },
        "session_code": {
          "type": "string"
        },
        "session_created_at": {
          "format": "date-time",
          "type": "string"
        },
        "valid_until": {
          "format": "date-time",
          "type": "string"
        },
        "assigned_userid": {
          "type": "string"
        },
        "assigned_at": {
          "format": "date-time",
          "type": "string"
        },
        "session_note": {
          "type": "string"
        },
        "custom_api": {
          "type": "string"
        },
        "end_customer": {
          "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.EndCustomerData"
        },
        "feedback": {
          "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.CustomerFeedback"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.CustomerFeedback": {
      "type": "object",
      "properties": {
        "session_rating": {
          "format": "int32",
          "type": "integer"
        },
        "user_comment": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ConnectionsPutParameters": {
      "type": "object",
      "properties": {
        "notes": {
          "type": "string"
        },
        "billing_state": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.GetSessionReportVoiceTranscriptLineResponse": {
      "type": "object",
      "properties": {
        "speaker": {
          "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetSessionReportVoiceTranscriptLineParticipantResponse",
          "description": "Participant who said the line."
        },
        "writtenAtTimestamp": {
          "format": "date-time",
          "description": "Timestamp when the line was transcribed.",
          "type": "string"
        },
        "originalText": {
          "description": "Original text",
          "type": "string"
        },
        "originalLanguageCode": {
          "description": "Represents language code of original in the format 'language'",
          "type": "string"
        },
        "translatedText": {
          "description": "Translated text",
          "type": "string"
        },
        "translatedLanguageCode": {
          "description": "Represents language code of translated language in the format 'language'",
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.GetSessionReportVoiceTranscriptLineParticipantResponse": {
      "type": "object",
      "properties": {
        "teamviewerId": {
          "format": "int64",
          "description": "DyngateId of the participant",
          "type": "integer"
        },
        "name": {
          "description": "Account or device name of participant, optional",
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.GetSessionReportCallSummaryResponse": {
      "type": "object",
      "properties": {
        "summary": {
          "description": "Represents a short summary of the conversation based on voice transcript",
          "type": "string"
        },
        "title": {
          "description": "A short title describing the summary content",
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.GetSessionReportScreenshotResponse": {
      "type": "object",
      "properties": {
        "screenshotId": {
          "description": "Id of the screenshot.",
          "type": "string"
        },
        "fileName": {
          "description": "Name of the screenshot.",
          "type": "string"
        },
        "mimeType": {
          "description": "Mime type of screenshot.",
          "type": "string"
        },
        "takenAt": {
          "description": "Timestamp when the screenshot was taken.",
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ModulesConfigPostParams": {
      "type": "object",
      "properties": {
        "module_type": {
          "format": "int32",
          "description": "The type of the module to import. See {TeamViewer.DeprecatedBase.CustomModules.DataTypes.CustomModuleTypes}.",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            11,
            12,
            13
          ],
          "type": "integer"
        },
        "config": {
          "description": "Configuration JSON file. For a reference, see MCO-2434.",
          "type": "string"
        },
        "logo": {
          "description": "Logo file. Encoded with Base64.",
          "type": "string"
        },
        "disclaimer": {
          "description": "Disclaimer (in plain text), if any.",
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ListResponse`1[[TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.ManagedGroupModel, TeamViewer.Role.Web.Api, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]": {
      "description": "Generic paged list response",
      "type": "object",
      "properties": {
        "currentPaginationToken": {
          "description": "The pagination token used to display the current page of resources.\r\nIf null, this is the first page.",
          "type": "string"
        },
        "nextPaginationToken": {
          "description": "The pagination token that can be used to fetch the next page of\r\nresources. If null, this is the last page.",
          "type": "string"
        },
        "resources": {
          "description": "Items of the current page.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.ManagedGroupModel"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.ManagedGroupModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "uuid",
          "description": "Identifier of the Managed Group.",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "name": {
          "description": "Display name of the Managed Group.",
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.ManagedGroupsPostParameters": {
      "required": [
        "name"
      ],
      "type": "object",
      "properties": {
        "name": {
          "description": "Name of the managed group to create.",
          "maxLength": 100,
          "minLength": 1,
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.ManagedGroupsPutParameters": {
      "type": "object",
      "properties": {
        "name": {
          "maxLength": 100,
          "minLength": 1,
          "type": "string"
        },
        "policy": {
          "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.ManagedGroupsPutPolicyParameter"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.ManagedGroupsPutPolicyParameter": {
      "type": "object",
      "properties": {
        "policy_id": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "policy_type": {
          "format": "int32",
          "enum": [
            0,
            1,
            3,
            4,
            5,
            6,
            7,
            8,
            9
          ],
          "type": "integer"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ListResponse`1[[TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.ManagerModel, TeamViewer.Role.Web.Api, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]": {
      "description": "Generic paged list response",
      "type": "object",
      "properties": {
        "currentPaginationToken": {
          "description": "The pagination token used to display the current page of resources.\r\nIf null, this is the first page.",
          "type": "string"
        },
        "nextPaginationToken": {
          "description": "The pagination token that can be used to fetch the next page of\r\nresources. If null, this is the last page.",
          "type": "string"
        },
        "resources": {
          "description": "Items of the current page.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.ManagerModel"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.ManagerModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "uuid",
          "description": "The identifier of this manager entity in the TeamViewer Managed\r\nDevices system.",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "type": {
          "format": "int32",
          "description": "The type of manager.",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "accountId": {
          "format": "int32",
          "description": "The TeamViewer user account identifier.\r\nValue is only set if manager type is account.",
          "type": "integer"
        },
        "companyId": {
          "format": "int32",
          "description": "The TeamViewer company identifier.\r\nValue is only set if manager type is company.",
          "type": "integer"
        },
        "usergroupId": {
          "format": "int64",
          "description": "The TeamViewer user group identifier.\r\nValue is only set if manager type is usergroup.",
          "type": "integer"
        },
        "name": {
          "description": "Display name of the manager.\r\nMight be empty/unknown for usergroup managers.",
          "type": "string"
        },
        "permissions": {
          "description": "Set of permissions of this manager on the respective resource.",
          "type": "array",
          "items": {
            "format": "int32",
            "enum": [
              0,
              1,
              2,
              3,
              4,
              5,
              6,
              7,
              8,
              9,
              10,
              11,
              12,
              13
            ],
            "type": "integer"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.ManagersPostParameters": {
      "type": "object",
      "properties": {
        "id": {
          "format": "uuid",
          "description": "If given, adds a manager with this manager identifier to the resource.\r\nThis parameter has precedence over the other possible identifiers in\r\nthis message.",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "accountId": {
          "format": "int32",
          "description": "If given, resolves the manager with this TeamViewer user account\r\nidentifier and adds it to the current resource.",
          "type": "integer"
        },
        "companyId": {
          "format": "int32",
          "description": "If given, resolves the manager with this TeamViewer company identifier\r\nand adds it to the current resource.",
          "type": "integer"
        },
        "usergroupId": {
          "format": "int64",
          "description": "If given, resolves the manager with this TeamViewer user group\r\nidentifier and adds it to the current resource.",
          "type": "integer"
        },
        "permissions": {
          "description": "Permissions for the manager to be added.\r\nIf empty or not given, the manager will have read-only access to the resource.",
          "type": "array",
          "items": {
            "format": "int32",
            "enum": [
              0,
              1,
              2,
              3,
              4,
              5,
              6,
              7,
              8,
              9,
              10,
              11,
              12,
              13
            ],
            "type": "integer"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.ManagersPutParameters": {
      "type": "object",
      "properties": {
        "id": {
          "format": "uuid",
          "description": "Identifier of the manager in the Managed Device system.",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "permissions": {
          "description": "Updated set of permissions for the specified manager.\r\nIf empty or not given, the manager will have read-only access to the resource.",
          "type": "array",
          "items": {
            "format": "int32",
            "enum": [
              0,
              1,
              2,
              3,
              4,
              5,
              6,
              7,
              8,
              9,
              10,
              11,
              12,
              13
            ],
            "type": "integer"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ListResponse`1[[TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.ManagedDeviceModel, TeamViewer.Role.Web.Api, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]": {
      "description": "Generic paged list response",
      "type": "object",
      "properties": {
        "currentPaginationToken": {
          "description": "The pagination token used to display the current page of resources.\r\nIf null, this is the first page.",
          "type": "string"
        },
        "nextPaginationToken": {
          "description": "The pagination token that can be used to fetch the next page of\r\nresources. If null, this is the last page.",
          "type": "string"
        },
        "resources": {
          "description": "Items of the current page.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.ManagedDeviceModel"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.ManagedDeviceModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "uuid",
          "description": "Identifier of the device in the Managed Devices system.",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "teamviewerId": {
          "format": "int64",
          "description": "The TeamViewer identifier of the device.",
          "type": "integer"
        },
        "name": {
          "description": "Display name of the device.",
          "type": "string"
        },
        "isOnline": {
          "description": "Online status of the device.",
          "type": "boolean"
        },
        "last_seen": {
          "format": "date-time",
          "description": "LastSeen time of the offline device. Will be set only for offline devices",
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.ManagedGroupsDevicesPostParameters": {
      "required": [
        "id"
      ],
      "type": "object",
      "properties": {
        "id": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ListResponse`1[[TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.PendingManagedDeviceModel, TeamViewer.Role.Web.Api, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]": {
      "description": "Generic paged list response",
      "type": "object",
      "properties": {
        "currentPaginationToken": {
          "description": "The pagination token used to display the current page of resources.\r\nIf null, this is the first page.",
          "type": "string"
        },
        "nextPaginationToken": {
          "description": "The pagination token that can be used to fetch the next page of\r\nresources. If null, this is the last page.",
          "type": "string"
        },
        "resources": {
          "description": "Items of the current page.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.PendingManagedDeviceModel"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.PendingManagedDeviceModel": {
      "type": "object",
      "properties": {
        "pendingOperation": {
          "format": "int32",
          "description": "The type of pending operation on the device.",
          "enum": [
            0,
            1
          ],
          "type": "integer"
        },
        "id": {
          "format": "uuid",
          "description": "Identifier of the device in the Managed Devices system.",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "teamviewerId": {
          "format": "int64",
          "description": "The TeamViewer identifier of the device.",
          "type": "integer"
        },
        "name": {
          "description": "Display name of the device.",
          "type": "string"
        },
        "isOnline": {
          "description": "Online status of the device.",
          "type": "boolean"
        },
        "last_seen": {
          "format": "date-time",
          "description": "LastSeen time of the offline device. Will be set only for offline devices",
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.ManagedDevicesRemovePolicyParameters": {
      "type": "object",
      "properties": {
        "policy_type": {
          "format": "int32",
          "enum": [
            0,
            1,
            3,
            4,
            5,
            6,
            7,
            8,
            9
          ],
          "type": "integer"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.SsoDomainInfoResponse": {
      "type": "object",
      "properties": {
        "domain_id": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "domain_name": {
          "type": "string"
        },
        "entity_id": {
          "type": "string"
        },
        "login_url": {
          "type": "string"
        },
        "logout_url": {
          "type": "string"
        },
        "certificate_signing": {
          "type": "string"
        },
        "certificate_encryption": {
          "type": "string"
        },
        "supported_binding": {
          "type": "string"
        },
        "validation_status": {
          "type": "string"
        },
        "access_level": {
          "type": "string"
        },
        "validation_type": {
          "type": "string"
        },
        "validation_token": {
          "type": "string"
        },
        "validation_started_at": {
          "format": "date-time",
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.SsoDomainListResponse": {
      "type": "object",
      "properties": {
        "domains": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.SsoDomainListResponse+DomainInfo"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.SsoDomainListResponse+DomainInfo": {
      "type": "object",
      "properties": {
        "DomainId": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "DomainName": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ConditionalAccessOptions.ConditionalAccessFeatureListOptionsResponse": {
      "description": "Response of Get Feature Options",
      "required": [
        "options"
      ],
      "type": "object",
      "properties": {
        "options": {
          "description": "List of feature options",
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ConditionalAccessOptions.ConditionalAccessFeaturesOptionModel"
          }
        },
        "continuation_token": {
          "description": "Continuation token for fetching additional results",
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ConditionalAccessOptions.ConditionalAccessFeaturesOptionModel": {
      "description": "Conditional access feature option model",
      "required": [
        "data",
        "name"
      ],
      "type": "object",
      "properties": {
        "data": {
          "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ConditionalAccessOptions.ConditionalAccessFeaturesOptionData",
          "description": "Feature option data"
        },
        "optionId": {
          "format": "uuid",
          "description": "Unique identifier for the option",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "name": {
          "description": "Name of the option. Max length = 255",
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ConditionalAccessOptions.ConditionalAccessFeaturesOptionData": {
      "description": "Conditional access feature option model",
      "required": [
        "connectAndViewScreen",
        "controlComputer",
        "fileTransfer",
        "establishVpn",
        "lockKeyboardAndMouse",
        "controlTeamviewer",
        "fileTransferUsingFileBox",
        "useTeamviewerPrinting",
        "executeScripts"
      ],
      "type": "object",
      "properties": {
        "connectAndViewScreen": {
          "format": "int32",
          "description": "Access level for viewing and controlling the screen. Valid values: Allow = 0, AfterConfirmation = 1. Type: ConditionalAccessFeatureAccessLevel",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "controlComputer": {
          "format": "int32",
          "description": "Access level for controlling the computer. Valid values: Allow = 0, AfterConfirmation = 1, Denied = 2. Type: ConditionalAccessFeatureAccessLevel",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "fileTransfer": {
          "format": "int32",
          "description": "Access level for file transfer. Valid values: Allow = 0, AfterConfirmation = 1, Denied = 2. Type: ConditionalAccessFeatureAccessLevel",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "establishVpn": {
          "format": "int32",
          "description": "Access level for establishing a VPN. Valid values: Allow = 0, AfterConfirmation = 1, Denied = 2. Type: ConditionalAccessFeatureAccessLevel",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "lockKeyboardAndMouse": {
          "format": "int32",
          "description": "Access level for locking the keyboard and mouse. Valid values: Allow = 0, AfterConfirmation = 1, Denied = 2. Type: ConditionalAccessFeatureAccessLevel",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "controlTeamviewer": {
          "format": "int32",
          "description": "Access level for controlling TeamViewer. Valid values: Allow = 0, AfterConfirmation = 1, Denied = 2. Type: ConditionalAccessFeatureAccessLevel",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "fileTransferUsingFileBox": {
          "format": "int32",
          "description": "Access level for file transfer using FileBox. Valid values: Allow = 0, Denied = 2. Type: ConditionalAccessFeatureAccessLevel",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "useTeamviewerPrinting": {
          "format": "int32",
          "description": "Access level for using TeamViewer Printing. Valid values: Allow = 0, AfterConfirmation = 1, Denied = 2. Type: ConditionalAccessFeatureAccessLevel",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "executeScripts": {
          "format": "int32",
          "description": "Access level for executing scripts. Valid values: Allow = 0, AfterConfirmation = 1, Denied = 2. Type: ConditionalAccessFeatureAccessLevel",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "changeSides": {
          "format": "int32",
          "description": "Access level for changing sides in a session. Valid values: Allow = 0, Denied = 2. Type: ConditionalAccessFeatureAccessLevel",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ConditionalAccessOptions.ConditionalAccessTimeListOptionsResponse": {
      "description": "Response of Get Time Options",
      "required": [
        "options"
      ],
      "type": "object",
      "properties": {
        "options": {
          "description": "List of time options",
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ConditionalAccessOptions.ConditionalAccessTimeOptionModel"
          }
        },
        "continuation_token": {
          "description": "Continuation token for fetching additional results",
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ConditionalAccessOptions.ConditionalAccessTimeOptionModel": {
      "description": "Conditional access time option model",
      "required": [
        "data",
        "name"
      ],
      "type": "object",
      "properties": {
        "data": {
          "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ConditionalAccessOptions.ConditionalAccessTimeOptionData",
          "description": "Time option data"
        },
        "optionId": {
          "format": "uuid",
          "description": "Unique identifier for the option",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "name": {
          "description": "Name of the option. Max length = 255",
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ConditionalAccessOptions.ConditionalAccessTimeOptionData": {
      "description": "Conditional access time option model",
      "required": [
        "mondayIntervals",
        "tuesdayIntervals",
        "wednesdayIntervals",
        "thursdayIntervals",
        "fridayIntervals",
        "saturdayIntervals",
        "sundayIntervals"
      ],
      "type": "object",
      "properties": {
        "timeZone": {
          "description": "Time zone for the time intervals",
          "type": "string"
        },
        "mondayIntervals": {
          "description": "Time intervals for Monday. Max allowed times per day = 10",
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Module.ConditionalAccess.DataTypes.AllowedTimeSpan"
          }
        },
        "tuesdayIntervals": {
          "description": "Time intervals for Tuesday. Max allowed times per day = 10",
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Module.ConditionalAccess.DataTypes.AllowedTimeSpan"
          }
        },
        "wednesdayIntervals": {
          "description": "Time intervals for Wednesday. Max allowed times per day = 10",
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Module.ConditionalAccess.DataTypes.AllowedTimeSpan"
          }
        },
        "thursdayIntervals": {
          "description": "Time intervals for Thursday. Max allowed times per day = 10",
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Module.ConditionalAccess.DataTypes.AllowedTimeSpan"
          }
        },
        "fridayIntervals": {
          "description": "Time intervals for Friday. Max allowed times per day = 10",
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Module.ConditionalAccess.DataTypes.AllowedTimeSpan"
          }
        },
        "saturdayIntervals": {
          "description": "Time intervals for Saturday. Max allowed times per day = 10",
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Module.ConditionalAccess.DataTypes.AllowedTimeSpan"
          }
        },
        "sundayIntervals": {
          "description": "Time intervals for Sunday. Max allowed times per day = 10",
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Module.ConditionalAccess.DataTypes.AllowedTimeSpan"
          }
        }
      }
    },
    "TeamViewer.Module.ConditionalAccess.DataTypes.AllowedTimeSpan": {
      "type": "object",
      "properties": {
        "StartHour": {
          "format": "int32",
          "type": "integer"
        },
        "EndHour": {
          "format": "int32",
          "type": "integer"
        },
        "StartMinute": {
          "format": "int32",
          "type": "integer"
        },
        "EndMinute": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ConditionalAccessOptions.ConditionalAccessApprovalListOptionsResponse": {
      "description": "Response of Get Approval Options",
      "required": [
        "options"
      ],
      "type": "object",
      "properties": {
        "options": {
          "description": "List of approval options",
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ConditionalAccessOptions.ConditionalAccessApprovalOptionModel"
          }
        },
        "continuation_token": {
          "description": "Continuation token for fetching additional results",
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ConditionalAccessOptions.ConditionalAccessApprovalOptionModel": {
      "description": "Conditional access approval option model",
      "required": [
        "data",
        "name"
      ],
      "type": "object",
      "properties": {
        "data": {
          "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ConditionalAccessOptions.ConditionalAccessApprovalOptionData",
          "description": "Approval option data"
        },
        "optionId": {
          "format": "uuid",
          "description": "Unique identifier for the option",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "name": {
          "description": "Name of the option. Max length = 255",
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ConditionalAccessOptions.ConditionalAccessApprovalOptionData": {
      "description": "Conditional access approval option model",
      "required": [
        "accountIds"
      ],
      "type": "object",
      "properties": {
        "accountIds": {
          "description": "List of approver account IDs. Max account ids per approval option = 50",
          "type": "array",
          "items": {
            "format": "int32",
            "type": "integer"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.CrossDomainIdentityManagementUserPostParameters": {
      "type": "object",
      "properties": {
        "schemas": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "urn:ietf:params:scim:schemas:extension:teamviewer:1.0:SsoUser": {
          "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.CrossDomainIdentityManagement.CrossDomainIdentityManagementSsoUser"
        },
        "urn:ietf:params:scim:schemas:extension:teamviewer:1.0:SsoUser:ssoUniqueId": {
          "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.CrossDomainIdentityManagement.CrossDomainIdentityManagementIntuneUser"
        },
        "id": {
          "type": "string"
        },
        "userName": {
          "type": "string"
        },
        "emails": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.CrossDomainIdentityManagement.CrossDomainIdentityManagementUser+EmailEntry"
          }
        },
        "name": {
          "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.CrossDomainIdentityManagement.CrossDomainIdentityManagementUser+NameEntry"
        },
        "displayName": {
          "type": "string"
        },
        "preferredLanguage": {
          "type": "string"
        },
        "password": {
          "type": "string"
        },
        "active": {
          "type": "boolean"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.CrossDomainIdentityManagement.CrossDomainIdentityManagementSsoUser": {
      "type": "object",
      "properties": {
        "ssoCustomerId": {
          "type": "string"
        },
        "licenseActivationCode": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.CrossDomainIdentityManagement.CrossDomainIdentityManagementIntuneUser": {
      "type": "object",
      "properties": {
        "ssoUniqueId": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.CrossDomainIdentityManagement.CrossDomainIdentityManagementUser+EmailEntry": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string"
        },
        "primary": {
          "type": "boolean"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.CrossDomainIdentityManagement.CrossDomainIdentityManagementUser+NameEntry": {
      "type": "object",
      "properties": {
        "givenName": {
          "type": "string"
        },
        "familyName": {
          "type": "string"
        },
        "formatted": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.CrossDomainIdentityManagementUserListResponse": {
      "type": "object",
      "properties": {
        "schemas": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "readOnly": true
        },
        "totalResults": {
          "format": "int32",
          "type": "integer"
        },
        "startIndex": {
          "format": "int32",
          "type": "integer"
        },
        "itemsPerPage": {
          "format": "int32",
          "type": "integer"
        },
        "Resources": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.CrossDomainIdentityManagement.CrossDomainIdentityManagementUser"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.CrossDomainIdentityManagement.CrossDomainIdentityManagementUser": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "userName": {
          "type": "string"
        },
        "emails": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.CrossDomainIdentityManagement.CrossDomainIdentityManagementUser+EmailEntry"
          }
        },
        "name": {
          "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.CrossDomainIdentityManagement.CrossDomainIdentityManagementUser+NameEntry"
        },
        "displayName": {
          "type": "string"
        },
        "preferredLanguage": {
          "type": "string"
        },
        "password": {
          "type": "string"
        },
        "active": {
          "type": "boolean"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.CrossDomainIdentityManagementUserResponse": {
      "type": "object",
      "properties": {
        "schemas": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "readOnly": true
        },
        "id": {
          "type": "string"
        },
        "userName": {
          "type": "string"
        },
        "emails": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.CrossDomainIdentityManagement.CrossDomainIdentityManagementUser+EmailEntry"
          }
        },
        "name": {
          "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.CrossDomainIdentityManagement.CrossDomainIdentityManagementUser+NameEntry"
        },
        "displayName": {
          "type": "string"
        },
        "preferredLanguage": {
          "type": "string"
        },
        "password": {
          "type": "string"
        },
        "active": {
          "type": "boolean"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.CrossDomainIdentityManagementUserPutParameters": {
      "type": "object",
      "properties": {
        "schemas": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "id": {
          "type": "string"
        },
        "userName": {
          "type": "string"
        },
        "emails": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.CrossDomainIdentityManagement.CrossDomainIdentityManagementUser+EmailEntry"
          }
        },
        "name": {
          "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.CrossDomainIdentityManagement.CrossDomainIdentityManagementUser+NameEntry"
        },
        "displayName": {
          "type": "string"
        },
        "preferredLanguage": {
          "type": "string"
        },
        "password": {
          "type": "string"
        },
        "active": {
          "type": "boolean"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.CrossDomainIdentityManagementUserPatchParameters": {
      "type": "object",
      "properties": {
        "schemas": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Operations": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.CrossDomainIdentityManagement.CrossDomainIdentityManagementPatchOp+PatchOpItem"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.CrossDomainIdentityManagement.CrossDomainIdentityManagementPatchOp+PatchOpItem": {
      "type": "object",
      "properties": {
        "op": {
          "type": "string"
        },
        "path": {
          "type": "string"
        },
        "value": {
          "type": "object"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.CrossDomainIdentityManagementGroupPostParameters": {
      "type": "object",
      "properties": {
        "schemas": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "displayName": {
          "type": "string"
        },
        "members": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.CrossDomainIdentityManagement.CrossDomainIdentityManagementGroupMember"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.CrossDomainIdentityManagement.CrossDomainIdentityManagementGroupMember": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.CrossDomainIdentityManagementGroupListResponse": {
      "type": "object",
      "properties": {
        "schemas": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "readOnly": true
        },
        "totalResults": {
          "format": "int32",
          "type": "integer"
        },
        "startIndex": {
          "format": "int32",
          "type": "integer"
        },
        "itemsPerPage": {
          "format": "int32",
          "type": "integer"
        },
        "Resources": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.CrossDomainIdentityManagement.CrossDomainIdentityManagementGroup"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.CrossDomainIdentityManagement.CrossDomainIdentityManagementGroup": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "displayName": {
          "type": "string"
        },
        "members": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.CrossDomainIdentityManagement.CrossDomainIdentityManagementGroupMember"
          }
        },
        "meta": {
          "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.CrossDomainIdentityManagement.CrossDomainIdentityManagementMeta",
          "readOnly": true
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.CrossDomainIdentityManagement.CrossDomainIdentityManagementMeta": {
      "type": "object",
      "properties": {
        "resourceType": {
          "format": "int32",
          "enum": [
            0,
            1
          ],
          "type": "integer"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.CrossDomainIdentityManagementGroupResponse": {
      "type": "object",
      "properties": {
        "schemas": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "readOnly": true
        },
        "id": {
          "type": "string"
        },
        "displayName": {
          "type": "string"
        },
        "members": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.CrossDomainIdentityManagement.CrossDomainIdentityManagementGroupMember"
          }
        },
        "meta": {
          "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.CrossDomainIdentityManagement.CrossDomainIdentityManagementMeta",
          "readOnly": true
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.CrossDomainIdentityManagementGroupPatchParameters": {
      "type": "object",
      "properties": {
        "schemas": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Operations": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.CrossDomainIdentityManagement.CrossDomainIdentityManagementPatchOp+PatchOpItem"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.CrossDomainIdentityManagementGroupPutParameters": {
      "type": "object",
      "properties": {
        "Schemas": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "DisplayName": {
          "type": "string"
        },
        "Members": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.CrossDomainIdentityManagement.CrossDomainIdentityManagementGroupMember"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.SsoAccessListEmailsResponse": {
      "type": "object",
      "properties": {
        "emails": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "continuation_token": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.SsoAccessListEmailsParameters": {
      "required": [
        "emails"
      ],
      "type": "object",
      "properties": {
        "emails": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ConditionalAccessListDirectoryGroupsResponse": {
      "type": "object",
      "properties": {
        "directory_groups": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ConditionalAccessDirectoryGroupIdentificationModel"
          }
        },
        "continuation_token": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ConditionalAccessDirectoryGroupIdentificationModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "name": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ConditionalAccessGroupsPostParameters": {
      "required": [
        "name"
      ],
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Module.ConditionalAccess.DataTypes.CreateConditionalAccessGroupResponse": {
      "type": "object",
      "properties": {
        "id": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "name": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ConditionalAccessGetDirectoryGroupResponse": {
      "type": "object",
      "properties": {
        "directory_group": {
          "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ConditionalAccessDirectoryGroupModel"
        },
        "continuation_token": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ConditionalAccessDirectoryGroupModel": {
      "type": "object",
      "properties": {
        "id": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "name": {
          "type": "string"
        },
        "company_id": {
          "format": "int32",
          "type": "integer"
        },
        "user_ids": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "device_ids": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ConditionalAccessGroupsPutParameters": {
      "required": [
        "name"
      ],
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ConditionalAccessGroupMembersPostParameters": {
      "required": [
        "member_type",
        "members"
      ],
      "type": "object",
      "properties": {
        "member_type": {
          "format": "int32",
          "enum": [
            0,
            1
          ],
          "type": "integer"
        },
        "members": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ConditionalAccessGroupMembersDeleteParameters": {
      "required": [
        "member_type",
        "members"
      ],
      "type": "object",
      "properties": {
        "member_type": {
          "format": "int32",
          "enum": [
            0,
            1
          ],
          "type": "integer"
        },
        "members": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ConditionalAccessRules.ConditionalAccessListRulesResponse": {
      "type": "object",
      "properties": {
        "rules": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ConditionalAccessRules.ConditionalAccessRuleResponse"
          }
        },
        "continuation_token": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ConditionalAccessRules.ConditionalAccessRuleResponse": {
      "type": "object",
      "properties": {
        "sourceId": {
          "description": "Identifier for the source entity. Can be an integer, long, or GUID depending on the source type",
          "type": "string"
        },
        "sourceType": {
          "format": "int32",
          "description": "Type of the source entity. Valid values: AccountId = 0, GroupId = 1, DyngateId = 2, DirectoryGroupId = 3, ManagedGroupId = 4, UserGroupId = 5. Type: SourceTargetType",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5
          ],
          "type": "integer"
        },
        "targetId": {
          "description": "Identifier for the target entity. Can be an integer, long, or GUID depending on the target type",
          "type": "string"
        },
        "targetType": {
          "format": "int32",
          "description": "Type of the target entity. Valid values: AccountId = 0, GroupId = 1, DyngateId = 2, DirectoryGroupId = 3, ManagedGroupId = 4, UserGroupId = 5. Type: SourceTargetType",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5
          ],
          "type": "integer"
        },
        "state": {
          "format": "int32",
          "description": "Type of the rule state. Valid values: Valid = 0, SourceInvalid = 1, TargetInvalid = 2, BothInvalid = 3. Type: RuleState",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "optionSetId": {
          "format": "uuid",
          "description": "OptionSet is created by the provider when a rule is created with at least one\r\nvalid option (feature, time, approval...)",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "featuresOptionId": {
          "format": "uuid",
          "description": "Identifier for the features option, if applicable",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "timeOptionId": {
          "format": "uuid",
          "description": "Identifier for the time option, if applicable",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "locationOptionId": {
          "format": "uuid",
          "description": "Identifier for the location option, if applicable",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "approvalOptionId": {
          "format": "uuid",
          "description": "Identifier for the approval option, if applicable",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "expirations": {
          "description": "List of expiration data related to this rule. Max expiration dates per rule = 100",
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Module.ConditionalAccess.DataTypes.ExpirationData"
          }
        },
        "ruleId": {
          "description": "Identifier for the rule",
          "type": "string"
        },
        "comment": {
          "description": "The comment assiocated with the rule. Max length = 200",
          "type": "string"
        }
      }
    },
    "TeamViewer.Module.ConditionalAccess.DataTypes.ExpirationData": {
      "type": "object",
      "properties": {
        "StartsOn": {
          "format": "date-time",
          "type": "string"
        },
        "ExpiresOn": {
          "format": "date-time",
          "type": "string"
        },
        "Description": {
          "type": "string"
        },
        "TimezoneOffset": {
          "format": "double",
          "type": "number"
        },
        "Timezone": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ConditionalAccessRules.ConditionalAccessRuleParameters": {
      "description": "Parameters for creating a rule in a POST call",
      "required": [
        "sourceId",
        "sourceType",
        "targetId",
        "targetType"
      ],
      "type": "object",
      "properties": {
        "sourceId": {
          "description": "Identifier for the source entity. Can be an integer, long, or GUID depending on the source type",
          "type": "string"
        },
        "sourceType": {
          "format": "int32",
          "description": "Type of the source entity. Valid values: AccountId = 0, GroupId = 1, DyngateId = 2, DirectoryGroupId = 3, ManagedGroupId = 4, UserGroupId = 5. Type: SourceTargetType",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5
          ],
          "type": "integer"
        },
        "optionSetId": {
          "format": "uuid",
          "description": "OptionSet is created by the provider when a rule is created with at least one",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "targetId": {
          "description": "Identifier for the target entity. Can be an integer, long, or GUID depending on the target type",
          "type": "string"
        },
        "targetType": {
          "format": "int32",
          "description": "Type of the target entity. Valid values: AccountId = 0, GroupId = 1, DyngateId = 2, DirectoryGroupId = 3, ManagedGroupId = 4, UserGroupId = 5. Type: SourceTargetType",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5
          ],
          "type": "integer"
        },
        "featuresOptionId": {
          "format": "uuid",
          "description": "Identifier for the features option, if applicable",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "timeOptionId": {
          "format": "uuid",
          "description": "Identifier for the time option, if applicable",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "locationOptionId": {
          "format": "uuid",
          "description": "Identifier for the location option, if applicable",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "approvalOptionId": {
          "format": "uuid",
          "description": "Identifier for the approval option, if applicable",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "expirations": {
          "description": "List of expiration data related to this rule. Max expiration dates per rule = 100",
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Module.ConditionalAccess.DataTypes.ExpirationData"
          }
        },
        "modificationReason": {
          "description": "ModificationReason related to this rule",
          "type": "string"
        },
        "comment": {
          "description": "The comment assiocated with the rule. Max length = 200",
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ConditionalAccessRules.ConditionalAccessDeleteRuleParameters": {
      "required": [
        "id"
      ],
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "modification_reason": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.AuditLogParameters": {
      "required": [
        "StartDate",
        "EndDate"
      ],
      "type": "object",
      "properties": {
        "StartDate": {
          "description": "format: YYYY-MM-DDTHH:MM:SSZ",
          "type": "string"
        },
        "EndDate": {
          "description": "format: YYYY-MM-DDTHH:MM:SSZ",
          "type": "string"
        },
        "EventNames": {
          "description": "Possible EventNames: <br />\r\nEditTFAUsage <br />\r\nUserCreated <br />\r\nUserDeleted <br />\r\nJoinCompany <br />\r\nEditUserProperties <br />\r\nEditOwnProfile <br />\r\nEditUserPermissions <br />\r\nStartedSession <br />\r\nIncomingSession <br />\r\nEndedSession <br />\r\nJoinedSession <br />\r\nLeftSession <br />\r\nParticipantJoinedSession <br />\r\nParticipantLeftSession <br />\r\nChangedDisabledRemoteInput <br />\r\nReceivedDisabledLocalInput <br />\r\nChangedShowBlackScreen <br />\r\nReceivedShowBlackScreen <br />\r\nSwitchedSides <br />\r\nStartedRecording <br />\r\nEndedRecording <br />\r\nPausedRecording <br />\r\nResumedRecording <br />\r\nSentFile <br />\r\nReceivedFile <br />\r\nCreateCustomHost <br />\r\nUpdateCustomHost <br />\r\nDeleteCustomHost <br />\r\nPolicyAdded <br />\r\nPolicyUpdated <br />\r\nPolicyDeleted <br />\r\nScriptTokenAdded <br />\r\nScriptTokenDeleted <br />\r\nScriptTokenUpdated <br />\r\nGroupAdded <br />\r\nGroupUpdated <br />\r\nGroupDeleted <br />\r\nGroupShared <br />\r\nEmailConfirmed <br />\r\nConditionalAccessRuleVerificationStateChanged <br />\r\nConditionalAccessBlockMeetingStateChanged <br />\r\nConditionalAccessUseSessionCodeGroupIDStateChanged <br />\r\nConditionalAccessRuleAdded <br />\r\nConditionalAccessRuleModified <br />\r\nConditionalAccessRuleDeleted <br />\r\nConditionalAccessDirectoryGroupAdded <br />\r\nConditionalAccessDirectoryGroupDeleted <br />\r\nConditionalAccessDirectoryGroupMembersAdded <br />\r\nConditionalAccessDirectoryGroupMembersDeleted <br />\r\nConditionalAccessSessionApproval <br />\r\nConditionalAccessPreApprovedSessionRequestApproved <br />\r\nConditionalAccessPreApprovedSessionRequestDenied <br />\r\nUserRemovedFromCompany <br />\r\nAddRemoteWorkerDevice <br />\r\nRemoveRemoteWorkerDevice <br />\r\nUserGroupCreated <br />\r\nUserGroupDeleted <br />\r\nUserGroupUpdated <br />\r\nUserGroupMembersAdded <br />\r\nUserGroupMembersRemoved <br />\r\nCompanyAddressBookEnabled <br />\r\nCompanyAddressBookDisabled <br />\r\nCompanyAddressBookMembersHid <br />\r\nCompanyAddressBookMembersUnhid <br />\r\nSingleSignOnDomainCreated <br />\r\nSingleSignOnDomainDeleted <br />\r\nSingleSignOnDomainUpdated <br />\r\nSingleSignOnOwnerAdded <br />\r\nSingleSignOnOwnerRemoved <br />\r\nSingleSignOnExclusionAdded <br />\r\nSingleSignOnExclusionRemoved <br />\r\nSingleSignOnInclusionAdded <br />\r\nSingleSignOnInclusionRemoved <br />\r\nSingleSignOnDomainAccessLevelUpdated <br />\r\nUserRoleCreated <br />\r\nUserRoleDeleted <br />\r\nUserRoleUpdated <br />\r\nUserRoleAssigned <br />\r\nUserRoleUnassigned <br />\r\nTFAEnforcedOnAccounts <br />\r\nRemovedTFAEnforcementFromAccounts <br />\r\nDeviceAddedToGroup <br />\r\nDeviceAliasUpdated <br />\r\nDeviceDescriptionUpdated <br />\r\nDeviceManaged <br />\r\nDeviceManagerAdded <br />\r\nDeviceManagerRemoved <br />\r\nDeviceManagerUpdated <br />\r\nDevicePolicyUpdated <br />\r\nDeviceRemovedFromGroup <br />\r\nDeviceUnmanaged <br />\r\nDeviceGroupCreated <br />\r\nDeviceGroupDeleted <br />\r\nDeviceGroupManagerAdded <br />\r\nDeviceGroupManagerRemoved <br />\r\nDeviceGroupManagerUpdated <br />\r\nDeviceGroupNameUpdated <br />\r\nDeviceGroupPolicyUpdated <br />\r\nCompanyDeviceGroupSetting <br />\r\nPermissionInheritanceSetting <br />\r\nOrganizationalUnitCreated <br />\r\nOrganizationalUnitRootCreated <br />\r\nOrganizationalUnitUpdated <br />\r\nOrganizationalUnitDeleted <br />\r\nCompanyRelationInvitationCreated <br />\r\nCompanyRelationInvitationUpdated <br />\r\nCompanyRelationRequestCreated <br />\r\nCompanyRelationRequestUpdated <br />\r\nCompanyRelationRequestDeleted <br />\r\nCompanyRelationTerminated <br />\r\nCompanyRelationExternalAccessRequestCreated <br />\r\nCompanyRelationExternalAccessRequestUpdated <br />\r\nCompanyRelationExternalAccessDeleted",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "EventTypes": {
          "description": "Possible EventTypes: <br />\r\nUserProfile <br />\r\nSession <br />\r\nCustomModules <br />\r\nPolicy <br />\r\nCompanyAdministration <br />\r\nGroupManagement <br />\r\nConditionalAccess <br />\r\nLicenseManagement <br />\r\nUserGroups <br />\r\nCompanyAddressBook <br />\r\nSingleSignOnManagement <br />\r\nUserRole <br />\r\nTFAEnforcement <br />\r\nDeviceManagement <br />\r\nDeviceGroupManagement <br />\r\nCompanySettings <br />\r\nOrganizationalUnit <br />\r\nCompanyRelation",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "AccountEmails": {
          "description": "list of account Email addresses",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "AffectedItem": {
          "description": "a filter for an affectedItem (does always filter all session related events)",
          "type": "string"
        },
        "RCSessionGuid": {
          "format": "uuid",
          "description": "a filter for RCSessionEvents (does always filter all not session related events)",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "ContinuationToken": {
          "description": "a token you will receive if your request has a resultset &gt; 50 Events. Use this to request the next 50 Events.",
          "type": "string"
        }
      }
    },
    "TeamViewer.DeprecatedBase.AuditLog.AuditLogRequestApiResult": {
      "type": "object",
      "properties": {
        "ContinuationToken": {
          "format": "byte",
          "type": "string"
        },
        "AuditEvents": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.DeprecatedBase.AuditLog.AuditEvent"
          }
        },
        "ParsingError": {
          "type": "string"
        }
      }
    },
    "TeamViewer.DeprecatedBase.AuditLog.AuditEvent": {
      "type": "object",
      "properties": {
        "EventDetails": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.DeprecatedBase.AuditLog.AuditEventData"
          }
        },
        "EventName": {
          "type": "string"
        },
        "EventType": {
          "type": "string"
        },
        "Timestamp": {
          "format": "date-time",
          "type": "string"
        },
        "Author": {
          "type": "string"
        },
        "AuthorEmail": {
          "type": "string"
        },
        "AffectedItem": {
          "type": "string"
        }
      }
    },
    "TeamViewer.DeprecatedBase.AuditLog.AuditEventData": {
      "type": "object",
      "properties": {
        "OldValue": {
          "type": "string"
        },
        "NewValue": {
          "type": "string"
        },
        "PolicyEnforcementNewValue": {
          "type": "boolean"
        },
        "PolicyEnforcementOldValue": {
          "type": "boolean"
        },
        "PropertyName": {
          "type": "string"
        },
        "PropertyCategory": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.GetGroupResponse": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "shared_with": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GroupSharedWith"
          }
        },
        "owner": {
          "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.SharedGroupOwner"
        },
        "permissions": {
          "type": "string"
        },
        "policy_id": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.GroupSharedWith": {
      "type": "object",
      "properties": {
        "userid": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "alias": {
          "type": "string"
        },
        "permissions": {
          "type": "string"
        },
        "pending": {
          "type": "boolean"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.SharedGroupOwner": {
      "type": "object",
      "properties": {
        "userid": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "alias": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.GroupsPutParameters": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "policy_id": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.GetAllGroupsResponse": {
      "type": "object",
      "properties": {
        "groups": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetGroupResponse"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.GroupsPostParameters": {
      "required": [
        "name"
      ],
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "policy_id": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.GroupsShareParameters": {
      "required": [
        "users"
      ],
      "type": "object",
      "properties": {
        "users": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.UserToShareGroupWith"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.UserToShareGroupWith": {
      "required": [
        "userid"
      ],
      "type": "object",
      "properties": {
        "userid": {
          "pattern": "^u\\d+$",
          "type": "string"
        },
        "permissions": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.GroupsUnshareParameters": {
      "required": [
        "users"
      ],
      "type": "object",
      "properties": {
        "users": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.SoftwareConfiguration.GroupEntry": {
      "type": "object",
      "properties": {
        "buddy_id": {
          "format": "int32",
          "type": "integer"
        },
        "status": {
          "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.SoftwareConfiguration.GroupStatus"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.SoftwareConfiguration.GroupStatus": {
      "type": "object",
      "properties": {
        "state": {
          "format": "int32",
          "type": "integer"
        },
        "message": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.DashboardConfiguration.DashboardPostParameters": {
      "required": [
        "name"
      ],
      "type": "object",
      "properties": {
        "name": {
          "maxLength": 100,
          "minLength": 0,
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.DashboardConfiguration.DashboardResponse": {
      "type": "object",
      "properties": {
        "id": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "name": {
          "type": "string"
        },
        "widgets": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.DashboardConfiguration.WidgetResponse"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.DashboardConfiguration.WidgetResponse": {
      "type": "object",
      "properties": {
        "id": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "name": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "visualizationObjects": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Module.DashboardConfiguration.DataTypes.VisualizationObject"
          }
        },
        "layout": {
          "$ref": "#/definitions/TeamViewer.Module.DashboardConfiguration.DataTypes.Layout"
        },
        "dataConfigs": {
          "$ref": "#/definitions/TeamViewer.Module.DashboardConfiguration.DataTypes.DataConfigs"
        }
      }
    },
    "TeamViewer.Module.DashboardConfiguration.DataTypes.VisualizationObject": {
      "type": "object",
      "properties": {
        "metricId": {
          "type": "string"
        },
        "metricName": {
          "type": "string"
        },
        "sensor": {
          "$ref": "#/definitions/TeamViewer.Module.DashboardConfiguration.DataTypes.Sensor"
        },
        "unitsOfMeasurement": {
          "type": "string"
        },
        "valueType": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Module.DashboardConfiguration.DataTypes.Layout": {
      "type": "object",
      "properties": {
        "height": {
          "format": "int32",
          "type": "integer"
        },
        "positionX": {
          "type": "string"
        },
        "positionY": {
          "type": "string"
        },
        "width": {
          "format": "int32",
          "type": "integer"
        },
        "minHeight": {
          "format": "int32",
          "type": "integer"
        },
        "minWidth": {
          "format": "int32",
          "type": "integer"
        },
        "maxHeight": {
          "format": "int32",
          "type": "integer"
        },
        "maxWidth": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "TeamViewer.Module.DashboardConfiguration.DataTypes.DataConfigs": {
      "type": "object",
      "properties": {
        "aggregation": {
          "$ref": "#/definitions/TeamViewer.Module.DashboardConfiguration.DataTypes.Aggregation"
        },
        "axisType": {
          "format": "int32",
          "type": "integer"
        },
        "dataPeriod": {
          "format": "int32",
          "type": "integer"
        },
        "limit": {
          "format": "int32",
          "type": "integer"
        },
        "maxValue": {
          "type": "string"
        },
        "minValue": {
          "type": "string"
        },
        "refreshInterval": {
          "format": "int32",
          "type": "integer"
        },
        "oneWidgetPerMetric": {
          "format": "int32",
          "type": "integer"
        },
        "scalingType": {
          "format": "int32",
          "type": "integer"
        },
        "lat": {
          "format": "int32",
          "type": "integer"
        },
        "lng": {
          "format": "int32",
          "type": "integer"
        },
        "startDate": {
          "format": "int64",
          "type": "integer"
        },
        "endDate": {
          "format": "int64",
          "type": "integer"
        }
      }
    },
    "TeamViewer.Module.DashboardConfiguration.DataTypes.Sensor": {
      "type": "object",
      "properties": {
        "deviceName": {
          "type": "string"
        },
        "deviceId": {
          "type": "string"
        },
        "teamviewerId": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "provisionedSensorId": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Module.DashboardConfiguration.DataTypes.Aggregation": {
      "type": "object",
      "properties": {
        "method": {
          "type": "string"
        },
        "period": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ListResponse`1[[TeamViewer.Role.Web.Api.Models.DashboardConfiguration.DashboardResponse, TeamViewer.Role.Web.Api, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]": {
      "description": "Generic paged list response",
      "type": "object",
      "properties": {
        "currentPaginationToken": {
          "description": "The pagination token used to display the current page of resources.\r\nIf null, this is the first page.",
          "type": "string"
        },
        "nextPaginationToken": {
          "description": "The pagination token that can be used to fetch the next page of\r\nresources. If null, this is the last page.",
          "type": "string"
        },
        "resources": {
          "description": "Items of the current page.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.DashboardConfiguration.DashboardResponse"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.DashboardConfiguration.WidgetPostParameters": {
      "required": [
        "name",
        "type",
        "dataConfigs",
        "visualizationObjects"
      ],
      "type": "object",
      "properties": {
        "name": {
          "maxLength": 100,
          "minLength": 0,
          "type": "string"
        },
        "type": {
          "maxLength": 100,
          "minLength": 0,
          "type": "string"
        },
        "dataConfigs": {
          "$ref": "#/definitions/TeamViewer.Module.DashboardConfiguration.DataTypes.DataConfigs"
        },
        "visualizationObjects": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Module.DashboardConfiguration.DataTypes.VisualizationObject"
          }
        },
        "layout": {
          "$ref": "#/definitions/TeamViewer.Module.DashboardConfiguration.DataTypes.Layout"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.DashboardConfiguration.WidgetDetailResponse": {
      "description": "Dashboard ID identifier.\r\nNot set, if requests done for widget.",
      "type": "object",
      "properties": {
        "dashboardId": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "id": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "name": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "visualizationObjects": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Module.DashboardConfiguration.DataTypes.VisualizationObject"
          }
        },
        "layout": {
          "$ref": "#/definitions/TeamViewer.Module.DashboardConfiguration.DataTypes.Layout"
        },
        "dataConfigs": {
          "$ref": "#/definitions/TeamViewer.Module.DashboardConfiguration.DataTypes.DataConfigs"
        }
      }
    },
    "TeamViewer.Module.IoTDataProvider.DataType.GetDataRequest": {
      "required": [
        "range",
        "metrics"
      ],
      "type": "object",
      "properties": {
        "range": {
          "type": "array",
          "items": {
            "format": "int64",
            "type": "integer"
          }
        },
        "metrics": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Module.IoTDataProvider.DataType.MetaInfo"
          }
        },
        "period": {
          "format": "int64",
          "type": "integer"
        }
      }
    },
    "TeamViewer.Module.IoTDataProvider.DataType.MetaInfo": {
      "required": [
        "metricId",
        "sensorId",
        "deviceId",
        "valueType"
      ],
      "type": "object",
      "properties": {
        "metricId": {
          "type": "string"
        },
        "sensorId": {
          "type": "string"
        },
        "deviceId": {
          "format": "int32",
          "type": "integer"
        },
        "aggregationFunc": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4
          ],
          "type": "integer"
        },
        "valueType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        }
      }
    },
    "TeamViewer.Module.IoTDataProvider.DataType.GetIoTDataResponseEntity": {
      "type": "object",
      "properties": {
        "metricId": {
          "type": "string"
        },
        "sensorId": {
          "type": "string"
        },
        "aggregationFunc": {
          "format": "int32",
          "type": "integer"
        },
        "result": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Module.IoTDataProvider.DataType.MetricDataEntity"
          }
        }
      }
    },
    "TeamViewer.Module.IoTDataProvider.DataType.MetricDataEntity": {
      "type": "object",
      "properties": {
        "intValue": {
          "format": "int64",
          "type": "integer"
        },
        "doubleValue": {
          "format": "double",
          "type": "number"
        },
        "boolValue": {
          "type": "boolean"
        },
        "stringValue": {
          "type": "string"
        },
        "timestamp": {
          "format": "int64",
          "type": "integer"
        },
        "valueType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.PushDataPostParameters": {
      "type": "object",
      "properties": {
        "timestamp": {
          "format": "int64",
          "type": "integer"
        },
        "deviceId": {
          "type": "string"
        },
        "sensor": {
          "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.Sensor"
        },
        "forwardToDevice": {
          "type": "boolean"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.Sensor": {
      "type": "object",
      "properties": {
        "sensorId": {
          "type": "string"
        },
        "metrics": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.Metric"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.Metric": {
      "type": "object",
      "properties": {
        "metricId": {
          "type": "string"
        },
        "value": {
          "type": "object"
        }
      }
    },
    "TeamViewer.Module.IoTDataProvider.DataType.PushIoTSensorDataResponse": {
      "type": "object",
      "properties": {
        "sensorId": {
          "type": "string"
        },
        "cloudResponse": {
          "$ref": "#/definitions/TeamViewer.Module.IoTDataProvider.DataType.PushIoTDataStatus"
        },
        "deviceResponse": {
          "$ref": "#/definitions/TeamViewer.Module.IoTDataProvider.DataType.PushIoTDataStatus"
        },
        "timestamp": {
          "format": "int64",
          "type": "integer"
        }
      }
    },
    "TeamViewer.Module.IoTDataProvider.DataType.PushIoTDataStatus": {
      "type": "object",
      "properties": {
        "success": {
          "type": "boolean"
        },
        "error": {
          "type": "string"
        },
        "errorSignature": {
          "type": "string"
        },
        "errorCode": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "TeamViewer.Module.IoTDataProvider.DataType.GetIoTLatestDataBCommandParams": {
      "type": "object",
      "properties": {
        "LatestDataInfos": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Module.IoTDataProvider.DataType.LatestDataGetParameters"
          }
        }
      }
    },
    "TeamViewer.Module.IoTDataProvider.DataType.LatestDataGetParameters": {
      "type": "object",
      "properties": {
        "deviceId": {
          "format": "int64",
          "type": "integer"
        },
        "datasourceId": {
          "type": "string"
        },
        "metricId": {
          "type": "string"
        },
        "valueType": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "TeamViewer.Module.IoTDataProvider.DataType.GetIoTLatestDataResponseEntity": {
      "type": "object",
      "properties": {
        "deviceId": {
          "format": "int64",
          "type": "integer"
        },
        "metricId": {
          "type": "string"
        },
        "datasourceId": {
          "type": "string"
        },
        "intValue": {
          "format": "int32",
          "type": "integer"
        },
        "doubleValue": {
          "format": "double",
          "type": "number"
        },
        "boolValue": {
          "type": "boolean"
        },
        "stringValue": {
          "type": "string"
        },
        "timeStamp": {
          "format": "int64",
          "type": "integer"
        }
      }
    },
    "TeamViewer.Module.IoTDataProvider.DataType.MonitoringV2.GetIoTDeviceVaultIdResponseEntity": {
      "type": "object",
      "properties": {
        "vaultId": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.IoTMonitoringV2.GetIoTDevicesListResponseEntity": {
      "type": "object",
      "properties": {
        "devicesList": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Module.IoTDataProvider.DataType.MonitoringV2.IoTDeviceMetadata"
          }
        },
        "continuationToken": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Module.IoTDataProvider.DataType.MonitoringV2.IoTDeviceMetadata": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int64",
          "type": "integer"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.IoTMonitoringV2.GetIoTConnectorsListResponseEntity": {
      "type": "object",
      "properties": {
        "connectorsList": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Module.IoTDataProvider.DataType.MonitoringV2.IoTConnectorMetadata"
          }
        },
        "continuationToken": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Module.IoTDataProvider.DataType.MonitoringV2.IoTConnectorMetadata": {
      "type": "object",
      "properties": {
        "id": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "createdAt": {
          "format": "int64",
          "type": "integer"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.IoTMonitoringV2.GetIoTSensorsListResponseEntity": {
      "type": "object",
      "properties": {
        "sensorsList": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Module.IoTDataProvider.DataType.MonitoringV2.IoTSensorMetadata"
          }
        },
        "continuationToken": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Module.IoTDataProvider.DataType.MonitoringV2.IoTSensorMetadata": {
      "type": "object",
      "properties": {
        "id": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "name": {
          "type": "string"
        },
        "createdAt": {
          "format": "int64",
          "type": "integer"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.IoTMonitoringV2.GetIoTMetricsListResponseEntity": {
      "type": "object",
      "properties": {
        "metricsList": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Module.IoTDataProvider.DataType.MonitoringV2.IoTMetricMetadata"
          }
        },
        "continuationToken": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Module.IoTDataProvider.DataType.MonitoringV2.IoTMetricMetadata": {
      "type": "object",
      "properties": {
        "id": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "name": {
          "type": "string"
        },
        "createdAt": {
          "format": "int64",
          "type": "integer"
        },
        "valueType": {
          "type": "string"
        },
        "valueAnnotation": {
          "type": "string"
        },
        "valueUnit": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.IoTMonitoringV2.GetIoTMetricDataResponseEntity": {
      "type": "object",
      "properties": {
        "metricDataList": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Module.IoTDataProvider.DataType.MonitoringV2.MetricData.IoTMetricDataResult"
          }
        },
        "metricDataType": {
          "enum": [
            "Integer",
            "Double",
            "Boolean",
            "String"
          ],
          "type": "string"
        },
        "continuationToken": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Module.IoTDataProvider.DataType.MonitoringV2.MetricData.IoTMetricDataResult": {
      "type": "object",
      "properties": {
        "value": {
          "type": "object"
        },
        "timestamp": {
          "format": "int64",
          "type": "integer"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.MalwareBytesEndpointProtectionInstallParameters": {
      "required": [
        "teamviewer_id"
      ],
      "type": "object",
      "properties": {
        "teamviewer_id": {
          "format": "int64",
          "type": "integer"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ListResponse`1[[TeamViewer.Role.Web.Api.Models.MalwareBytesEndpointResponse, TeamViewer.Role.Web.Api, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]": {
      "description": "Generic paged list response",
      "type": "object",
      "properties": {
        "currentPaginationToken": {
          "description": "The pagination token used to display the current page of resources.\r\nIf null, this is the first page.",
          "type": "string"
        },
        "nextPaginationToken": {
          "description": "The pagination token that can be used to fetch the next page of\r\nresources. If null, this is the last page.",
          "type": "string"
        },
        "resources": {
          "description": "Items of the current page.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.MalwareBytesEndpointResponse"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.MalwareBytesEndpointResponse": {
      "type": "object",
      "properties": {
        "device_id": {
          "format": "int64",
          "type": "integer"
        },
        "malwarebytes_device_name": {
          "type": "string"
        },
        "malwarebytes_machine_id": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.MalwareBytesEndpointProtectionLinkDevicesParameters": {
      "required": [
        "devices"
      ],
      "type": "object",
      "properties": {
        "devices": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.MalwareBytesEndpointProtectionLinkDevicesData"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.MalwareBytesEndpointProtectionLinkDevicesData": {
      "required": [
        "teamviewer_id",
        "malwarebytes_machine_id"
      ],
      "type": "object",
      "properties": {
        "teamviewer_id": {
          "format": "int64",
          "type": "integer"
        },
        "malwarebytes_machine_id": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.AssignmentDataResponse": {
      "description": "Assignment Data response",
      "type": "object",
      "properties": {
        "assignmentData": {
          "format": "byte",
          "description": "The base64-encoded ByteArray of the AssignmentData protobuf object",
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.ManagedDeviceDetailModel": {
      "type": "object",
      "properties": {
        "teamviewerPolicyId": {
          "format": "uuid",
          "description": "TeamViewer policy identifier.\r\nNot set, if no policy is assigned to the device.",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "teamViewerVersion": {
          "description": "TeamViewerClient Verion",
          "type": "string"
        },
        "deviceDescription": {
          "description": "Device description",
          "type": "string"
        },
        "id": {
          "format": "uuid",
          "description": "Identifier of the device in the Managed Devices system.",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "teamviewerId": {
          "format": "int64",
          "description": "The TeamViewer identifier of the device.",
          "type": "integer"
        },
        "name": {
          "description": "Display name of the device.",
          "type": "string"
        },
        "isOnline": {
          "description": "Online status of the device.",
          "type": "boolean"
        },
        "last_seen": {
          "format": "date-time",
          "description": "LastSeen time of the offline device. Will be set only for offline devices",
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.ManagedDevicesPutParameters": {
      "type": "object",
      "properties": {
        "name": {
          "maxLength": 100,
          "minLength": 1,
          "type": "string"
        },
        "teamviewerPolicyId": {
          "type": "string"
        },
        "managedGroupId": {
          "type": "string"
        },
        "permissionInheritanceType": {
          "format": "int32",
          "enum": [
            0,
            1
          ],
          "type": "integer"
        }
      }
    },
    "TeamViewer.Module.ManagedDeviceV2.DataTypes.EditDeviceGroupsParameters": {
      "type": "object",
      "properties": {
        "AddedChainIds": {
          "type": "array",
          "items": {
            "format": "uuid",
            "type": "string",
            "example": "00000000-0000-0000-0000-000000000000"
          }
        },
        "RemovedChainIds": {
          "type": "array",
          "items": {
            "format": "uuid",
            "type": "string",
            "example": "00000000-0000-0000-0000-000000000000"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ManagedDeviceV2.ManagedDeviceDescriptionPutParameters": {
      "type": "object",
      "properties": {
        "deviceDescription": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.Intune.DeviceMappingRequestParams": {
      "required": [
        "entraDeviceIds"
      ],
      "type": "object",
      "properties": {
        "entraDeviceIds": {
          "type": "array",
          "items": {
            "format": "uuid",
            "type": "string",
            "example": "00000000-0000-0000-0000-000000000000"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.MeetingsResponse": {
      "type": "object",
      "properties": {
        "meetings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.MeetingResponse"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.MeetingResponse": {
      "type": "object",
      "properties": {
        "id": {
          "description": "The unique meeting ID.",
          "type": "string"
        },
        "subject": {
          "description": "The subject of the meeting.",
          "type": "string"
        },
        "start": {
          "description": "The start date and time of the meeting.",
          "type": "string"
        },
        "end": {
          "description": "The end date and time for the meeting.",
          "type": "string"
        },
        "password": {
          "description": "The meeting password. Omitted if no password is set.",
          "type": "string"
        },
        "conference_call_information": {
          "$ref": "#/definitions/TeamViewer.WebApi.Base.Models.ConferenceCallInformationApiModel",
          "description": "Information about the conference call-"
        },
        "participant_web_link": {
          "description": "A web link to join the meeting.",
          "type": "string"
        }
      }
    },
    "TeamViewer.WebApi.Base.Models.ConferenceCallInformationApiModel": {
      "type": "object",
      "properties": {
        "type": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "custom_data": {
          "type": "string"
        }
      }
    },
    "TeamViewer.WebApi.Base.Models.MeetingsPostParameters": {
      "type": "object",
      "properties": {
        "instant": {
          "type": "boolean"
        },
        "subject": {
          "type": "string"
        },
        "start": {
          "type": "string"
        },
        "end": {
          "type": "string"
        },
        "password": {
          "type": "string"
        },
        "conference_call_information": {
          "$ref": "#/definitions/TeamViewer.WebApi.Base.Models.ConferenceCallInformationApiModel"
        }
      }
    },
    "TeamViewer.WebApi.Base.Models.MeetingsPutParameters": {
      "type": "object",
      "properties": {
        "subject": {
          "type": "string"
        },
        "start": {
          "type": "string"
        },
        "end": {
          "type": "string"
        },
        "password": {
          "type": "string"
        },
        "conference_call_information": {
          "$ref": "#/definitions/TeamViewer.WebApi.Base.Models.ConferenceCallInformationApiModel"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.GetMeetingInvitationResponse": {
      "type": "object",
      "properties": {
        "invitation_text": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.BlizzMeetingResponse": {
      "type": "object",
      "properties": {
        "id": {
          "description": "The unique meeting ID.",
          "type": "string"
        },
        "subject": {
          "description": "The subject of the meeting.",
          "type": "string"
        },
        "start": {
          "description": "The start date and time of the meeting.",
          "type": "string"
        },
        "end": {
          "description": "The end date and time for the meeting.",
          "type": "string"
        },
        "password": {
          "description": "The meeting password. Omitted if no password is set.",
          "type": "string"
        },
        "participant_web_link": {
          "description": "A web link to join the meeting.",
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.BlizzMeetingsResponse": {
      "type": "object",
      "properties": {
        "blizzMeetings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.BlizzMeetingResponse"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.MonitoringActivationParamters": {
      "required": [
        "teamviewer_id"
      ],
      "type": "object",
      "properties": {
        "teamviewer_id": {
          "format": "int64",
          "type": "integer"
        },
        "monitoring_policy_id": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "patch_management_policy_id": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.DeviceResponse": {
      "type": "object",
      "properties": {
        "teamviewer_id": {
          "format": "int64",
          "type": "integer"
        },
        "monitoring_activation_status": {
          "type": "string"
        },
        "patch_management_activation_status": {
          "type": "string"
        }
      }
    },
    "TeamViewer.DeprecatedBase.DataType.ItBrain.MonitoringActiveDeviceInformation": {
      "type": "object",
      "properties": {
        "Alias": {
          "type": "string"
        },
        "TeamviewerId": {
          "format": "int64",
          "type": "integer"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.Monitoring.GetSystemInformationResponse": {
      "type": "object",
      "properties": {
        "teamviewer_id": {
          "format": "int64",
          "type": "integer"
        },
        "computer_name": {
          "type": "string"
        },
        "domain": {
          "type": "string"
        },
        "internal_ip": {
          "type": "string"
        },
        "external_ip": {
          "type": "string"
        },
        "os_name": {
          "type": "string"
        },
        "os_version": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.Monitoring.GetDeviceHardwareResponse": {
      "type": "object",
      "properties": {
        "teamviewer_id": {
          "format": "int64",
          "type": "integer"
        },
        "device_name": {
          "type": "string"
        },
        "group_name": {
          "type": "string"
        },
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.Monitoring.HardwareItem"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.Monitoring.HardwareItem": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "type": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            4,
            5,
            6,
            7,
            8,
            9,
            11,
            13
          ],
          "type": "integer"
        },
        "details": {
          "type": "string"
        },
        "manufacturer": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.Monitoring.GetDeviceSoftwareResponse": {
      "type": "object",
      "properties": {
        "teamviewer_id": {
          "format": "int64",
          "type": "integer"
        },
        "device_name": {
          "type": "string"
        },
        "group_name": {
          "type": "string"
        },
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.Monitoring.SoftwareItem"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.Monitoring.SoftwareItem": {
      "type": "object",
      "properties": {
        "Id": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "type": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "version": {
          "type": "string"
        },
        "modified_date": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.Monitoring.GetMonitoringAlarmsParameters": {
      "type": "object",
      "properties": {
        "Status": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "DeviceId": {
          "type": "string"
        },
        "GroupId": {
          "format": "int32",
          "type": "integer"
        },
        "ContinuationToken": {
          "type": "string"
        },
        "StartDate": {
          "type": "string"
        },
        "EndDate": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.Monitoring.GetMonitoringAlarmsResponse": {
      "type": "object",
      "properties": {
        "Alarms": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.Monitoring.Alarm"
          }
        },
        "ContinuationToken": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.Monitoring.Alarm": {
      "type": "object",
      "properties": {
        "AlarmId": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "Type": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            5,
            6,
            7,
            8,
            9,
            10,
            11,
            18,
            20,
            21,
            22,
            23,
            24,
            25,
            26,
            27
          ],
          "type": "integer"
        },
        "AlarmConfiguration": {
          "type": "string"
        },
        "AlarmDetails": {
          "type": "string"
        },
        "DeviceId": {
          "format": "int64",
          "type": "integer"
        },
        "GroupId": {
          "format": "int32",
          "type": "integer"
        },
        "Status": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "TimeFrame": {
          "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.Monitoring.AlarmTimeFrame"
        },
        "GroupIds": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.Monitoring.AlarmTimeFrame": {
      "type": "object",
      "properties": {
        "FoundAt": {
          "format": "date-time",
          "type": "string"
        },
        "ResolvedAt": {
          "format": "date-time",
          "type": "string"
        },
        "AcknowledgedAt": {
          "format": "date-time",
          "type": "string"
        },
        "AcknowledgedBy": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.GetMonitoringPoliciesResponse": {
      "type": "object",
      "properties": {
        "policies": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.MonitoringPolicy"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.MonitoringPolicy": {
      "type": "object",
      "properties": {
        "policy_id": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "policy_name": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.PolicyAssignParameters": {
      "required": [
        "teamviewer_ids"
      ],
      "type": "object",
      "properties": {
        "teamviewer_ids": {
          "type": "array",
          "items": {
            "format": "int64",
            "type": "integer"
          }
        },
        "policy_id": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "managed_group_id": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.AssignPolicyResponse": {
      "type": "object",
      "properties": {
        "teamviewer_id": {
          "format": "int64",
          "type": "integer"
        },
        "success": {
          "type": "boolean"
        },
        "description": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.OAuth2TokenPostParameters": {
      "required": [
        "grant_type"
      ],
      "type": "object",
      "properties": {
        "grant_type": {
          "format": "int32",
          "enum": [
            0,
            1
          ],
          "type": "integer"
        },
        "code": {
          "type": "string"
        },
        "redirect_uri": {
          "type": "string"
        },
        "client_id": {
          "type": "string"
        },
        "scope": {
          "type": "string"
        },
        "refresh_token": {
          "type": "string"
        },
        "username": {
          "type": "string"
        },
        "password": {
          "type": "string"
        },
        "client_secret": {
          "type": "string"
        },
        "code_verifier": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.OAuth2PermanentAccessTokenCreateParameters": {
      "type": "object",
      "properties": {
        "scope": {
          "type": "string"
        },
        "name": {
          "maxLength": 20,
          "minLength": 5,
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.OAuth2PermanentAccessTokenCreateResponse": {
      "type": "object",
      "properties": {
        "AccessToken": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.OAuth2ClientPutParameters": {
      "required": [
        "redirect_uri"
      ],
      "type": "object",
      "properties": {
        "redirect_uri": {
          "type": "string"
        },
        "description": {
          "maxLength": 150,
          "minLength": 0,
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.OAuth2ClientResponse": {
      "type": "object",
      "properties": {
        "client_id": {
          "type": "string"
        },
        "client_secret": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.OAuth2ClientParameters": {
      "required": [
        "redirect_uri",
        "name"
      ],
      "type": "object",
      "properties": {
        "scope": {
          "type": "string"
        },
        "redirect_uri": {
          "type": "string"
        },
        "description": {
          "maxLength": 150,
          "minLength": 0,
          "type": "string"
        },
        "name": {
          "maxLength": 20,
          "minLength": 5,
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.OAuth2TransferAuthorizationParameters": {
      "type": "object",
      "properties": {
        "target_client_id": {
          "type": "string"
        },
        "target_client_secret": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.OAuth2TransferAuthorizationResponse": {
      "type": "object",
      "properties": {
        "redirect_uri": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.OAuth2AuthenticatePostParameters": {
      "type": "object",
      "properties": {
        "token": {
          "type": "string"
        },
        "tokendata": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.OAuth2AuthenticatePostResponse": {
      "type": "object",
      "properties": {
        "accountid": {
          "format": "int32",
          "type": "integer"
        },
        "servicename": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Controllers.RegisterRequest": {
      "type": "object",
      "properties": {
        "CustomerAccessTokenId": {
          "format": "int32",
          "type": "integer"
        },
        "IntegrationOwner": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.CreateCustomerPostParameters": {
      "type": "object",
      "properties": {
        "Email": {
          "type": "string"
        },
        "ResellerId": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.CreateCustomerPostResponse": {
      "type": "object",
      "properties": {
        "ResellerId": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "Email": {
          "type": "string"
        },
        "AccountId": {
          "format": "int32",
          "type": "integer"
        },
        "CreatedAt": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.GetCustomerListResponse": {
      "type": "object",
      "properties": {
        "Customers": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.CustomerResponse"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.CustomerResponse": {
      "type": "object",
      "properties": {
        "ResellerId": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "Email": {
          "type": "string"
        },
        "CreatedAt": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.CreateResellerPostParameters": {
      "type": "object",
      "properties": {
        "Description": {
          "type": "string"
        },
        "Email": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.CreateResellerPostResponse": {
      "type": "object",
      "properties": {
        "ResellerId": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.GetResellerListResponse": {
      "type": "object",
      "properties": {
        "Resellers": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ResellerResponse"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ResellerResponse": {
      "type": "object",
      "properties": {
        "ResellerId": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "AccountId": {
          "format": "int32",
          "type": "integer"
        },
        "Description": {
          "type": "string"
        },
        "LicenseFeatures": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.SecretKeyRequestParameters": {
      "required": [
        "remotecontrol_id",
        "request_id",
        "key_permissions",
        "tenant_id"
      ],
      "type": "object",
      "properties": {
        "remotecontrol_id": {
          "type": "string"
        },
        "request_id": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "key_permissions": {
          "type": "string"
        },
        "tenant_id": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.SecretKeyResponseParameters": {
      "type": "object",
      "properties": {
        "device_key_id": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "encrypted_device_key": {
          "type": "string"
        },
        "encrypted_decommission_token": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.RequestControlParameters": {
      "required": [
        "tenant_id",
        "tenant_nonce",
        "remotecontrol_id",
        "device_key_id",
        "control_type"
      ],
      "type": "object",
      "properties": {
        "tenant_id": {
          "type": "string"
        },
        "tenant_nonce": {
          "type": "string"
        },
        "remotecontrol_id": {
          "type": "string"
        },
        "device_key_id": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "control_type": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.RequestControlResponseParameters": {
      "type": "object",
      "properties": {
        "encrypted_device_secret": {
          "type": "string"
        },
        "target_nonce": {
          "type": "string"
        },
        "teamviewer_protocol_url": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.UnregisterDeviceParameters": {
      "required": [
        "tenant_id",
        "remotecontrol_id",
        "device_key_id",
        "decommission_token"
      ],
      "type": "object",
      "properties": {
        "tenant_id": {
          "type": "string"
        },
        "remotecontrol_id": {
          "type": "string"
        },
        "device_key_id": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "decommission_token": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.PageResponse`1[[TeamViewer.Role.Web.Api.Models.OrganizationalUnits.OrganizationalUnitResponse, TeamViewer.Role.Web.Api, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]": {
      "description": "Page response of the data list",
      "required": [
        "resultsTotal",
        "currentPage ",
        "pageSize",
        "pagesTotal"
      ],
      "type": "object",
      "properties": {
        "data": {
          "description": "List of items on the current page",
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.OrganizationalUnits.OrganizationalUnitResponse"
          }
        },
        "resultsTotal": {
          "format": "int32",
          "description": "The total count of result",
          "type": "integer"
        },
        "currentPage ": {
          "format": "int32",
          "description": "The current page number being requested. The first page is 1",
          "type": "integer"
        },
        "pageSize": {
          "format": "int32",
          "description": "The number of records returned per page",
          "type": "integer"
        },
        "pagesTotal": {
          "format": "int32",
          "description": "Total available pages based on total record count and page size",
          "type": "integer"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.OrganizationalUnits.OrganizationalUnitResponse": {
      "description": "Organizational Unit Model for API",
      "required": [
        "id",
        "name"
      ],
      "type": "object",
      "properties": {
        "id": {
          "format": "uuid",
          "description": "The unique identifier of the organizational unit",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "parentId": {
          "format": "uuid",
          "description": "The unique identifier of the parent organizational unit of the organizational unit",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "name": {
          "description": "The name of the organizational unit",
          "type": "string"
        },
        "description": {
          "description": "The description of the organizational unit",
          "type": "string"
        },
        "createdAt": {
          "$ref": "#/definitions/System.Nullable`1[[Core.Utils.DateTimeUtc, Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]",
          "description": "Datetime when the organizational unit was created",
          "readOnly": true
        },
        "updatedAt": {
          "$ref": "#/definitions/System.Nullable`1[[Core.Utils.DateTimeUtc, Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]",
          "description": "Datetime when the organizational unit was last updated",
          "readOnly": true
        }
      }
    },
    "System.Nullable`1[[Core.Utils.DateTimeUtc, Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]": {
      "type": "object",
      "properties": {
        "_underlyingValue": {
          "format": "date-time",
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.OrganizationalUnits.OrganizationalUnitCreateRequestBodyParameters": {
      "description": "Organizational unit request body model",
      "required": [
        "name"
      ],
      "type": "object",
      "properties": {
        "name": {
          "description": "The name of the organizational unit",
          "maxLength": 100,
          "minLength": 1,
          "type": "string"
        },
        "description": {
          "description": "The description of the organizational unit",
          "maxLength": 300,
          "minLength": 0,
          "type": "string"
        },
        "parentId": {
          "format": "uuid",
          "description": "The unique identifier of the parent organizational unit of the organizational unit",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.OrganizationalUnits.OrganizationalUnitEditRequestBodyParameters": {
      "description": "Organizational unit request body model",
      "type": "object",
      "properties": {
        "name": {
          "description": "The name of the organizational unit",
          "maxLength": 100,
          "minLength": 1,
          "type": "string"
        },
        "description": {
          "description": "The description of the organizational unit",
          "maxLength": 300,
          "minLength": 0,
          "type": "string"
        },
        "parentId": {
          "format": "uuid",
          "description": "The unique identifier of the parent organizational unit of the organizational unit",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.PatchManagement.GetActiveDevicesRequest": {
      "type": "object",
      "properties": {
        "continuation_token": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.PatchManagementDevicesResponse": {
      "type": "object",
      "properties": {
        "devices": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ActiveDeviceInformation"
          }
        },
        "continuation_token": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ActiveDeviceInformation": {
      "type": "object",
      "properties": {
        "teamviewer_id": {
          "format": "int64",
          "type": "integer"
        },
        "activation_time": {
          "$ref": "#/definitions/System.Nullable`1[[Core.Utils.DateTimeUtc, Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.GetPatchManagementPolicyResponse": {
      "type": "object",
      "properties": {
        "policies": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.PatchManagementPolicy"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.PatchManagementPolicy": {
      "type": "object",
      "properties": {
        "policy_id": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "policy_name": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.PatchManagement.GetPatchScanResultCountsRequest": {
      "type": "object",
      "properties": {
        "device_id_list": {
          "type": "array",
          "items": {
            "format": "int32",
            "type": "integer"
          }
        },
        "continuation_token": {
          "type": "string"
        }
      }
    },
    "TeamViewer.DeprecatedBase.DataType.PatchManagement.PatchScanResultCountInfo": {
      "type": "object",
      "properties": {
        "DeviceMissingPatchesCountInfoList": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.DeprecatedBase.DataType.PatchManagement.DeviceMissingPatchesCountInfo"
          }
        },
        "ContinuationToken": {
          "type": "string"
        }
      }
    },
    "TeamViewer.DeprecatedBase.DataType.PatchManagement.DeviceMissingPatchesCountInfo": {
      "type": "object",
      "properties": {
        "DeviceId": {
          "format": "int64",
          "type": "integer"
        },
        "ErrorCode": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4
          ],
          "type": "integer"
        },
        "ScanResultCount": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.PatchManagement.GetPatchScanResultResponse": {
      "type": "object",
      "properties": {
        "device_id": {
          "format": "int64",
          "type": "integer"
        },
        "patches": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.PatchManagement.MissingPatchData"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.PatchManagement.MissingPatchData": {
      "type": "object",
      "properties": {
        "patch_id": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "patch_region_id": {
          "format": "int32",
          "type": "integer"
        },
        "severity": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6
          ],
          "type": "integer"
        },
        "product_name": {
          "type": "string"
        },
        "bulletin_name": {
          "type": "string"
        },
        "bulletin_url": {
          "type": "string"
        },
        "bulletin_title": {
          "type": "string"
        },
        "download_url": {
          "type": "string"
        },
        "type": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7
          ],
          "type": "integer"
        },
        "kb": {
          "type": "string"
        },
        "cve": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "release_date": {
          "$ref": "#/definitions/System.Nullable`1[[Core.Utils.DateTimeUtc, Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]"
        },
        "patch_size": {
          "format": "int64",
          "type": "integer"
        },
        "patch_details": {
          "type": "string"
        },
        "installable": {
          "type": "boolean"
        },
        "is_service_pack": {
          "type": "boolean"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.PingResponse": {
      "type": "object",
      "properties": {
        "token_valid": {
          "type": "boolean"
        }
      }
    },
    "Core.Environment.Utils.ServiceVersionInfo": {
      "type": "object",
      "properties": {
        "ReleaseInfo": {
          "type": "string"
        },
        "VersionInfo": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.AccountCompanyScope": {
      "description": "Account, Company, Permissions info.",
      "type": "object",
      "properties": {
        "AccountId": {
          "format": "int32",
          "type": "integer"
        },
        "CompanyId": {
          "format": "int32",
          "type": "integer"
        },
        "Scope": {
          "$ref": "#/definitions/TeamViewer.WebApi.Base.DataType.ApiScope"
        }
      }
    },
    "TeamViewer.WebApi.Base.DataType.ApiScope": {
      "type": "object",
      "properties": {
        "OAuth2Permissions": {
          "format": "int32",
          "enum": [
            1,
            2,
            4
          ],
          "type": "integer"
        },
        "AccountPermissions": {
          "format": "int32",
          "enum": [
            1,
            2,
            4,
            8,
            16,
            32,
            64,
            128,
            256,
            512,
            1024,
            2048,
            4096,
            8192
          ],
          "type": "integer"
        },
        "GroupsPermissions": {
          "format": "int32",
          "enum": [
            1,
            2,
            4,
            8,
            16
          ],
          "type": "integer"
        },
        "UsersPermissions": {
          "format": "int32",
          "enum": [
            1,
            2,
            4,
            8,
            16,
            32,
            64,
            128,
            256
          ],
          "type": "integer"
        },
        "SessionsPermissions": {
          "format": "int32",
          "enum": [
            1,
            2,
            4,
            8,
            16,
            32,
            64
          ],
          "type": "integer"
        },
        "ConnectionsPermissions": {
          "format": "int32",
          "enum": [
            1,
            2,
            4
          ],
          "type": "integer"
        },
        "IoTSensorPolicyPermissions": {
          "format": "int32",
          "enum": [
            1,
            2,
            4
          ],
          "type": "integer"
        },
        "ModulesConfigPermissions": {
          "format": "int32",
          "enum": [
            1,
            2,
            4,
            8
          ],
          "type": "integer"
        },
        "MeetingPermissions": {
          "format": "int32",
          "enum": [
            1,
            2,
            4,
            8
          ],
          "type": "integer"
        },
        "ContactListPermissions": {
          "format": "int32",
          "enum": [
            1,
            2,
            4,
            8
          ],
          "type": "integer"
        },
        "OemManagementPermissions": {
          "format": "int32",
          "enum": [
            1,
            2
          ],
          "type": "integer"
        },
        "TeamViewerPoliciesPermissions": {
          "format": "int32",
          "enum": [
            1,
            2,
            4,
            8
          ],
          "type": "integer"
        },
        "RemoteAccessPermissions": {
          "format": "int32",
          "enum": [
            1,
            2,
            4
          ],
          "type": "integer"
        },
        "VendorManagementPermissions": {
          "format": "int32",
          "enum": [
            1,
            2,
            4,
            8,
            16
          ],
          "type": "integer"
        },
        "TenantManagementPermissions": {
          "format": "int32",
          "enum": [
            1,
            2,
            4,
            8
          ],
          "type": "integer"
        },
        "OemConnectionsPermissions": {
          "format": "int32",
          "enum": [
            1
          ],
          "type": "integer"
        },
        "OemUsagePermissions": {
          "format": "int32",
          "enum": [
            1
          ],
          "type": "integer"
        },
        "ClientWebApiPermissions": {
          "format": "int32",
          "enum": [
            1,
            2,
            4
          ],
          "type": "integer"
        },
        "SsoManageDomainsPermissions": {
          "format": "int32",
          "enum": [
            1
          ],
          "type": "integer"
        },
        "AuditabilityPermissions": {
          "format": "int32",
          "enum": [
            1
          ],
          "type": "integer"
        },
        "ChatPermissions": {
          "format": "int32",
          "enum": [
            1,
            2,
            4,
            8
          ],
          "type": "integer"
        },
        "EndpointProtectionPermissions": {
          "format": "int32",
          "enum": [
            1,
            2,
            4,
            8
          ],
          "type": "integer"
        },
        "ManagedDeviceV2Permissions": {
          "format": "int32",
          "enum": [
            1,
            2,
            4
          ],
          "type": "integer"
        },
        "WebMonitoringPermissions": {
          "format": "int32",
          "enum": [
            1,
            2,
            4,
            8
          ],
          "type": "integer"
        },
        "MonitoringPermissions": {
          "format": "int32",
          "enum": [
            1,
            2,
            4,
            8
          ],
          "type": "integer"
        },
        "AnalyticsCubePermissions": {
          "format": "int32",
          "enum": [
            1,
            2,
            4,
            8
          ],
          "type": "integer"
        },
        "IoTDataPermissions": {
          "format": "int32",
          "enum": [
            1,
            2
          ],
          "type": "integer"
        },
        "IoTDeviceConfigurationPermissions": {
          "format": "int32",
          "enum": [
            1,
            2,
            4
          ],
          "type": "integer"
        },
        "ReachLiveNotificationPermissions": {
          "format": "int32",
          "enum": [
            1
          ],
          "type": "integer"
        },
        "UserGroupsPermissions": {
          "format": "int32",
          "enum": [
            1,
            2,
            4,
            8
          ],
          "type": "integer"
        },
        "DashboardConfigurationPermissions": {
          "format": "int32",
          "enum": [
            1,
            2
          ],
          "type": "integer"
        },
        "EpMalwareBytesPermissions": {
          "format": "int32",
          "enum": [
            1,
            2
          ],
          "type": "integer"
        },
        "ConditionalAccessRulePermissions": {
          "format": "int32",
          "enum": [
            1,
            2,
            4,
            8
          ],
          "type": "integer"
        },
        "ConditionalAccessOptionPermissions": {
          "format": "int32",
          "enum": [
            1,
            2,
            4,
            8
          ],
          "type": "integer"
        },
        "OrganizationalUnitPermissions": {
          "format": "int32",
          "enum": [
            1,
            2,
            4,
            8
          ],
          "type": "integer"
        },
        "CompanyConsolidationPermissions": {
          "format": "int32",
          "enum": [
            1
          ],
          "type": "integer"
        },
        "CompanyManagementPermissions": {
          "format": "int32",
          "enum": [
            1,
            2,
            4
          ],
          "type": "integer"
        },
        "UserRolesPermissions": {
          "format": "int32",
          "enum": [
            1,
            2,
            4,
            8
          ],
          "type": "integer"
        },
        "VendorInformationPermissions": {
          "format": "int32",
          "enum": [
            1
          ],
          "type": "integer"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.TenantListResponse": {
      "type": "object",
      "properties": {
        "Tenants": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.TenantResponse"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.TenantResponse": {
      "type": "object",
      "properties": {
        "tenant_id": {
          "type": "string"
        },
        "tenant_account": {
          "type": "string"
        },
        "tenant_name": {
          "type": "string"
        },
        "tenant_userid": {
          "type": "string"
        },
        "vendor_id": {
          "type": "string"
        },
        "tenant_description": {
          "type": "string"
        },
        "active": {
          "type": "boolean"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.TenantPutParameters": {
      "type": "object",
      "properties": {
        "tenant_account": {
          "maxLength": 100,
          "minLength": 6,
          "pattern": "^[a-zA-Z0-9_-]+([='-+.][a-zA-Z0-9_-]+)*@(?!((rppkn|nwldx)\\.com|bobmail\\.info|asdasd\\.ru)$)([a-zA-Z0-9](-?[a-zA-Z0-9])*\\.)+[a-zA-Z]{2,}$",
          "type": "string"
        },
        "tenant_name": {
          "maxLength": 50,
          "minLength": 5,
          "type": "string"
        },
        "tenant_description": {
          "maxLength": 500,
          "minLength": 0,
          "type": "string"
        },
        "active": {
          "type": "boolean"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.GetDevicesByTenantParameters": {
      "type": "object",
      "properties": {
        "StartTime": {
          "$ref": "#/definitions/System.Nullable`1[[Core.Utils.DateTimeUtc, Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]"
        },
        "EndTime": {
          "$ref": "#/definitions/System.Nullable`1[[Core.Utils.DateTimeUtc, Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]"
        },
        "DeviceState": {
          "type": "string"
        },
        "ContinuationToken": {
          "format": "byte",
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.GetDevicesByTenantResponse": {
      "type": "object",
      "properties": {
        "Devices": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.WebApi.Base.DataType.GetDevicesDeviceDetail"
          }
        },
        "ContinuationToken": {
          "format": "byte",
          "type": "string"
        }
      }
    },
    "TeamViewer.WebApi.Base.DataType.GetDevicesDeviceDetail": {
      "type": "object",
      "properties": {
        "DyngateId": {
          "format": "int64",
          "type": "integer"
        },
        "DeviceKeyId": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "RegistrationTime": {
          "type": "string"
        },
        "DeregistrationTime": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.TenantPostParameters": {
      "required": [
        "tenant_account",
        "tenant_name"
      ],
      "type": "object",
      "properties": {
        "tenant_account": {
          "maxLength": 100,
          "minLength": 6,
          "pattern": "^[a-zA-Z0-9_-]+([='-+.][a-zA-Z0-9_-]+)*@(?!((rppkn|nwldx)\\.com|bobmail\\.info|asdasd\\.ru)$)([a-zA-Z0-9](-?[a-zA-Z0-9])*\\.)+[a-zA-Z]{2,}$",
          "type": "string"
        },
        "tenant_name": {
          "maxLength": 50,
          "minLength": 5,
          "type": "string"
        },
        "tenant_description": {
          "maxLength": 500,
          "minLength": 0,
          "type": "string"
        },
        "active": {
          "type": "boolean"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.GetAllReachReportResponse": {
      "type": "object",
      "properties": {
        "ContinuationToken": {
          "type": "string"
        },
        "ReachReports": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetReachReportResponse"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.GetReachReportResponse": {
      "type": "object",
      "properties": {
        "id": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "vendor_id": {
          "type": "string"
        },
        "tenant_id": {
          "type": "string"
        },
        "timestamp": {
          "format": "date-time",
          "type": "string"
        },
        "client_id": {
          "format": "int64",
          "type": "integer"
        },
        "server_id": {
          "format": "int64",
          "type": "integer"
        },
        "client_account_id": {
          "format": "int32",
          "type": "integer"
        },
        "server_account_id": {
          "format": "int32",
          "type": "integer"
        },
        "session_type": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            11,
            12,
            13,
            14
          ],
          "type": "integer"
        },
        "control_type": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "start_date": {
          "type": "string"
        },
        "end_date": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.VendorResponse": {
      "type": "object",
      "properties": {
        "vendor_id": {
          "type": "string"
        },
        "vendor_account": {
          "type": "string"
        },
        "vendor_userid": {
          "type": "string"
        },
        "contact_email": {
          "type": "string"
        },
        "contact_name": {
          "type": "string"
        },
        "company_name": {
          "type": "string"
        },
        "secondary_contact": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "billing_email": {
          "type": "string"
        },
        "account_manager": {
          "type": "string"
        },
        "license_feature_set": {
          "type": "string"
        },
        "active": {
          "type": "boolean"
        },
        "can_register_app": {
          "type": "boolean"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.VendorPostParameters": {
      "required": [
        "vendor_account",
        "contact_email",
        "contact_name",
        "company_name"
      ],
      "type": "object",
      "properties": {
        "vendor_account": {
          "maxLength": 50,
          "minLength": 6,
          "pattern": "^[a-zA-Z0-9_-]+([='-+.][a-zA-Z0-9_-]+)*@(?!((rppkn|nwldx)\\.com|bobmail\\.info|asdasd\\.ru)$)([a-zA-Z0-9](-?[a-zA-Z0-9])*\\.)+[a-zA-Z]{2,}$",
          "type": "string"
        },
        "contact_email": {
          "maxLength": 50,
          "minLength": 6,
          "pattern": "^[a-zA-Z0-9_-]+([='-+.][a-zA-Z0-9_-]+)*@(?!((rppkn|nwldx)\\.com|bobmail\\.info|asdasd\\.ru)$)([a-zA-Z0-9](-?[a-zA-Z0-9])*\\.)+[a-zA-Z]{2,}$",
          "type": "string"
        },
        "contact_name": {
          "maxLength": 100,
          "minLength": 0,
          "type": "string"
        },
        "company_name": {
          "maxLength": 100,
          "minLength": 0,
          "type": "string"
        },
        "secondary_contact": {
          "maxLength": 50,
          "minLength": 0,
          "pattern": "^[a-zA-Z0-9_-]+([='-+.][a-zA-Z0-9_-]+)*@(?!((rppkn|nwldx)\\.com|bobmail\\.info|asdasd\\.ru)$)([a-zA-Z0-9](-?[a-zA-Z0-9])*\\.)+[a-zA-Z]{2,}$",
          "type": "string"
        },
        "description": {
          "maxLength": 200,
          "minLength": 0,
          "type": "string"
        },
        "billing_email": {
          "maxLength": 50,
          "minLength": 6,
          "pattern": "^[a-zA-Z0-9_-]+([='-+.][a-zA-Z0-9_-]+)*@(?!((rppkn|nwldx)\\.com|bobmail\\.info|asdasd\\.ru)$)([a-zA-Z0-9](-?[a-zA-Z0-9])*\\.)+[a-zA-Z]{2,}$",
          "type": "string"
        },
        "account_manager": {
          "maxLength": 50,
          "minLength": 0,
          "type": "string"
        },
        "active": {
          "type": "boolean"
        },
        "can_register_app": {
          "type": "boolean"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.VendorListResponse": {
      "type": "object",
      "properties": {
        "vendors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.VendorResponse"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.VendorPutParameters": {
      "type": "object",
      "properties": {
        "vendor_account": {
          "maxLength": 50,
          "minLength": 6,
          "pattern": "^[a-zA-Z0-9_-]+([='-+.][a-zA-Z0-9_-]+)*@(?!((rppkn|nwldx)\\.com|bobmail\\.info|asdasd\\.ru)$)([a-zA-Z0-9](-?[a-zA-Z0-9])*\\.)+[a-zA-Z]{2,}$",
          "type": "string"
        },
        "contact_email": {
          "maxLength": 50,
          "minLength": 6,
          "pattern": "^[a-zA-Z0-9_-]+([='-+.][a-zA-Z0-9_-]+)*@(?!((rppkn|nwldx)\\.com|bobmail\\.info|asdasd\\.ru)$)([a-zA-Z0-9](-?[a-zA-Z0-9])*\\.)+[a-zA-Z]{2,}$",
          "type": "string"
        },
        "contact_name": {
          "maxLength": 100,
          "minLength": 0,
          "type": "string"
        },
        "company_name": {
          "maxLength": 100,
          "minLength": 0,
          "type": "string"
        },
        "secondary_contact": {
          "maxLength": 50,
          "minLength": 0,
          "pattern": "^[a-zA-Z0-9_-]+([='-+.][a-zA-Z0-9_-]+)*@(?!((rppkn|nwldx)\\.com|bobmail\\.info|asdasd\\.ru)$)([a-zA-Z0-9](-?[a-zA-Z0-9])*\\.)+[a-zA-Z]{2,}$",
          "type": "string"
        },
        "description": {
          "maxLength": 200,
          "minLength": 0,
          "type": "string"
        },
        "billing_email": {
          "maxLength": 50,
          "minLength": 6,
          "pattern": "^[a-zA-Z0-9_-]+([='-+.][a-zA-Z0-9_-]+)*@(?!((rppkn|nwldx)\\.com|bobmail\\.info|asdasd\\.ru)$)([a-zA-Z0-9](-?[a-zA-Z0-9])*\\.)+[a-zA-Z]{2,}$",
          "type": "string"
        },
        "account_manager": {
          "maxLength": 50,
          "minLength": 0,
          "type": "string"
        },
        "active": {
          "type": "boolean"
        },
        "can_register_app": {
          "type": "boolean"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.GetDevicesByVendorParameters": {
      "type": "object",
      "properties": {
        "StartTime": {
          "$ref": "#/definitions/System.Nullable`1[[Core.Utils.DateTimeUtc, Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]"
        },
        "EndTime": {
          "$ref": "#/definitions/System.Nullable`1[[Core.Utils.DateTimeUtc, Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]"
        },
        "DeviceState": {
          "type": "string"
        },
        "ContinuationToken": {
          "format": "byte",
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.GetDevicesByVendorResponse": {
      "type": "object",
      "properties": {
        "Devices": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.WebApi.Base.DataType.GetDevicesDeviceDetail"
          }
        },
        "ContinuationToken": {
          "format": "byte",
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.GetAccessKeysResponse": {
      "type": "object",
      "properties": {
        "api_keys": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.ApiKeyPair"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ApiKeyPair": {
      "type": "object",
      "properties": {
        "api_key": {
          "type": "string"
        },
        "key_id": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.SetAccessKeyRequestParameters": {
      "required": [
        "api_key"
      ],
      "type": "object",
      "properties": {
        "api_key": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.SetAccessKeyResponse": {
      "type": "object",
      "properties": {
        "key_id": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.DeleteAccessKeyParameters": {
      "type": "object",
      "properties": {
        "key_list": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.GetReachNotificationsEndpointResponse": {
      "description": "Contains details about the SignalR endpoint to connect",
      "type": "object",
      "properties": {
        "hubProxy": {
          "description": "Name of the Hub that client will be connected",
          "type": "string",
          "readOnly": true
        },
        "eventList": {
          "description": "Event list to subscribe that are fired by SignalR server side",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "connectionEndpoint": {
          "description": "An instance endpoint that SignalR client will connect to",
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ClientWebApiGetTokenParameters": {
      "type": "object",
      "properties": {
        "hosts": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "TeamViewer.WebApi.Base.DataType.ClientWebApiGetTokenResponse": {
      "type": "object",
      "properties": {
        "Token": {
          "format": "byte",
          "type": "string"
        },
        "ValidUntil": {
          "format": "date-time",
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ClientWebApiUrlGetParameters": {
      "required": [
        "accountid"
      ],
      "type": "object",
      "properties": {
        "accountid": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "TeamViewer.WebApi.Base.DataType.ClientWebApiGetUrlResponse": {
      "type": "object",
      "properties": {
        "Hosts": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ClientWebApiUrlPostParameters": {
      "required": [
        "accountid",
        "host"
      ],
      "type": "object",
      "properties": {
        "accountid": {
          "format": "int32",
          "type": "integer"
        },
        "host": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Controllers.ApiStatus": {
      "type": "object",
      "properties": {
        "HasWcfConnection": {
          "type": "boolean"
        },
        "HasApiDbConnection": {
          "type": "boolean"
        },
        "RoleInstance": {
          "type": "string"
        },
        "Error": {
          "type": "string"
        },
        "TimeInfo": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.GetSocketAuthTokenResponse": {
      "type": "object",
      "properties": {
        "authParamName": {
          "type": "string",
          "readOnly": true
        },
        "connectionAuthToken": {
          "type": "string",
          "readOnly": true
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.GetTeamViewerPoliciesResponse": {
      "type": "object",
      "properties": {
        "policies": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.TeamViewerPolicy"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.TeamViewerPolicy": {
      "type": "object",
      "properties": {
        "policy_id": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "name": {
          "type": "string"
        },
        "settings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.DeprecatedBase.UiModels.RemoteSettingsPolicyUiModel+Setting"
          },
          "readOnly": true
        }
      }
    },
    "TeamViewer.DeprecatedBase.UiModels.RemoteSettingsPolicyUiModel+Setting": {
      "type": "object",
      "properties": {
        "Key": {
          "type": "string"
        },
        "Value": {
          "type": "object"
        },
        "Enforce": {
          "type": "boolean"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.PolicyParameters": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "settings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.DeprecatedBase.UiModels.RemoteSettingsPolicyUiModel+Setting"
          }
        },
        "default": {
          "type": "boolean"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ListResponse`1[[TeamViewer.Role.Web.Api.Models.UserGroups.UserGroupModel, TeamViewer.Role.Web.Api, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]": {
      "description": "Generic paged list response",
      "type": "object",
      "properties": {
        "currentPaginationToken": {
          "description": "The pagination token used to display the current page of resources.\r\nIf null, this is the first page.",
          "type": "string"
        },
        "nextPaginationToken": {
          "description": "The pagination token that can be used to fetch the next page of\r\nresources. If null, this is the last page.",
          "type": "string"
        },
        "resources": {
          "description": "Items of the current page.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.UserGroups.UserGroupModel"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.UserGroups.UserGroupModel": {
      "description": "A user group.",
      "type": "object",
      "properties": {
        "id": {
          "format": "int64",
          "description": "Identifier of the user group.",
          "type": "integer"
        },
        "name": {
          "description": "Display name of the user group.",
          "type": "string"
        },
        "creationSourceType": {
          "format": "int32",
          "description": "Creation source type of user group. (1 - API, 2 - UI, 3 - SCIM)",
          "enum": [
            1,
            2,
            3
          ],
          "type": "integer"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.UserGroups.UserGroupsPostParameters": {
      "description": "Parameters for creating a new user group.",
      "required": [
        "name"
      ],
      "type": "object",
      "properties": {
        "name": {
          "description": "Display name of the user group.",
          "maxLength": 100,
          "minLength": 1,
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.UserGroups.UserGroupPutParameters": {
      "description": "Parameters for changing a user group.",
      "type": "object",
      "properties": {
        "name": {
          "description": "New display name for the user group.",
          "maxLength": 100,
          "minLength": 1,
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.ListResponse`1[[TeamViewer.Role.Web.Api.Models.UserGroups.UserGroupMemberModel, TeamViewer.Role.Web.Api, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]": {
      "description": "Generic paged list response",
      "type": "object",
      "properties": {
        "currentPaginationToken": {
          "description": "The pagination token used to display the current page of resources.\r\nIf null, this is the first page.",
          "type": "string"
        },
        "nextPaginationToken": {
          "description": "The pagination token that can be used to fetch the next page of\r\nresources. If null, this is the last page.",
          "type": "string"
        },
        "resources": {
          "description": "Items of the current page.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.UserGroups.UserGroupMemberModel"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.UserGroups.UserGroupMemberModel": {
      "description": "Member of a user group",
      "type": "object",
      "properties": {
        "accountId": {
          "format": "int32",
          "description": "Account identifier of the user group member.",
          "type": "integer"
        },
        "name": {
          "description": "Display name of the corresponding TeamViewer account.",
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.UserGroups.GetUserGroupsAssignedUserRoleResponse": {
      "description": "User Group assignment response model",
      "type": "object",
      "properties": {
        "assignedRoleId": {
          "format": "uuid",
          "description": "Assigned user roles id",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.UsersPostParameters": {
      "required": [
        "email",
        "name",
        "language"
      ],
      "type": "object",
      "properties": {
        "email": {
          "maxLength": 100,
          "minLength": 6,
          "pattern": "^[a-zA-Z0-9_-]+([='-+.][a-zA-Z0-9_-]+)*@(?!((rppkn|nwldx)\\.com|bobmail\\.info|asdasd\\.ru)$)([a-zA-Z0-9](-?[a-zA-Z0-9])*\\.)+[a-zA-Z]{2,}$",
          "type": "string"
        },
        "password": {
          "type": "string"
        },
        "permissions": {
          "description": "Warning: deprecated field. Please use user role permissions.",
          "type": "string"
        },
        "userRoleId": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "name": {
          "maxLength": 50,
          "minLength": 2,
          "type": "string"
        },
        "language": {
          "maxLength": 10,
          "minLength": 2,
          "type": "string"
        },
        "created_from": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            11,
            12,
            13,
            14,
            15,
            16,
            17,
            18,
            19,
            20,
            25,
            26,
            27
          ],
          "type": "integer"
        },
        "subscribe_newsletter": {
          "type": "boolean"
        },
        "log_sessions": {
          "type": "boolean"
        },
        "show_comment_window": {
          "type": "boolean"
        },
        "custom_quicksupport_id": {
          "type": "string"
        },
        "custom_quickjoin_id": {
          "type": "string"
        },
        "license_key": {
          "type": "string"
        },
        "meeting_license_key": {
          "type": "string"
        },
        "sso_customer_id": {
          "type": "string"
        },
        "ignorePredefinedRole": {
          "type": "boolean"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.GetUserResponse": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "online_state": {
          "type": "string"
        },
        "permissions": {
          "description": "Warning: deprecated field. Please use user role permissions",
          "type": "string"
        },
        "active": {
          "type": "boolean"
        },
        "log_sessions": {
          "type": "boolean"
        },
        "show_comment_window": {
          "type": "boolean"
        },
        "custom_quicksupport_id": {
          "type": "string"
        },
        "custom_quickjoin_id": {
          "type": "string"
        },
        "email": {
          "type": "string"
        },
        "last_access_date": {
          "format": "date-time",
          "type": "string"
        },
        "activated_license_id": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "activated_license_name": {
          "type": "string"
        },
        "activated_subLicense_name": {
          "type": "string"
        },
        "activated_meeting_license_key": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "userRoleId": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "tfa_enforcement": {
          "type": "boolean"
        },
        "tfa_enabled": {
          "type": "boolean"
        },
        "sso_status": {
          "format": "int32",
          "description": "The user's current  SSO status. (0 - Unknown, 1 - Active, 2 - EmailExcluded,\r\n3 - NotValidated, 4 - CompanyExcluded, 5 - UserGroupExcluded, 6 - NotIncluded)",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6
          ],
          "type": "integer"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.GetAllUsersResponse": {
      "type": "object",
      "properties": {
        "users": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.Role.Web.Api.Models.GetUserResponse"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.UsersPutParameters": {
      "type": "object",
      "properties": {
        "email": {
          "maxLength": 100,
          "minLength": 6,
          "pattern": "^[a-zA-Z0-9_-]+([='-+.][a-zA-Z0-9_-]+)*@(?!((rppkn|nwldx)\\.com|bobmail\\.info|asdasd\\.ru)$)([a-zA-Z0-9](-?[a-zA-Z0-9])*\\.)+[a-zA-Z]{2,}$",
          "type": "string"
        },
        "name": {
          "maxLength": 50,
          "minLength": 2,
          "type": "string"
        },
        "permissions": {
          "description": "Warning: deprecated field. Please use user role permissions.",
          "type": "string"
        },
        "AssignUserRoleIds": {
          "type": "array",
          "items": {
            "format": "uuid",
            "type": "string",
            "example": "00000000-0000-0000-0000-000000000000"
          }
        },
        "UnassignUserRoleIds": {
          "type": "array",
          "items": {
            "format": "uuid",
            "type": "string",
            "example": "00000000-0000-0000-0000-000000000000"
          }
        },
        "password": {
          "type": "string"
        },
        "active": {
          "type": "boolean"
        },
        "log_sessions": {
          "type": "boolean"
        },
        "show_comment_window": {
          "type": "boolean"
        },
        "custom_quicksupport_id": {
          "type": "string"
        },
        "custom_quickjoin_id": {
          "type": "string"
        },
        "license_key": {
          "type": "string"
        },
        "sso_customer_id": {
          "type": "string"
        },
        "tfa_enforcement": {
          "type": "boolean"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.UserRoles.GetUsersAssignedUserRolesResponse": {
      "description": "User Role assignment response model",
      "type": "object",
      "properties": {
        "currentPaginationToken": {
          "description": "The pagination token used to display the current page of resources.\r\nIf null, this is the first page.",
          "type": "string"
        },
        "nextPaginationToken": {
          "description": "The pagination token that can be used to fetch the next page of\r\nresources. If null, this is the last page.",
          "type": "string"
        },
        "assignedRoleIds": {
          "description": "Assigned distinct role Ids (Direct and by user group membership)",
          "type": "array",
          "items": {
            "format": "uuid",
            "type": "string",
            "example": "00000000-0000-0000-0000-000000000000"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.JoinCompanyRequest.RespondToJoinCompanyRequestRequestModel": {
      "required": [
        "userId",
        "isAccepted"
      ],
      "type": "object",
      "properties": {
        "userId": {
          "description": "The pending join to company userID",
          "type": "string"
        },
        "isAccepted": {
          "description": "If true, then user will be accepted to the company",
          "type": "boolean"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.Users.GenerateJoinCompanyAccountKeyResponse": {
      "type": "object",
      "properties": {
        "AccountId": {
          "type": "string"
        },
        "TargetCompanyAdminEmail": {
          "type": "string"
        },
        "GeneratedJoinCompanyAccountKey": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.Users.GenerateJoinCompanyRequestParameters": {
      "type": "object",
      "properties": {
        "AccountId": {
          "type": "string"
        },
        "TargetCompanyAdminEmail": {
          "type": "string"
        },
        "AccountKey": {
          "type": "string"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.UserRoles.StoreUserRoleManagementRequest": {
      "description": "Create user role request model",
      "required": [
        "Name",
        "Permissions"
      ],
      "type": "object",
      "properties": {
        "Name": {
          "description": "User role name",
          "maxLength": 50,
          "minLength": 1,
          "type": "string"
        },
        "Permissions": {
          "description": "User role permissions",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.UserRoles.UserRoleManagementResponse": {
      "description": "User role management operation main model",
      "type": "object",
      "properties": {
        "Role": {
          "$ref": "#/definitions/TeamViewer.DeprecatedBase.DataType.CompanyUserRoles.CompanyUserRoleUiModel",
          "description": "User role model"
        }
      }
    },
    "TeamViewer.DeprecatedBase.DataType.CompanyUserRoles.CompanyUserRoleUiModel": {
      "type": "object",
      "properties": {
        "Name": {
          "type": "string"
        },
        "Id": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "Permissions": {
          "type": "object",
          "additionalProperties": {
            "type": "boolean"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.UserRoles.ModifyUserRoleManagementRequest": {
      "description": "User role model as request parameter",
      "required": [
        "Name",
        "Permissions",
        "UserRoleId"
      ],
      "type": "object",
      "properties": {
        "Name": {
          "description": "User role Name",
          "maxLength": 50,
          "minLength": 1,
          "type": "string"
        },
        "Permissions": {
          "description": "User role permissions",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "UserRoleId": {
          "format": "uuid",
          "description": "User Role ID",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.UserRoles.GetUserRolesResponse": {
      "description": "User role response data model for user role list requests",
      "type": "object",
      "properties": {
        "Roles": {
          "description": "List of user roles",
          "type": "array",
          "items": {
            "$ref": "#/definitions/TeamViewer.DeprecatedBase.DataType.CompanyUserRoles.CompanyUserRoleUiModel"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.UserRoles.GetUserRoleAssignmentResponse": {
      "description": "User Role assignment operation response model",
      "type": "object",
      "properties": {
        "ContinuationToken": {
          "description": "Continuation token parameter can be given for next page of records",
          "type": "string"
        },
        "AssignedToUsers": {
          "description": "Assigned user id list",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.UserRoles.GetUserGroupAssignmentResponse": {
      "description": "User Role assignment operation response model",
      "type": "object",
      "properties": {
        "ContinuationToken": {
          "description": "Continuation token parameter can be given for next page of records",
          "type": "string"
        },
        "AssignedToGroups": {
          "description": "Assigned user group id list",
          "type": "array",
          "items": {
            "format": "int64",
            "type": "integer"
          }
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.UserRoles.ModifyUserAssignmentRequest": {
      "description": "User assignment modification operations data model",
      "type": "object",
      "properties": {
        "UserIds": {
          "description": "UserId (accountId) list (UserIds should start with u char)",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "UserRoleId": {
          "format": "uuid",
          "description": "User role ID",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.UserRoles.ModifyUserGroupAssignmentRequest": {
      "description": "User group Assignment assignment data model",
      "type": "object",
      "properties": {
        "UserRoleId": {
          "format": "uuid",
          "description": "User role ID is only required for assignment operation",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "UserGroupId": {
          "format": "int64",
          "description": "UserGroupId is required for user group based assignments",
          "type": "integer"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.UserRoles.UnassignUserGroupAssignmentRequest": {
      "description": "User group assignment removal operations data model",
      "type": "object",
      "properties": {
        "UserGroupId": {
          "format": "int64",
          "description": "UserGroupId is required for user group based assignments",
          "type": "integer"
        }
      }
    },
    "TeamViewer.Role.Web.Api.Models.UserRoles.GetUserRolePredefinedResponse": {
      "description": "User Role Predefined Information Model",
      "type": "object",
      "properties": {
        "PredefinedUserRoleId": {
          "format": "uuid",
          "description": "Predefined user role ID (Null if no role set as predefined)",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        }
      }
    }
  },
  "securityDefinitions": {
    "Authorization": {
      "type": "apiKey",
      "description": "Add your token in the format: \"Bearer your_token\"",
      "name": "Authorization",
      "in": "header"
    }
  }
}