{"openapi":"3.0.0","info":{"description":"## Jump Desktop API\n\nThis file describes the Jump Desktop Cloud API. You can use the cloud api to manage your [Jump Desktop for Teams](https://jumpdesktop.com/#teams) account.\n\n[OpenAPI 3.0 Specification Download](https://jumpdesktop.com/openapi/openapi.json)\n\n## How to get started\n\nGenerate a API Token for your user account by visiting the [web dashboard](https://app.jumpdesktop.com), click **Security** row on the top left, scroll all the way to the bottom and click the **GENERATE NEW TOKEN** to generate a new API token. You can then use this API token to call the apis described in this file.\n\n## FAQ\n\n### How do I get my Team's ID?\n\nYour team’s id can be found in the URL when you visit https://app.jumpdesktop.com and click on your team's name in the left side bar. Your team's id is in the last part of the URL. In the example URL below,\nthe team'd id is: **T-01DC001CDDA14H5634420248**\n\nDashboard URL: https://app.jumpdesktop.com/dashboard/teams/**T-01DC001CDDA14H5634420248**\n\n### How do I programmatically add a computer to my team?\n\nCreate a pre-configured Jump Desktop Connect installer for your team. The URL for the installer will be returned in the \"connectDownloads\" field. Download and run the installer. Note: Make sure you don't rename\nthe file before installing it. Once the installer runs, it will automatically add the computer to the team.\n\n```\n\"connectDownloads\": {\n    \"macpkg\": \"url\",\n    \"winexe\": \"url\",\n    \"winmsi\": \"url\"\n}\n```\n\n### How can I integrate links to launch connections to team machines?\n\nUse the [/v1/team/{teamID}/device/{deviceID}/urls](#operation/team-get-connection-urls) endpoint to retrieve urls for the computer. These URLs are stable and won't change.\n\n```\n{\n  \"askScreenShare\": \"url\",\n  \"connect\": \"url\",\n  \"dashboard\": \"url\"\n}\n```\n\n### How do I get the user id from a user's email?\n\nEach user on a team has an associated user id. A user's id will never change and it is safe to store in your database. To get a user's user id from their email, use the [/v1/team/{teamID}/users](#operation/team-users-get) end point with 'email' query string.\n\n### How do I get a computer's device ID from a computer's name?\n\nEvery computer connected to the Jump Desktop Cloud gets a unique device id assigned to it. The device id for a computer does not change (unless Jump Desktop Connect's settings are rest on the computer). To search for a computer by name use the [/v1/team/{teamID}/devices](#operation/team-devices-get) endpoint with the 'name' query parameter.\n\n## Changelog\n\n### 1.0.4 2025-10-02\n\n- Documentation updates\n- Added `hasMoreEvents` and `nextOffset` fields in [/history/devices](#operation/team-device-events-get-history) api\n\n### 1.0.3 2022-10-24\n\n- Documentation fixes\n- Added new api to [overwrite remote access users and groups for a computer](#operation/team-device-members-set)\n\n### 1.0.2 2021-12-27\n\n- Fixed endpoint URLs by prefix /v1 to URLs\n- Added documentation categories\n- Add [/history/devices](#operation/team-device-events-get-history) endpoints to get combined computer connection history for a team\n\n### 1.0.1 2021-05-05\n\n- Added [/users](#operation/team-users-get) and [/devices](#operation/team-devices-get) endpoints. Use these endpoints to search for users by email or devices by name.\n\n### 1.0 2021-05-02\n\n- Public release\n\n### 0.3 2021-04-27\n\n- New: **annotation** endpoints: Annotations can be used to add user defined keys and values to team resources like users, access groups and computers.\n- **BREAKING CHANGE**: /team/device/delete/members endpoint has changed to /team/device/members/delete for consistency with other apis.\n\n### 0.2 2021-04-19\n\n- New: team/device endpoint to retrieve information about a single device\n- New: device/urls endpoint to get urls used to launch connections to computers\n\n### 0.1 2021-04-14\n\n- Initial API release\n","title":"Jump Desktop API","termsOfService":"https://jumpdesktop.com","contact":{"name":"Jump Desktop Support","url":"https://support.jumpdesktop.com","email":"support@jumpdesktop.com"},"version":"1.0"},"paths":{"/teams/{teamid}/billing/events":{"get":{"security":[{"ApiToken":[]}],"description":"Get all team events that affect the billable amount within a time range","tags":["Teams Billing"],"summary":"Get team billing ledger","parameters":[{"description":"Team ID","name":"teamid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TeamBillingLedgerResponse"}}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrors"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n  --url https://api.jumpdesktop.com/teams/teamid/billing/events \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n  \"method\": \"GET\",\n  \"hostname\": \"api.jumpdesktop.com\",\n  \"port\": null,\n  \"path\": \"/teams/teamid/billing/events\",\n  \"headers\": {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n  }\n};\n\nconst req = http.request(options, function (res) {\n  const chunks = [];\n\n  res.on(\"data\", function (chunk) {\n    chunks.push(chunk);\n  });\n\n  res.on(\"end\", function () {\n    const body = Buffer.concat(chunks);\n    console.log(body.toString());\n  });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.jumpdesktop.com/teams/teamid/billing/events\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"},{"lang":"Php + Http1","source":"<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://api.jumpdesktop.com/teams/teamid/billing/events');\n$request->setMethod(HTTP_METH_GET);\n\n$request->setHeaders([\n  'Authorization' => 'Bearer REPLACE_BEARER_TOKEN'\n]);\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n}"},{"lang":"Python + Python3","source":"import http.client\n\nconn = http.client.HTTPSConnection(\"api.jumpdesktop.com\")\n\nheaders = { 'Authorization': \"Bearer REPLACE_BEARER_TOKEN\" }\n\nconn.request(\"GET\", \"/teams/teamid/billing/events\", headers=headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode(\"utf-8\"))"},{"lang":"Csharp + Restsharp","source":"var client = new RestClient(\"https://api.jumpdesktop.com/teams/teamid/billing/events\");\nvar request = new RestRequest(Method.GET);\nrequest.AddHeader(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\");\nIRestResponse response = client.Execute(request);"}]}},"/v1/team/{teamID}":{"get":{"security":[{"ApiToken":[]}],"description":"Get team information. Non team admins will see a limited view of team information.","tags":["Team Information"],"summary":"Get information about a team.","operationId":"team-get-info","parameters":[{"description":"TeamID","name":"teamID","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamInfo"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrors"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n  --url https://api.jumpdesktop.com/v1/team/teamID \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n  \"method\": \"GET\",\n  \"hostname\": \"api.jumpdesktop.com\",\n  \"port\": null,\n  \"path\": \"/v1/team/teamID\",\n  \"headers\": {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n  }\n};\n\nconst req = http.request(options, function (res) {\n  const chunks = [];\n\n  res.on(\"data\", function (chunk) {\n    chunks.push(chunk);\n  });\n\n  res.on(\"end\", function () {\n    const body = Buffer.concat(chunks);\n    console.log(body.toString());\n  });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.jumpdesktop.com/v1/team/teamID\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"},{"lang":"Php + Http1","source":"<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://api.jumpdesktop.com/v1/team/teamID');\n$request->setMethod(HTTP_METH_GET);\n\n$request->setHeaders([\n  'Authorization' => 'Bearer REPLACE_BEARER_TOKEN'\n]);\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n}"},{"lang":"Python + Python3","source":"import http.client\n\nconn = http.client.HTTPSConnection(\"api.jumpdesktop.com\")\n\nheaders = { 'Authorization': \"Bearer REPLACE_BEARER_TOKEN\" }\n\nconn.request(\"GET\", \"/v1/team/teamID\", headers=headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode(\"utf-8\"))"},{"lang":"Csharp + Restsharp","source":"var client = new RestClient(\"https://api.jumpdesktop.com/v1/team/teamID\");\nvar request = new RestRequest(Method.GET);\nrequest.AddHeader(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\");\nIRestResponse response = client.Execute(request);"}]}},"/v1/team/{teamID}/device/members":{"patch":{"security":[{"ApiToken":[]}],"description":"Add remote access users to a computer","tags":["Team Computers"],"summary":"Add remote access users to a computer","operationId":"team-device-members-bulk-add","parameters":[{"description":"TeamID","name":"teamID","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamDeviceMembersBulkAddRequest"}}},"description":"Body","required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamGroupMembersBulkAddResponse"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamGroupMembersBulkAddResponse"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PATCH \\\n  --url https://api.jumpdesktop.com/v1/team/teamID/device/members \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"devices\":[\"string\"],\"groups\":[\"string\"],\"users\":[\"string\"]}'"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n  \"method\": \"PATCH\",\n  \"hostname\": \"api.jumpdesktop.com\",\n  \"port\": null,\n  \"path\": \"/v1/team/teamID/device/members\",\n  \"headers\": {\n    \"content-type\": \"application/json\",\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n  }\n};\n\nconst req = http.request(options, function (res) {\n  const chunks = [];\n\n  res.on(\"data\", function (chunk) {\n    chunks.push(chunk);\n  });\n\n  res.on(\"end\", function () {\n    const body = Buffer.concat(chunks);\n    console.log(body.toString());\n  });\n});\n\nreq.write(JSON.stringify({devices: ['string'], groups: ['string'], users: ['string']}));\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.jumpdesktop.com/v1/team/teamID/device/members\"\n\n\tpayload := strings.NewReader(\"{\\\"devices\\\":[\\\"string\\\"],\\\"groups\\\":[\\\"string\\\"],\\\"users\\\":[\\\"string\\\"]}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"},{"lang":"Php + Http1","source":"<?php\n\nHttpRequest::methodRegister('PATCH');\n$request = new HttpRequest();\n$request->setUrl('https://api.jumpdesktop.com/v1/team/teamID/device/members');\n$request->setMethod(HttpRequest::HTTP_METH_PATCH);\n\n$request->setHeaders([\n  'content-type' => 'application/json',\n  'Authorization' => 'Bearer REPLACE_BEARER_TOKEN'\n]);\n\n$request->setBody('{\"devices\":[\"string\"],\"groups\":[\"string\"],\"users\":[\"string\"]}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n}"},{"lang":"Python + Python3","source":"import http.client\n\nconn = http.client.HTTPSConnection(\"api.jumpdesktop.com\")\n\npayload = \"{\\\"devices\\\":[\\\"string\\\"],\\\"groups\\\":[\\\"string\\\"],\\\"users\\\":[\\\"string\\\"]}\"\n\nheaders = {\n    'content-type': \"application/json\",\n    'Authorization': \"Bearer REPLACE_BEARER_TOKEN\"\n    }\n\nconn.request(\"PATCH\", \"/v1/team/teamID/device/members\", payload, headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode(\"utf-8\"))"},{"lang":"Csharp + Restsharp","source":"var client = new RestClient(\"https://api.jumpdesktop.com/v1/team/teamID/device/members\");\nvar request = new RestRequest(Method.PATCH);\nrequest.AddHeader(\"content-type\", \"application/json\");\nrequest.AddHeader(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\");\nrequest.AddParameter(\"application/json\", \"{\\\"devices\\\":[\\\"string\\\"],\\\"groups\\\":[\\\"string\\\"],\\\"users\\\":[\\\"string\\\"]}\", ParameterType.RequestBody);\nIRestResponse response = client.Execute(request);"}]}},"/v1/team/{teamID}/device/members/delete":{"patch":{"security":[{"ApiToken":[]}],"description":"Add remote access users to a computer","tags":["Team Computers"],"summary":"Add remote access users to a computer","operationId":"team-device-members-bulk-remove","parameters":[{"description":"TeamID","name":"teamID","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamDeviceMembersBulkRemoveRequest"}}},"description":"Body","required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamGroupMembersBulkRemoveResponse"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamGroupMembersBulkRemoveResponse"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PATCH \\\n  --url https://api.jumpdesktop.com/v1/team/teamID/device/members/delete \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"devices\":[\"string\"],\"groups\":[\"string\"],\"users\":[\"string\"]}'"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n  \"method\": \"PATCH\",\n  \"hostname\": \"api.jumpdesktop.com\",\n  \"port\": null,\n  \"path\": \"/v1/team/teamID/device/members/delete\",\n  \"headers\": {\n    \"content-type\": \"application/json\",\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n  }\n};\n\nconst req = http.request(options, function (res) {\n  const chunks = [];\n\n  res.on(\"data\", function (chunk) {\n    chunks.push(chunk);\n  });\n\n  res.on(\"end\", function () {\n    const body = Buffer.concat(chunks);\n    console.log(body.toString());\n  });\n});\n\nreq.write(JSON.stringify({devices: ['string'], groups: ['string'], users: ['string']}));\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.jumpdesktop.com/v1/team/teamID/device/members/delete\"\n\n\tpayload := strings.NewReader(\"{\\\"devices\\\":[\\\"string\\\"],\\\"groups\\\":[\\\"string\\\"],\\\"users\\\":[\\\"string\\\"]}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"},{"lang":"Php + Http1","source":"<?php\n\nHttpRequest::methodRegister('PATCH');\n$request = new HttpRequest();\n$request->setUrl('https://api.jumpdesktop.com/v1/team/teamID/device/members/delete');\n$request->setMethod(HttpRequest::HTTP_METH_PATCH);\n\n$request->setHeaders([\n  'content-type' => 'application/json',\n  'Authorization' => 'Bearer REPLACE_BEARER_TOKEN'\n]);\n\n$request->setBody('{\"devices\":[\"string\"],\"groups\":[\"string\"],\"users\":[\"string\"]}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n}"},{"lang":"Python + Python3","source":"import http.client\n\nconn = http.client.HTTPSConnection(\"api.jumpdesktop.com\")\n\npayload = \"{\\\"devices\\\":[\\\"string\\\"],\\\"groups\\\":[\\\"string\\\"],\\\"users\\\":[\\\"string\\\"]}\"\n\nheaders = {\n    'content-type': \"application/json\",\n    'Authorization': \"Bearer REPLACE_BEARER_TOKEN\"\n    }\n\nconn.request(\"PATCH\", \"/v1/team/teamID/device/members/delete\", payload, headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode(\"utf-8\"))"},{"lang":"Csharp + Restsharp","source":"var client = new RestClient(\"https://api.jumpdesktop.com/v1/team/teamID/device/members/delete\");\nvar request = new RestRequest(Method.PATCH);\nrequest.AddHeader(\"content-type\", \"application/json\");\nrequest.AddHeader(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\");\nrequest.AddParameter(\"application/json\", \"{\\\"devices\\\":[\\\"string\\\"],\\\"groups\\\":[\\\"string\\\"],\\\"users\\\":[\\\"string\\\"]}\", ParameterType.RequestBody);\nIRestResponse response = client.Execute(request);"}]}},"/v1/team/{teamID}/device/{deviceID}":{"get":{"security":[{"ApiToken":[]}],"description":"Get information about a computer","tags":["Team Computers"],"summary":"Get information about a computer","operationId":"team-device-get","parameters":[{"description":"TeamID","name":"teamID","in":"path","required":true,"schema":{"type":"string"}},{"description":"DeviceID","name":"deviceID","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamDeviceInfo"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrors"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n  --url https://api.jumpdesktop.com/v1/team/teamID/device/deviceID \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n  \"method\": \"GET\",\n  \"hostname\": \"api.jumpdesktop.com\",\n  \"port\": null,\n  \"path\": \"/v1/team/teamID/device/deviceID\",\n  \"headers\": {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n  }\n};\n\nconst req = http.request(options, function (res) {\n  const chunks = [];\n\n  res.on(\"data\", function (chunk) {\n    chunks.push(chunk);\n  });\n\n  res.on(\"end\", function () {\n    const body = Buffer.concat(chunks);\n    console.log(body.toString());\n  });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.jumpdesktop.com/v1/team/teamID/device/deviceID\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"},{"lang":"Php + Http1","source":"<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://api.jumpdesktop.com/v1/team/teamID/device/deviceID');\n$request->setMethod(HTTP_METH_GET);\n\n$request->setHeaders([\n  'Authorization' => 'Bearer REPLACE_BEARER_TOKEN'\n]);\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n}"},{"lang":"Python + Python3","source":"import http.client\n\nconn = http.client.HTTPSConnection(\"api.jumpdesktop.com\")\n\nheaders = { 'Authorization': \"Bearer REPLACE_BEARER_TOKEN\" }\n\nconn.request(\"GET\", \"/v1/team/teamID/device/deviceID\", headers=headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode(\"utf-8\"))"},{"lang":"Csharp + Restsharp","source":"var client = new RestClient(\"https://api.jumpdesktop.com/v1/team/teamID/device/deviceID\");\nvar request = new RestRequest(Method.GET);\nrequest.AddHeader(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\");\nIRestResponse response = client.Execute(request);"}]},"delete":{"security":[{"ApiToken":[]}],"description":"Remove a computer from the team","tags":["Team Computers"],"summary":"Remove a computer from the team","operationId":"team-device-remove","parameters":[{"description":"TeamID","name":"teamID","in":"path","required":true,"schema":{"type":"string"}},{"description":"DeviceID","name":"deviceID","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrors"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n  --url https://api.jumpdesktop.com/v1/team/teamID/device/deviceID \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n  \"method\": \"DELETE\",\n  \"hostname\": \"api.jumpdesktop.com\",\n  \"port\": null,\n  \"path\": \"/v1/team/teamID/device/deviceID\",\n  \"headers\": {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n  }\n};\n\nconst req = http.request(options, function (res) {\n  const chunks = [];\n\n  res.on(\"data\", function (chunk) {\n    chunks.push(chunk);\n  });\n\n  res.on(\"end\", function () {\n    const body = Buffer.concat(chunks);\n    console.log(body.toString());\n  });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.jumpdesktop.com/v1/team/teamID/device/deviceID\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"},{"lang":"Php + Http1","source":"<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://api.jumpdesktop.com/v1/team/teamID/device/deviceID');\n$request->setMethod(HTTP_METH_DELETE);\n\n$request->setHeaders([\n  'Authorization' => 'Bearer REPLACE_BEARER_TOKEN'\n]);\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n}"},{"lang":"Python + Python3","source":"import http.client\n\nconn = http.client.HTTPSConnection(\"api.jumpdesktop.com\")\n\nheaders = { 'Authorization': \"Bearer REPLACE_BEARER_TOKEN\" }\n\nconn.request(\"DELETE\", \"/v1/team/teamID/device/deviceID\", headers=headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode(\"utf-8\"))"},{"lang":"Csharp + Restsharp","source":"var client = new RestClient(\"https://api.jumpdesktop.com/v1/team/teamID/device/deviceID\");\nvar request = new RestRequest(Method.DELETE);\nrequest.AddHeader(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\");\nIRestResponse response = client.Execute(request);"}]},"patch":{"security":[{"ApiToken":[]}],"description":"Changes computer details","tags":["Team Computers"],"summary":"Change computer information","operationId":"team-device-patch","parameters":[{"description":"TeamID","name":"teamID","in":"path","required":true,"schema":{"type":"string"}},{"description":"DeviceID","name":"deviceID","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamDevicePatchRequest"}}},"description":"Body","required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamDevicePatchResponse"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrors"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PATCH \\\n  --url https://api.jumpdesktop.com/v1/team/teamID/device/deviceID \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"name\":\"string\"}'"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n  \"method\": \"PATCH\",\n  \"hostname\": \"api.jumpdesktop.com\",\n  \"port\": null,\n  \"path\": \"/v1/team/teamID/device/deviceID\",\n  \"headers\": {\n    \"content-type\": \"application/json\",\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n  }\n};\n\nconst req = http.request(options, function (res) {\n  const chunks = [];\n\n  res.on(\"data\", function (chunk) {\n    chunks.push(chunk);\n  });\n\n  res.on(\"end\", function () {\n    const body = Buffer.concat(chunks);\n    console.log(body.toString());\n  });\n});\n\nreq.write(JSON.stringify({name: 'string'}));\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.jumpdesktop.com/v1/team/teamID/device/deviceID\"\n\n\tpayload := strings.NewReader(\"{\\\"name\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"},{"lang":"Php + Http1","source":"<?php\n\nHttpRequest::methodRegister('PATCH');\n$request = new HttpRequest();\n$request->setUrl('https://api.jumpdesktop.com/v1/team/teamID/device/deviceID');\n$request->setMethod(HttpRequest::HTTP_METH_PATCH);\n\n$request->setHeaders([\n  'content-type' => 'application/json',\n  'Authorization' => 'Bearer REPLACE_BEARER_TOKEN'\n]);\n\n$request->setBody('{\"name\":\"string\"}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n}"},{"lang":"Python + Python3","source":"import http.client\n\nconn = http.client.HTTPSConnection(\"api.jumpdesktop.com\")\n\npayload = \"{\\\"name\\\":\\\"string\\\"}\"\n\nheaders = {\n    'content-type': \"application/json\",\n    'Authorization': \"Bearer REPLACE_BEARER_TOKEN\"\n    }\n\nconn.request(\"PATCH\", \"/v1/team/teamID/device/deviceID\", payload, headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode(\"utf-8\"))"},{"lang":"Csharp + Restsharp","source":"var client = new RestClient(\"https://api.jumpdesktop.com/v1/team/teamID/device/deviceID\");\nvar request = new RestRequest(Method.PATCH);\nrequest.AddHeader(\"content-type\", \"application/json\");\nrequest.AddHeader(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\");\nrequest.AddParameter(\"application/json\", \"{\\\"name\\\":\\\"string\\\"}\", ParameterType.RequestBody);\nIRestResponse response = client.Execute(request);"}]}},"/v1/team/{teamID}/device/{deviceID}/annotations":{"get":{"security":[{"ApiToken":[]}],"description":"Get annotations for a computer","tags":["Team Computers","Team Annotations"],"summary":"Get annotations for a computer","operationId":"team-device-annotations-get","parameters":[{"description":"TeamID","name":"teamID","in":"path","required":true,"schema":{"type":"string"}},{"description":"DeviceID","name":"deviceID","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamAnnotationsResponse"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrors"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n  --url https://api.jumpdesktop.com/v1/team/teamID/device/deviceID/annotations \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n  \"method\": \"GET\",\n  \"hostname\": \"api.jumpdesktop.com\",\n  \"port\": null,\n  \"path\": \"/v1/team/teamID/device/deviceID/annotations\",\n  \"headers\": {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n  }\n};\n\nconst req = http.request(options, function (res) {\n  const chunks = [];\n\n  res.on(\"data\", function (chunk) {\n    chunks.push(chunk);\n  });\n\n  res.on(\"end\", function () {\n    const body = Buffer.concat(chunks);\n    console.log(body.toString());\n  });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.jumpdesktop.com/v1/team/teamID/device/deviceID/annotations\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"},{"lang":"Php + Http1","source":"<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://api.jumpdesktop.com/v1/team/teamID/device/deviceID/annotations');\n$request->setMethod(HTTP_METH_GET);\n\n$request->setHeaders([\n  'Authorization' => 'Bearer REPLACE_BEARER_TOKEN'\n]);\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n}"},{"lang":"Python + Python3","source":"import http.client\n\nconn = http.client.HTTPSConnection(\"api.jumpdesktop.com\")\n\nheaders = { 'Authorization': \"Bearer REPLACE_BEARER_TOKEN\" }\n\nconn.request(\"GET\", \"/v1/team/teamID/device/deviceID/annotations\", headers=headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode(\"utf-8\"))"},{"lang":"Csharp + Restsharp","source":"var client = new RestClient(\"https://api.jumpdesktop.com/v1/team/teamID/device/deviceID/annotations\");\nvar request = new RestRequest(Method.GET);\nrequest.AddHeader(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\");\nIRestResponse response = client.Execute(request);"}]},"post":{"security":[{"ApiToken":[]}],"description":"Add or update annotations for a computer","tags":["Team Computers","Team Annotations"],"summary":"Add or update annotations for a computer","operationId":"team-device-annotations-post","parameters":[{"description":"TeamID","name":"teamID","in":"path","required":true,"schema":{"type":"string"}},{"description":"DeviceID","name":"deviceID","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamSetAnnotationsRequest"}}},"description":"Body","required":true},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamAnnotationsResponse"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrors"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n  --url https://api.jumpdesktop.com/v1/team/teamID/device/deviceID/annotations \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --data '{\"annotations\":[{\"key\":\"string\",\"value\":\"string\"}]}'"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n  \"method\": \"POST\",\n  \"hostname\": \"api.jumpdesktop.com\",\n  \"port\": null,\n  \"path\": \"/v1/team/teamID/device/deviceID/annotations\",\n  \"headers\": {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n  }\n};\n\nconst req = http.request(options, function (res) {\n  const chunks = [];\n\n  res.on(\"data\", function (chunk) {\n    chunks.push(chunk);\n  });\n\n  res.on(\"end\", function () {\n    const body = Buffer.concat(chunks);\n    console.log(body.toString());\n  });\n});\n\nreq.write(JSON.stringify({annotations: [{key: 'string', value: 'string'}]}));\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.jumpdesktop.com/v1/team/teamID/device/deviceID/annotations\"\n\n\tpayload := strings.NewReader(\"{\\\"annotations\\\":[{\\\"key\\\":\\\"string\\\",\\\"value\\\":\\\"string\\\"}]}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"},{"lang":"Php + Http1","source":"<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://api.jumpdesktop.com/v1/team/teamID/device/deviceID/annotations');\n$request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders([\n  'Authorization' => 'Bearer REPLACE_BEARER_TOKEN'\n]);\n\n$request->setBody('{\"annotations\":[{\"key\":\"string\",\"value\":\"string\"}]}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n}"},{"lang":"Python + Python3","source":"import http.client\n\nconn = http.client.HTTPSConnection(\"api.jumpdesktop.com\")\n\npayload = \"{\\\"annotations\\\":[{\\\"key\\\":\\\"string\\\",\\\"value\\\":\\\"string\\\"}]}\"\n\nheaders = { 'Authorization': \"Bearer REPLACE_BEARER_TOKEN\" }\n\nconn.request(\"POST\", \"/v1/team/teamID/device/deviceID/annotations\", payload, headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode(\"utf-8\"))"},{"lang":"Csharp + Restsharp","source":"var client = new RestClient(\"https://api.jumpdesktop.com/v1/team/teamID/device/deviceID/annotations\");\nvar request = new RestRequest(Method.POST);\nrequest.AddHeader(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\");\nrequest.AddParameter(\"undefined\", \"{\\\"annotations\\\":[{\\\"key\\\":\\\"string\\\",\\\"value\\\":\\\"string\\\"}]}\", ParameterType.RequestBody);\nIRestResponse response = client.Execute(request);"}]}},"/v1/team/{teamID}/device/{deviceID}/annotations/delete":{"post":{"security":[{"ApiToken":[]}],"description":"Remove annotations for a computer.","tags":["Team Computers","Team Annotations"],"summary":"Remove annotations for a computer","operationId":"team-device-annotations-delete","parameters":[{"description":"TeamID","name":"teamID","in":"path","required":true,"schema":{"type":"string"}},{"description":"DeviceID","name":"deviceID","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamDeleteAnnotationsRequest"}}},"description":"Array of annotation keys to remove","required":true},"responses":{"200":{"description":"OK"},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrors"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n  --url https://api.jumpdesktop.com/v1/team/teamID/device/deviceID/annotations/delete \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --data '{\"annotationKeys\":[\"string\"]}'"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n  \"method\": \"POST\",\n  \"hostname\": \"api.jumpdesktop.com\",\n  \"port\": null,\n  \"path\": \"/v1/team/teamID/device/deviceID/annotations/delete\",\n  \"headers\": {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n  }\n};\n\nconst req = http.request(options, function (res) {\n  const chunks = [];\n\n  res.on(\"data\", function (chunk) {\n    chunks.push(chunk);\n  });\n\n  res.on(\"end\", function () {\n    const body = Buffer.concat(chunks);\n    console.log(body.toString());\n  });\n});\n\nreq.write(JSON.stringify({annotationKeys: ['string']}));\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.jumpdesktop.com/v1/team/teamID/device/deviceID/annotations/delete\"\n\n\tpayload := strings.NewReader(\"{\\\"annotationKeys\\\":[\\\"string\\\"]}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"},{"lang":"Php + Http1","source":"<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://api.jumpdesktop.com/v1/team/teamID/device/deviceID/annotations/delete');\n$request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders([\n  'Authorization' => 'Bearer REPLACE_BEARER_TOKEN'\n]);\n\n$request->setBody('{\"annotationKeys\":[\"string\"]}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n}"},{"lang":"Python + Python3","source":"import http.client\n\nconn = http.client.HTTPSConnection(\"api.jumpdesktop.com\")\n\npayload = \"{\\\"annotationKeys\\\":[\\\"string\\\"]}\"\n\nheaders = { 'Authorization': \"Bearer REPLACE_BEARER_TOKEN\" }\n\nconn.request(\"POST\", \"/v1/team/teamID/device/deviceID/annotations/delete\", payload, headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode(\"utf-8\"))"},{"lang":"Csharp + Restsharp","source":"var client = new RestClient(\"https://api.jumpdesktop.com/v1/team/teamID/device/deviceID/annotations/delete\");\nvar request = new RestRequest(Method.POST);\nrequest.AddHeader(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\");\nrequest.AddParameter(\"undefined\", \"{\\\"annotationKeys\\\":[\\\"string\\\"]}\", ParameterType.RequestBody);\nIRestResponse response = client.Execute(request);"}]}},"/v1/team/{teamID}/device/{deviceID}/history":{"get":{"security":[{"ApiToken":[]}],"description":"This API is deprecated. Use [/team/{teamID}/history/devices](#operation/team-device-events-get-history) instead. <br/><br/>Gets computer connection history for this device. Returns an empty result if there are no more events for the computer.","tags":["Team Logs","Team Computers"],"summary":"Get computer connection history","operationId":"team-device-get-history","deprecated":true,"parameters":[{"description":"TeamID","name":"teamID","in":"path","required":true,"schema":{"type":"string"}},{"description":"DeviceID","name":"deviceID","in":"path","required":true,"schema":{"type":"string"}},{"description":"Set this to true to return events in descending order by time (i.e. latest events first)","name":"desc","in":"query","schema":{"type":"boolean","default":false}},{"description":"Limit the number events returned by the api","name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":10}},{"description":"Event offset when returning events","name":"offset","in":"query","schema":{"type":"integer","minimum":0,"default":0}},{"description":"Starting time stamp for the query in seconds since unix epoch","name":"startTime","in":"query","schema":{"type":"integer","format":"UnixTimestamp","default":0}},{"description":"Stop time stamp for the query in seconds since unix epoch","name":"stopTime","in":"query","schema":{"type":"integer","format":"UnixTimestamp","default":7258118400}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamDeviceHistoryResponse"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrors"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n  --url 'https://api.jumpdesktop.com/v1/team/teamID/device/deviceID/history?desc=SOME_BOOLEAN_VALUE&limit=SOME_INTEGER_VALUE&offset=SOME_INTEGER_VALUE&startTime=SOME_INTEGER_VALUE&stopTime=SOME_INTEGER_VALUE' \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n  \"method\": \"GET\",\n  \"hostname\": \"api.jumpdesktop.com\",\n  \"port\": null,\n  \"path\": \"/v1/team/teamID/device/deviceID/history?desc=SOME_BOOLEAN_VALUE&limit=SOME_INTEGER_VALUE&offset=SOME_INTEGER_VALUE&startTime=SOME_INTEGER_VALUE&stopTime=SOME_INTEGER_VALUE\",\n  \"headers\": {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n  }\n};\n\nconst req = http.request(options, function (res) {\n  const chunks = [];\n\n  res.on(\"data\", function (chunk) {\n    chunks.push(chunk);\n  });\n\n  res.on(\"end\", function () {\n    const body = Buffer.concat(chunks);\n    console.log(body.toString());\n  });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.jumpdesktop.com/v1/team/teamID/device/deviceID/history?desc=SOME_BOOLEAN_VALUE&limit=SOME_INTEGER_VALUE&offset=SOME_INTEGER_VALUE&startTime=SOME_INTEGER_VALUE&stopTime=SOME_INTEGER_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"},{"lang":"Php + Http1","source":"<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://api.jumpdesktop.com/v1/team/teamID/device/deviceID/history');\n$request->setMethod(HTTP_METH_GET);\n\n$request->setQueryData([\n  'desc' => 'SOME_BOOLEAN_VALUE',\n  'limit' => 'SOME_INTEGER_VALUE',\n  'offset' => 'SOME_INTEGER_VALUE',\n  'startTime' => 'SOME_INTEGER_VALUE',\n  'stopTime' => 'SOME_INTEGER_VALUE'\n]);\n\n$request->setHeaders([\n  'Authorization' => 'Bearer REPLACE_BEARER_TOKEN'\n]);\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n}"},{"lang":"Python + Python3","source":"import http.client\n\nconn = http.client.HTTPSConnection(\"api.jumpdesktop.com\")\n\nheaders = { 'Authorization': \"Bearer REPLACE_BEARER_TOKEN\" }\n\nconn.request(\"GET\", \"/v1/team/teamID/device/deviceID/history?desc=SOME_BOOLEAN_VALUE&limit=SOME_INTEGER_VALUE&offset=SOME_INTEGER_VALUE&startTime=SOME_INTEGER_VALUE&stopTime=SOME_INTEGER_VALUE\", headers=headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode(\"utf-8\"))"},{"lang":"Csharp + Restsharp","source":"var client = new RestClient(\"https://api.jumpdesktop.com/v1/team/teamID/device/deviceID/history?desc=SOME_BOOLEAN_VALUE&limit=SOME_INTEGER_VALUE&offset=SOME_INTEGER_VALUE&startTime=SOME_INTEGER_VALUE&stopTime=SOME_INTEGER_VALUE\");\nvar request = new RestRequest(Method.GET);\nrequest.AddHeader(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\");\nIRestResponse response = client.Execute(request);"}]}},"/v1/team/{teamID}/device/{deviceID}/members":{"put":{"security":[{"ApiToken":[]}],"description":"Sets remote access users and groups for a computer. This API will overwrite any groups and users that have remote access to the machine and replace it with the list or users and groups provided.","tags":["Team Computers"],"summary":"Sets remote access users and groups for a computer","operationId":"team-device-members-set","parameters":[{"description":"TeamID","name":"teamID","in":"path","required":true,"schema":{"type":"string"}},{"description":"DeviceID","name":"deviceID","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamDeviceMembersSetRequest"}}},"description":"Body","required":true},"responses":{"201":{"description":"Created"},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrors"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PUT \\\n  --url https://api.jumpdesktop.com/v1/team/teamID/device/deviceID/members \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"groups\":[\"string\"],\"users\":[\"string\"]}'"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n  \"method\": \"PUT\",\n  \"hostname\": \"api.jumpdesktop.com\",\n  \"port\": null,\n  \"path\": \"/v1/team/teamID/device/deviceID/members\",\n  \"headers\": {\n    \"content-type\": \"application/json\",\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n  }\n};\n\nconst req = http.request(options, function (res) {\n  const chunks = [];\n\n  res.on(\"data\", function (chunk) {\n    chunks.push(chunk);\n  });\n\n  res.on(\"end\", function () {\n    const body = Buffer.concat(chunks);\n    console.log(body.toString());\n  });\n});\n\nreq.write(JSON.stringify({groups: ['string'], users: ['string']}));\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.jumpdesktop.com/v1/team/teamID/device/deviceID/members\"\n\n\tpayload := strings.NewReader(\"{\\\"groups\\\":[\\\"string\\\"],\\\"users\\\":[\\\"string\\\"]}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"},{"lang":"Php + Http1","source":"<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://api.jumpdesktop.com/v1/team/teamID/device/deviceID/members');\n$request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders([\n  'content-type' => 'application/json',\n  'Authorization' => 'Bearer REPLACE_BEARER_TOKEN'\n]);\n\n$request->setBody('{\"groups\":[\"string\"],\"users\":[\"string\"]}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n}"},{"lang":"Python + Python3","source":"import http.client\n\nconn = http.client.HTTPSConnection(\"api.jumpdesktop.com\")\n\npayload = \"{\\\"groups\\\":[\\\"string\\\"],\\\"users\\\":[\\\"string\\\"]}\"\n\nheaders = {\n    'content-type': \"application/json\",\n    'Authorization': \"Bearer REPLACE_BEARER_TOKEN\"\n    }\n\nconn.request(\"PUT\", \"/v1/team/teamID/device/deviceID/members\", payload, headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode(\"utf-8\"))"},{"lang":"Csharp + Restsharp","source":"var client = new RestClient(\"https://api.jumpdesktop.com/v1/team/teamID/device/deviceID/members\");\nvar request = new RestRequest(Method.PUT);\nrequest.AddHeader(\"content-type\", \"application/json\");\nrequest.AddHeader(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\");\nrequest.AddParameter(\"application/json\", \"{\\\"groups\\\":[\\\"string\\\"],\\\"users\\\":[\\\"string\\\"]}\", ParameterType.RequestBody);\nIRestResponse response = client.Execute(request);"}]},"post":{"security":[{"ApiToken":[]}],"description":"Add remote access users to a computer","tags":["Team Computers"],"summary":"Add remote access users to a computer","operationId":"team-device-members-add","parameters":[{"description":"TeamID","name":"teamID","in":"path","required":true,"schema":{"type":"string"}},{"description":"DeviceID","name":"deviceID","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamDeviceMembersAddRequest"}}},"description":"Body","required":true},"responses":{"201":{"description":"Created"},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrors"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n  --url https://api.jumpdesktop.com/v1/team/teamID/device/deviceID/members \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"groups\":[\"string\"],\"users\":[\"string\"]}'"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n  \"method\": \"POST\",\n  \"hostname\": \"api.jumpdesktop.com\",\n  \"port\": null,\n  \"path\": \"/v1/team/teamID/device/deviceID/members\",\n  \"headers\": {\n    \"content-type\": \"application/json\",\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n  }\n};\n\nconst req = http.request(options, function (res) {\n  const chunks = [];\n\n  res.on(\"data\", function (chunk) {\n    chunks.push(chunk);\n  });\n\n  res.on(\"end\", function () {\n    const body = Buffer.concat(chunks);\n    console.log(body.toString());\n  });\n});\n\nreq.write(JSON.stringify({groups: ['string'], users: ['string']}));\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.jumpdesktop.com/v1/team/teamID/device/deviceID/members\"\n\n\tpayload := strings.NewReader(\"{\\\"groups\\\":[\\\"string\\\"],\\\"users\\\":[\\\"string\\\"]}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"},{"lang":"Php + Http1","source":"<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://api.jumpdesktop.com/v1/team/teamID/device/deviceID/members');\n$request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders([\n  'content-type' => 'application/json',\n  'Authorization' => 'Bearer REPLACE_BEARER_TOKEN'\n]);\n\n$request->setBody('{\"groups\":[\"string\"],\"users\":[\"string\"]}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n}"},{"lang":"Python + Python3","source":"import http.client\n\nconn = http.client.HTTPSConnection(\"api.jumpdesktop.com\")\n\npayload = \"{\\\"groups\\\":[\\\"string\\\"],\\\"users\\\":[\\\"string\\\"]}\"\n\nheaders = {\n    'content-type': \"application/json\",\n    'Authorization': \"Bearer REPLACE_BEARER_TOKEN\"\n    }\n\nconn.request(\"POST\", \"/v1/team/teamID/device/deviceID/members\", payload, headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode(\"utf-8\"))"},{"lang":"Csharp + Restsharp","source":"var client = new RestClient(\"https://api.jumpdesktop.com/v1/team/teamID/device/deviceID/members\");\nvar request = new RestRequest(Method.POST);\nrequest.AddHeader(\"content-type\", \"application/json\");\nrequest.AddHeader(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\");\nrequest.AddParameter(\"application/json\", \"{\\\"groups\\\":[\\\"string\\\"],\\\"users\\\":[\\\"string\\\"]}\", ParameterType.RequestBody);\nIRestResponse response = client.Execute(request);"}]}},"/v1/team/{teamID}/device/{deviceID}/members/delete":{"post":{"security":[{"ApiToken":[]}],"description":"Remove remote access users from computer","tags":["Team Computers"],"summary":"Remove remote access users from computer","operationId":"team-device-members-delete","parameters":[{"description":"TeamID","name":"teamID","in":"path","required":true,"schema":{"type":"string"}},{"description":"DeviceID","name":"deviceID","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamDeviceMembersRemoveRequest"}}},"description":"Body","required":true},"responses":{"201":{"description":"Created"},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrors"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n  --url https://api.jumpdesktop.com/v1/team/teamID/device/deviceID/members/delete \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"groups\":[\"string\"],\"users\":[\"string\"]}'"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n  \"method\": \"POST\",\n  \"hostname\": \"api.jumpdesktop.com\",\n  \"port\": null,\n  \"path\": \"/v1/team/teamID/device/deviceID/members/delete\",\n  \"headers\": {\n    \"content-type\": \"application/json\",\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n  }\n};\n\nconst req = http.request(options, function (res) {\n  const chunks = [];\n\n  res.on(\"data\", function (chunk) {\n    chunks.push(chunk);\n  });\n\n  res.on(\"end\", function () {\n    const body = Buffer.concat(chunks);\n    console.log(body.toString());\n  });\n});\n\nreq.write(JSON.stringify({groups: ['string'], users: ['string']}));\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.jumpdesktop.com/v1/team/teamID/device/deviceID/members/delete\"\n\n\tpayload := strings.NewReader(\"{\\\"groups\\\":[\\\"string\\\"],\\\"users\\\":[\\\"string\\\"]}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"},{"lang":"Php + Http1","source":"<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://api.jumpdesktop.com/v1/team/teamID/device/deviceID/members/delete');\n$request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders([\n  'content-type' => 'application/json',\n  'Authorization' => 'Bearer REPLACE_BEARER_TOKEN'\n]);\n\n$request->setBody('{\"groups\":[\"string\"],\"users\":[\"string\"]}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n}"},{"lang":"Python + Python3","source":"import http.client\n\nconn = http.client.HTTPSConnection(\"api.jumpdesktop.com\")\n\npayload = \"{\\\"groups\\\":[\\\"string\\\"],\\\"users\\\":[\\\"string\\\"]}\"\n\nheaders = {\n    'content-type': \"application/json\",\n    'Authorization': \"Bearer REPLACE_BEARER_TOKEN\"\n    }\n\nconn.request(\"POST\", \"/v1/team/teamID/device/deviceID/members/delete\", payload, headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode(\"utf-8\"))"},{"lang":"Csharp + Restsharp","source":"var client = new RestClient(\"https://api.jumpdesktop.com/v1/team/teamID/device/deviceID/members/delete\");\nvar request = new RestRequest(Method.POST);\nrequest.AddHeader(\"content-type\", \"application/json\");\nrequest.AddHeader(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\");\nrequest.AddParameter(\"application/json\", \"{\\\"groups\\\":[\\\"string\\\"],\\\"users\\\":[\\\"string\\\"]}\", ParameterType.RequestBody);\nIRestResponse response = client.Execute(request);"}]}},"/v1/team/{teamID}/device/{deviceID}/urls":{"get":{"security":[{"ApiToken":[]}],"description":"Get URLs used to launch connections to a computer","tags":["Team Computers"],"summary":"Get URLs used to launch connections to a computer","operationId":"team-get-connection-urls","parameters":[{"description":"TeamID","name":"teamID","in":"path","required":true,"schema":{"type":"string"}},{"description":"DeviceID","name":"deviceID","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamDeviceURLs"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrors"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n  --url https://api.jumpdesktop.com/v1/team/teamID/device/deviceID/urls \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n  \"method\": \"GET\",\n  \"hostname\": \"api.jumpdesktop.com\",\n  \"port\": null,\n  \"path\": \"/v1/team/teamID/device/deviceID/urls\",\n  \"headers\": {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n  }\n};\n\nconst req = http.request(options, function (res) {\n  const chunks = [];\n\n  res.on(\"data\", function (chunk) {\n    chunks.push(chunk);\n  });\n\n  res.on(\"end\", function () {\n    const body = Buffer.concat(chunks);\n    console.log(body.toString());\n  });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.jumpdesktop.com/v1/team/teamID/device/deviceID/urls\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"},{"lang":"Php + Http1","source":"<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://api.jumpdesktop.com/v1/team/teamID/device/deviceID/urls');\n$request->setMethod(HTTP_METH_GET);\n\n$request->setHeaders([\n  'Authorization' => 'Bearer REPLACE_BEARER_TOKEN'\n]);\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n}"},{"lang":"Python + Python3","source":"import http.client\n\nconn = http.client.HTTPSConnection(\"api.jumpdesktop.com\")\n\nheaders = { 'Authorization': \"Bearer REPLACE_BEARER_TOKEN\" }\n\nconn.request(\"GET\", \"/v1/team/teamID/device/deviceID/urls\", headers=headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode(\"utf-8\"))"},{"lang":"Csharp + Restsharp","source":"var client = new RestClient(\"https://api.jumpdesktop.com/v1/team/teamID/device/deviceID/urls\");\nvar request = new RestRequest(Method.GET);\nrequest.AddHeader(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\");\nIRestResponse response = client.Execute(request);"}]}},"/v1/team/{teamID}/devices":{"get":{"security":[{"ApiToken":[]}],"description":"Gets information about computers on a team. Use query parameters to filter results.","tags":["Team Computers"],"summary":"Get information about computers on a team","operationId":"team-devices-get","parameters":[{"description":"TeamID","name":"teamID","in":"path","required":true,"schema":{"type":"string"}},{"description":"Optional. Filter results by computers named  'name'. Use asterisks for a wildcard search: Eg: name\\* or \\*name\\*","name":"name","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamGetDevicesResponse"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrors"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n  --url 'https://api.jumpdesktop.com/v1/team/teamID/devices?name=SOME_STRING_VALUE' \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n  \"method\": \"GET\",\n  \"hostname\": \"api.jumpdesktop.com\",\n  \"port\": null,\n  \"path\": \"/v1/team/teamID/devices?name=SOME_STRING_VALUE\",\n  \"headers\": {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n  }\n};\n\nconst req = http.request(options, function (res) {\n  const chunks = [];\n\n  res.on(\"data\", function (chunk) {\n    chunks.push(chunk);\n  });\n\n  res.on(\"end\", function () {\n    const body = Buffer.concat(chunks);\n    console.log(body.toString());\n  });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.jumpdesktop.com/v1/team/teamID/devices?name=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"},{"lang":"Php + Http1","source":"<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://api.jumpdesktop.com/v1/team/teamID/devices');\n$request->setMethod(HTTP_METH_GET);\n\n$request->setQueryData([\n  'name' => 'SOME_STRING_VALUE'\n]);\n\n$request->setHeaders([\n  'Authorization' => 'Bearer REPLACE_BEARER_TOKEN'\n]);\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n}"},{"lang":"Python + Python3","source":"import http.client\n\nconn = http.client.HTTPSConnection(\"api.jumpdesktop.com\")\n\nheaders = { 'Authorization': \"Bearer REPLACE_BEARER_TOKEN\" }\n\nconn.request(\"GET\", \"/v1/team/teamID/devices?name=SOME_STRING_VALUE\", headers=headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode(\"utf-8\"))"},{"lang":"Csharp + Restsharp","source":"var client = new RestClient(\"https://api.jumpdesktop.com/v1/team/teamID/devices?name=SOME_STRING_VALUE\");\nvar request = new RestRequest(Method.GET);\nrequest.AddHeader(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\");\nIRestResponse response = client.Execute(request);"}]}},"/v1/team/{teamID}/group":{"post":{"security":[{"ApiToken":[]}],"description":"Create a new access group","tags":["Team Access Groups"],"summary":"Create a new access group","operationId":"team-group-add","parameters":[{"description":"TeamID","name":"teamID","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamGroupAddRequest"}}},"description":"Body","required":true},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamGroupInfo"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrors"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n  --url https://api.jumpdesktop.com/v1/team/teamID/group \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"name\":\"string\"}'"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n  \"method\": \"POST\",\n  \"hostname\": \"api.jumpdesktop.com\",\n  \"port\": null,\n  \"path\": \"/v1/team/teamID/group\",\n  \"headers\": {\n    \"content-type\": \"application/json\",\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n  }\n};\n\nconst req = http.request(options, function (res) {\n  const chunks = [];\n\n  res.on(\"data\", function (chunk) {\n    chunks.push(chunk);\n  });\n\n  res.on(\"end\", function () {\n    const body = Buffer.concat(chunks);\n    console.log(body.toString());\n  });\n});\n\nreq.write(JSON.stringify({name: 'string'}));\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.jumpdesktop.com/v1/team/teamID/group\"\n\n\tpayload := strings.NewReader(\"{\\\"name\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"},{"lang":"Php + Http1","source":"<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://api.jumpdesktop.com/v1/team/teamID/group');\n$request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders([\n  'content-type' => 'application/json',\n  'Authorization' => 'Bearer REPLACE_BEARER_TOKEN'\n]);\n\n$request->setBody('{\"name\":\"string\"}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n}"},{"lang":"Python + Python3","source":"import http.client\n\nconn = http.client.HTTPSConnection(\"api.jumpdesktop.com\")\n\npayload = \"{\\\"name\\\":\\\"string\\\"}\"\n\nheaders = {\n    'content-type': \"application/json\",\n    'Authorization': \"Bearer REPLACE_BEARER_TOKEN\"\n    }\n\nconn.request(\"POST\", \"/v1/team/teamID/group\", payload, headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode(\"utf-8\"))"},{"lang":"Csharp + Restsharp","source":"var client = new RestClient(\"https://api.jumpdesktop.com/v1/team/teamID/group\");\nvar request = new RestRequest(Method.POST);\nrequest.AddHeader(\"content-type\", \"application/json\");\nrequest.AddHeader(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\");\nrequest.AddParameter(\"application/json\", \"{\\\"name\\\":\\\"string\\\"}\", ParameterType.RequestBody);\nIRestResponse response = client.Execute(request);"}]}},"/v1/team/{teamID}/group/members":{"patch":{"security":[{"ApiToken":[]}],"description":"Add users or computers to a list of access groups","tags":["Team Access Groups"],"summary":"Add users or computers to a list of access groups","operationId":"team-group-members-bulk-add","parameters":[{"description":"TeamID","name":"teamID","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamGroupMembersBulkAddRequest"}}},"description":"Body","required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamGroupMembersBulkAddResponse"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamGroupMembersBulkAddResponse"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PATCH \\\n  --url https://api.jumpdesktop.com/v1/team/teamID/group/members \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"devices\":[\"string\"],\"groups\":[\"string\"],\"users\":[\"string\"]}'"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n  \"method\": \"PATCH\",\n  \"hostname\": \"api.jumpdesktop.com\",\n  \"port\": null,\n  \"path\": \"/v1/team/teamID/group/members\",\n  \"headers\": {\n    \"content-type\": \"application/json\",\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n  }\n};\n\nconst req = http.request(options, function (res) {\n  const chunks = [];\n\n  res.on(\"data\", function (chunk) {\n    chunks.push(chunk);\n  });\n\n  res.on(\"end\", function () {\n    const body = Buffer.concat(chunks);\n    console.log(body.toString());\n  });\n});\n\nreq.write(JSON.stringify({devices: ['string'], groups: ['string'], users: ['string']}));\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.jumpdesktop.com/v1/team/teamID/group/members\"\n\n\tpayload := strings.NewReader(\"{\\\"devices\\\":[\\\"string\\\"],\\\"groups\\\":[\\\"string\\\"],\\\"users\\\":[\\\"string\\\"]}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"},{"lang":"Php + Http1","source":"<?php\n\nHttpRequest::methodRegister('PATCH');\n$request = new HttpRequest();\n$request->setUrl('https://api.jumpdesktop.com/v1/team/teamID/group/members');\n$request->setMethod(HttpRequest::HTTP_METH_PATCH);\n\n$request->setHeaders([\n  'content-type' => 'application/json',\n  'Authorization' => 'Bearer REPLACE_BEARER_TOKEN'\n]);\n\n$request->setBody('{\"devices\":[\"string\"],\"groups\":[\"string\"],\"users\":[\"string\"]}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n}"},{"lang":"Python + Python3","source":"import http.client\n\nconn = http.client.HTTPSConnection(\"api.jumpdesktop.com\")\n\npayload = \"{\\\"devices\\\":[\\\"string\\\"],\\\"groups\\\":[\\\"string\\\"],\\\"users\\\":[\\\"string\\\"]}\"\n\nheaders = {\n    'content-type': \"application/json\",\n    'Authorization': \"Bearer REPLACE_BEARER_TOKEN\"\n    }\n\nconn.request(\"PATCH\", \"/v1/team/teamID/group/members\", payload, headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode(\"utf-8\"))"},{"lang":"Csharp + Restsharp","source":"var client = new RestClient(\"https://api.jumpdesktop.com/v1/team/teamID/group/members\");\nvar request = new RestRequest(Method.PATCH);\nrequest.AddHeader(\"content-type\", \"application/json\");\nrequest.AddHeader(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\");\nrequest.AddParameter(\"application/json\", \"{\\\"devices\\\":[\\\"string\\\"],\\\"groups\\\":[\\\"string\\\"],\\\"users\\\":[\\\"string\\\"]}\", ParameterType.RequestBody);\nIRestResponse response = client.Execute(request);"}]}},"/v1/team/{teamID}/group/members/remove":{"patch":{"security":[{"ApiToken":[]}],"description":"Remove users or computers to a list of access groups","tags":["Team Access Groups"],"summary":"Remove users or computers to a list of access groups","operationId":"team-group-members-bulk-remove","parameters":[{"description":"TeamID","name":"teamID","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamGroupMembersBulkRemoveRequest"}}},"description":"Body","required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamGroupMembersBulkRemoveResponse"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamGroupMembersBulkRemoveResponse"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PATCH \\\n  --url https://api.jumpdesktop.com/v1/team/teamID/group/members/remove \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"devices\":[\"string\"],\"groups\":[\"string\"],\"users\":[\"string\"]}'"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n  \"method\": \"PATCH\",\n  \"hostname\": \"api.jumpdesktop.com\",\n  \"port\": null,\n  \"path\": \"/v1/team/teamID/group/members/remove\",\n  \"headers\": {\n    \"content-type\": \"application/json\",\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n  }\n};\n\nconst req = http.request(options, function (res) {\n  const chunks = [];\n\n  res.on(\"data\", function (chunk) {\n    chunks.push(chunk);\n  });\n\n  res.on(\"end\", function () {\n    const body = Buffer.concat(chunks);\n    console.log(body.toString());\n  });\n});\n\nreq.write(JSON.stringify({devices: ['string'], groups: ['string'], users: ['string']}));\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.jumpdesktop.com/v1/team/teamID/group/members/remove\"\n\n\tpayload := strings.NewReader(\"{\\\"devices\\\":[\\\"string\\\"],\\\"groups\\\":[\\\"string\\\"],\\\"users\\\":[\\\"string\\\"]}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"},{"lang":"Php + Http1","source":"<?php\n\nHttpRequest::methodRegister('PATCH');\n$request = new HttpRequest();\n$request->setUrl('https://api.jumpdesktop.com/v1/team/teamID/group/members/remove');\n$request->setMethod(HttpRequest::HTTP_METH_PATCH);\n\n$request->setHeaders([\n  'content-type' => 'application/json',\n  'Authorization' => 'Bearer REPLACE_BEARER_TOKEN'\n]);\n\n$request->setBody('{\"devices\":[\"string\"],\"groups\":[\"string\"],\"users\":[\"string\"]}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n}"},{"lang":"Python + Python3","source":"import http.client\n\nconn = http.client.HTTPSConnection(\"api.jumpdesktop.com\")\n\npayload = \"{\\\"devices\\\":[\\\"string\\\"],\\\"groups\\\":[\\\"string\\\"],\\\"users\\\":[\\\"string\\\"]}\"\n\nheaders = {\n    'content-type': \"application/json\",\n    'Authorization': \"Bearer REPLACE_BEARER_TOKEN\"\n    }\n\nconn.request(\"PATCH\", \"/v1/team/teamID/group/members/remove\", payload, headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode(\"utf-8\"))"},{"lang":"Csharp + Restsharp","source":"var client = new RestClient(\"https://api.jumpdesktop.com/v1/team/teamID/group/members/remove\");\nvar request = new RestRequest(Method.PATCH);\nrequest.AddHeader(\"content-type\", \"application/json\");\nrequest.AddHeader(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\");\nrequest.AddParameter(\"application/json\", \"{\\\"devices\\\":[\\\"string\\\"],\\\"groups\\\":[\\\"string\\\"],\\\"users\\\":[\\\"string\\\"]}\", ParameterType.RequestBody);\nIRestResponse response = client.Execute(request);"}]}},"/v1/team/{teamID}/group/{groupID}":{"delete":{"security":[{"ApiToken":[]}],"description":"Delete an access group","tags":["Team Access Groups"],"summary":"Delete an access group","operationId":"team-group-delete","parameters":[{"description":"TeamID","name":"teamID","in":"path","required":true,"schema":{"type":"string"}},{"description":"GroupID","name":"groupID","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrors"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n  --url https://api.jumpdesktop.com/v1/team/teamID/group/groupID \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n  \"method\": \"DELETE\",\n  \"hostname\": \"api.jumpdesktop.com\",\n  \"port\": null,\n  \"path\": \"/v1/team/teamID/group/groupID\",\n  \"headers\": {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n  }\n};\n\nconst req = http.request(options, function (res) {\n  const chunks = [];\n\n  res.on(\"data\", function (chunk) {\n    chunks.push(chunk);\n  });\n\n  res.on(\"end\", function () {\n    const body = Buffer.concat(chunks);\n    console.log(body.toString());\n  });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.jumpdesktop.com/v1/team/teamID/group/groupID\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"},{"lang":"Php + Http1","source":"<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://api.jumpdesktop.com/v1/team/teamID/group/groupID');\n$request->setMethod(HTTP_METH_DELETE);\n\n$request->setHeaders([\n  'Authorization' => 'Bearer REPLACE_BEARER_TOKEN'\n]);\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n}"},{"lang":"Python + Python3","source":"import http.client\n\nconn = http.client.HTTPSConnection(\"api.jumpdesktop.com\")\n\nheaders = { 'Authorization': \"Bearer REPLACE_BEARER_TOKEN\" }\n\nconn.request(\"DELETE\", \"/v1/team/teamID/group/groupID\", headers=headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode(\"utf-8\"))"},{"lang":"Csharp + Restsharp","source":"var client = new RestClient(\"https://api.jumpdesktop.com/v1/team/teamID/group/groupID\");\nvar request = new RestRequest(Method.DELETE);\nrequest.AddHeader(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\");\nIRestResponse response = client.Execute(request);"}]},"patch":{"security":[{"ApiToken":[]}],"description":"Changes access group information, such as it's name","tags":["Team Access Groups"],"summary":"Change information for an access group","operationId":"team-group-patch","parameters":[{"description":"TeamID","name":"teamID","in":"path","required":true,"schema":{"type":"string"}},{"description":"GroupID","name":"groupID","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamGroupPatchRequest"}}},"description":"Body","required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamGroupPatchResponse"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrors"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PATCH \\\n  --url https://api.jumpdesktop.com/v1/team/teamID/group/groupID \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"name\":\"string\"}'"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n  \"method\": \"PATCH\",\n  \"hostname\": \"api.jumpdesktop.com\",\n  \"port\": null,\n  \"path\": \"/v1/team/teamID/group/groupID\",\n  \"headers\": {\n    \"content-type\": \"application/json\",\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n  }\n};\n\nconst req = http.request(options, function (res) {\n  const chunks = [];\n\n  res.on(\"data\", function (chunk) {\n    chunks.push(chunk);\n  });\n\n  res.on(\"end\", function () {\n    const body = Buffer.concat(chunks);\n    console.log(body.toString());\n  });\n});\n\nreq.write(JSON.stringify({name: 'string'}));\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.jumpdesktop.com/v1/team/teamID/group/groupID\"\n\n\tpayload := strings.NewReader(\"{\\\"name\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"},{"lang":"Php + Http1","source":"<?php\n\nHttpRequest::methodRegister('PATCH');\n$request = new HttpRequest();\n$request->setUrl('https://api.jumpdesktop.com/v1/team/teamID/group/groupID');\n$request->setMethod(HttpRequest::HTTP_METH_PATCH);\n\n$request->setHeaders([\n  'content-type' => 'application/json',\n  'Authorization' => 'Bearer REPLACE_BEARER_TOKEN'\n]);\n\n$request->setBody('{\"name\":\"string\"}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n}"},{"lang":"Python + Python3","source":"import http.client\n\nconn = http.client.HTTPSConnection(\"api.jumpdesktop.com\")\n\npayload = \"{\\\"name\\\":\\\"string\\\"}\"\n\nheaders = {\n    'content-type': \"application/json\",\n    'Authorization': \"Bearer REPLACE_BEARER_TOKEN\"\n    }\n\nconn.request(\"PATCH\", \"/v1/team/teamID/group/groupID\", payload, headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode(\"utf-8\"))"},{"lang":"Csharp + Restsharp","source":"var client = new RestClient(\"https://api.jumpdesktop.com/v1/team/teamID/group/groupID\");\nvar request = new RestRequest(Method.PATCH);\nrequest.AddHeader(\"content-type\", \"application/json\");\nrequest.AddHeader(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\");\nrequest.AddParameter(\"application/json\", \"{\\\"name\\\":\\\"string\\\"}\", ParameterType.RequestBody);\nIRestResponse response = client.Execute(request);"}]}},"/v1/team/{teamID}/group/{groupID}/annotations":{"get":{"security":[{"ApiToken":[]}],"description":"Get annotations for an access group","tags":["Team Access Groups","Team Annotations"],"summary":"Get annotations for an access group","operationId":"team-group-annotations-get","parameters":[{"description":"TeamID","name":"teamID","in":"path","required":true,"schema":{"type":"string"}},{"description":"GroupID","name":"groupID","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamAnnotationsResponse"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrors"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n  --url https://api.jumpdesktop.com/v1/team/teamID/group/groupID/annotations \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n  \"method\": \"GET\",\n  \"hostname\": \"api.jumpdesktop.com\",\n  \"port\": null,\n  \"path\": \"/v1/team/teamID/group/groupID/annotations\",\n  \"headers\": {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n  }\n};\n\nconst req = http.request(options, function (res) {\n  const chunks = [];\n\n  res.on(\"data\", function (chunk) {\n    chunks.push(chunk);\n  });\n\n  res.on(\"end\", function () {\n    const body = Buffer.concat(chunks);\n    console.log(body.toString());\n  });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.jumpdesktop.com/v1/team/teamID/group/groupID/annotations\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"},{"lang":"Php + Http1","source":"<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://api.jumpdesktop.com/v1/team/teamID/group/groupID/annotations');\n$request->setMethod(HTTP_METH_GET);\n\n$request->setHeaders([\n  'Authorization' => 'Bearer REPLACE_BEARER_TOKEN'\n]);\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n}"},{"lang":"Python + Python3","source":"import http.client\n\nconn = http.client.HTTPSConnection(\"api.jumpdesktop.com\")\n\nheaders = { 'Authorization': \"Bearer REPLACE_BEARER_TOKEN\" }\n\nconn.request(\"GET\", \"/v1/team/teamID/group/groupID/annotations\", headers=headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode(\"utf-8\"))"},{"lang":"Csharp + Restsharp","source":"var client = new RestClient(\"https://api.jumpdesktop.com/v1/team/teamID/group/groupID/annotations\");\nvar request = new RestRequest(Method.GET);\nrequest.AddHeader(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\");\nIRestResponse response = client.Execute(request);"}]},"post":{"security":[{"ApiToken":[]}],"description":"Add or update annotations for an access group","tags":["Team Access Groups","Team Annotations"],"summary":"Add or update annotations for an access group","operationId":"team-group-annotations-post","parameters":[{"description":"TeamID","name":"teamID","in":"path","required":true,"schema":{"type":"string"}},{"description":"GroupID","name":"groupID","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamSetAnnotationsRequest"}}},"description":"Body","required":true},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamAnnotationsResponse"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrors"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n  --url https://api.jumpdesktop.com/v1/team/teamID/group/groupID/annotations \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --data '{\"annotations\":[{\"key\":\"string\",\"value\":\"string\"}]}'"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n  \"method\": \"POST\",\n  \"hostname\": \"api.jumpdesktop.com\",\n  \"port\": null,\n  \"path\": \"/v1/team/teamID/group/groupID/annotations\",\n  \"headers\": {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n  }\n};\n\nconst req = http.request(options, function (res) {\n  const chunks = [];\n\n  res.on(\"data\", function (chunk) {\n    chunks.push(chunk);\n  });\n\n  res.on(\"end\", function () {\n    const body = Buffer.concat(chunks);\n    console.log(body.toString());\n  });\n});\n\nreq.write(JSON.stringify({annotations: [{key: 'string', value: 'string'}]}));\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.jumpdesktop.com/v1/team/teamID/group/groupID/annotations\"\n\n\tpayload := strings.NewReader(\"{\\\"annotations\\\":[{\\\"key\\\":\\\"string\\\",\\\"value\\\":\\\"string\\\"}]}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"},{"lang":"Php + Http1","source":"<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://api.jumpdesktop.com/v1/team/teamID/group/groupID/annotations');\n$request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders([\n  'Authorization' => 'Bearer REPLACE_BEARER_TOKEN'\n]);\n\n$request->setBody('{\"annotations\":[{\"key\":\"string\",\"value\":\"string\"}]}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n}"},{"lang":"Python + Python3","source":"import http.client\n\nconn = http.client.HTTPSConnection(\"api.jumpdesktop.com\")\n\npayload = \"{\\\"annotations\\\":[{\\\"key\\\":\\\"string\\\",\\\"value\\\":\\\"string\\\"}]}\"\n\nheaders = { 'Authorization': \"Bearer REPLACE_BEARER_TOKEN\" }\n\nconn.request(\"POST\", \"/v1/team/teamID/group/groupID/annotations\", payload, headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode(\"utf-8\"))"},{"lang":"Csharp + Restsharp","source":"var client = new RestClient(\"https://api.jumpdesktop.com/v1/team/teamID/group/groupID/annotations\");\nvar request = new RestRequest(Method.POST);\nrequest.AddHeader(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\");\nrequest.AddParameter(\"undefined\", \"{\\\"annotations\\\":[{\\\"key\\\":\\\"string\\\",\\\"value\\\":\\\"string\\\"}]}\", ParameterType.RequestBody);\nIRestResponse response = client.Execute(request);"}]}},"/v1/team/{teamID}/group/{groupID}/annotations/delete":{"post":{"security":[{"ApiToken":[]}],"description":"Remove annotations for an access group","tags":["Team Access Groups","Team Annotations"],"summary":"Remove annotations for an access group","operationId":"team-group-annotations-delete","parameters":[{"description":"TeamID","name":"teamID","in":"path","required":true,"schema":{"type":"string"}},{"description":"GroupID","name":"groupID","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamDeleteAnnotationsRequest"}}},"description":"Array of annotation keys to remove","required":true},"responses":{"200":{"description":"OK"},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrors"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n  --url https://api.jumpdesktop.com/v1/team/teamID/group/groupID/annotations/delete \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --data '{\"annotationKeys\":[\"string\"]}'"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n  \"method\": \"POST\",\n  \"hostname\": \"api.jumpdesktop.com\",\n  \"port\": null,\n  \"path\": \"/v1/team/teamID/group/groupID/annotations/delete\",\n  \"headers\": {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n  }\n};\n\nconst req = http.request(options, function (res) {\n  const chunks = [];\n\n  res.on(\"data\", function (chunk) {\n    chunks.push(chunk);\n  });\n\n  res.on(\"end\", function () {\n    const body = Buffer.concat(chunks);\n    console.log(body.toString());\n  });\n});\n\nreq.write(JSON.stringify({annotationKeys: ['string']}));\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.jumpdesktop.com/v1/team/teamID/group/groupID/annotations/delete\"\n\n\tpayload := strings.NewReader(\"{\\\"annotationKeys\\\":[\\\"string\\\"]}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"},{"lang":"Php + Http1","source":"<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://api.jumpdesktop.com/v1/team/teamID/group/groupID/annotations/delete');\n$request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders([\n  'Authorization' => 'Bearer REPLACE_BEARER_TOKEN'\n]);\n\n$request->setBody('{\"annotationKeys\":[\"string\"]}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n}"},{"lang":"Python + Python3","source":"import http.client\n\nconn = http.client.HTTPSConnection(\"api.jumpdesktop.com\")\n\npayload = \"{\\\"annotationKeys\\\":[\\\"string\\\"]}\"\n\nheaders = { 'Authorization': \"Bearer REPLACE_BEARER_TOKEN\" }\n\nconn.request(\"POST\", \"/v1/team/teamID/group/groupID/annotations/delete\", payload, headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode(\"utf-8\"))"},{"lang":"Csharp + Restsharp","source":"var client = new RestClient(\"https://api.jumpdesktop.com/v1/team/teamID/group/groupID/annotations/delete\");\nvar request = new RestRequest(Method.POST);\nrequest.AddHeader(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\");\nrequest.AddParameter(\"undefined\", \"{\\\"annotationKeys\\\":[\\\"string\\\"]}\", ParameterType.RequestBody);\nIRestResponse response = client.Execute(request);"}]}},"/v1/team/{teamID}/group/{groupID}/members":{"post":{"security":[{"ApiToken":[]}],"description":"Add users or computers to an access group","tags":["Team Access Groups"],"summary":"Add users or computers to an access group","operationId":"team-group-members-add","parameters":[{"description":"TeamID","name":"teamID","in":"path","required":true,"schema":{"type":"string"}},{"description":"GroupID","name":"groupID","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamGroupMembersAddRequest"}}},"description":"Body","required":true},"responses":{"201":{"description":"Created"},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrors"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n  --url https://api.jumpdesktop.com/v1/team/teamID/group/groupID/members \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"devices\":[\"string\"],\"users\":[\"string\"]}'"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n  \"method\": \"POST\",\n  \"hostname\": \"api.jumpdesktop.com\",\n  \"port\": null,\n  \"path\": \"/v1/team/teamID/group/groupID/members\",\n  \"headers\": {\n    \"content-type\": \"application/json\",\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n  }\n};\n\nconst req = http.request(options, function (res) {\n  const chunks = [];\n\n  res.on(\"data\", function (chunk) {\n    chunks.push(chunk);\n  });\n\n  res.on(\"end\", function () {\n    const body = Buffer.concat(chunks);\n    console.log(body.toString());\n  });\n});\n\nreq.write(JSON.stringify({devices: ['string'], users: ['string']}));\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.jumpdesktop.com/v1/team/teamID/group/groupID/members\"\n\n\tpayload := strings.NewReader(\"{\\\"devices\\\":[\\\"string\\\"],\\\"users\\\":[\\\"string\\\"]}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"},{"lang":"Php + Http1","source":"<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://api.jumpdesktop.com/v1/team/teamID/group/groupID/members');\n$request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders([\n  'content-type' => 'application/json',\n  'Authorization' => 'Bearer REPLACE_BEARER_TOKEN'\n]);\n\n$request->setBody('{\"devices\":[\"string\"],\"users\":[\"string\"]}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n}"},{"lang":"Python + Python3","source":"import http.client\n\nconn = http.client.HTTPSConnection(\"api.jumpdesktop.com\")\n\npayload = \"{\\\"devices\\\":[\\\"string\\\"],\\\"users\\\":[\\\"string\\\"]}\"\n\nheaders = {\n    'content-type': \"application/json\",\n    'Authorization': \"Bearer REPLACE_BEARER_TOKEN\"\n    }\n\nconn.request(\"POST\", \"/v1/team/teamID/group/groupID/members\", payload, headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode(\"utf-8\"))"},{"lang":"Csharp + Restsharp","source":"var client = new RestClient(\"https://api.jumpdesktop.com/v1/team/teamID/group/groupID/members\");\nvar request = new RestRequest(Method.POST);\nrequest.AddHeader(\"content-type\", \"application/json\");\nrequest.AddHeader(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\");\nrequest.AddParameter(\"application/json\", \"{\\\"devices\\\":[\\\"string\\\"],\\\"users\\\":[\\\"string\\\"]}\", ParameterType.RequestBody);\nIRestResponse response = client.Execute(request);"}]}},"/v1/team/{teamID}/group/{groupID}/members/delete":{"post":{"security":[{"ApiToken":[]}],"description":"Remove users or computers to an access group","tags":["Team Access Groups"],"summary":"Remove users or computers from an access group","operationId":"team-group-members-remove","parameters":[{"description":"TeamID","name":"teamID","in":"path","required":true,"schema":{"type":"string"}},{"description":"GroupID","name":"groupID","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamGroupMembersRemoveRequest"}}},"description":"Body","required":true},"responses":{"201":{"description":"Created"},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrors"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n  --url https://api.jumpdesktop.com/v1/team/teamID/group/groupID/members/delete \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"devices\":[\"string\"],\"users\":[\"string\"]}'"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n  \"method\": \"POST\",\n  \"hostname\": \"api.jumpdesktop.com\",\n  \"port\": null,\n  \"path\": \"/v1/team/teamID/group/groupID/members/delete\",\n  \"headers\": {\n    \"content-type\": \"application/json\",\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n  }\n};\n\nconst req = http.request(options, function (res) {\n  const chunks = [];\n\n  res.on(\"data\", function (chunk) {\n    chunks.push(chunk);\n  });\n\n  res.on(\"end\", function () {\n    const body = Buffer.concat(chunks);\n    console.log(body.toString());\n  });\n});\n\nreq.write(JSON.stringify({devices: ['string'], users: ['string']}));\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.jumpdesktop.com/v1/team/teamID/group/groupID/members/delete\"\n\n\tpayload := strings.NewReader(\"{\\\"devices\\\":[\\\"string\\\"],\\\"users\\\":[\\\"string\\\"]}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"},{"lang":"Php + Http1","source":"<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://api.jumpdesktop.com/v1/team/teamID/group/groupID/members/delete');\n$request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders([\n  'content-type' => 'application/json',\n  'Authorization' => 'Bearer REPLACE_BEARER_TOKEN'\n]);\n\n$request->setBody('{\"devices\":[\"string\"],\"users\":[\"string\"]}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n}"},{"lang":"Python + Python3","source":"import http.client\n\nconn = http.client.HTTPSConnection(\"api.jumpdesktop.com\")\n\npayload = \"{\\\"devices\\\":[\\\"string\\\"],\\\"users\\\":[\\\"string\\\"]}\"\n\nheaders = {\n    'content-type': \"application/json\",\n    'Authorization': \"Bearer REPLACE_BEARER_TOKEN\"\n    }\n\nconn.request(\"POST\", \"/v1/team/teamID/group/groupID/members/delete\", payload, headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode(\"utf-8\"))"},{"lang":"Csharp + Restsharp","source":"var client = new RestClient(\"https://api.jumpdesktop.com/v1/team/teamID/group/groupID/members/delete\");\nvar request = new RestRequest(Method.POST);\nrequest.AddHeader(\"content-type\", \"application/json\");\nrequest.AddHeader(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\");\nrequest.AddParameter(\"application/json\", \"{\\\"devices\\\":[\\\"string\\\"],\\\"users\\\":[\\\"string\\\"]}\", ParameterType.RequestBody);\nIRestResponse response = client.Execute(request);"}]}},"/v1/team/{teamID}/history":{"get":{"security":[{"ApiToken":[]}],"description":"Get a team's activity history. Returns an empty result if there are no more events left.","tags":["Team Logs"],"summary":"Get a team's activity history","operationId":"team-events-get-history","parameters":[{"description":"TeamID","name":"teamID","in":"path","required":true,"schema":{"type":"string"}},{"description":"Set this to false to return events in ascending order by time (i.e. oldest events first)","name":"desc","in":"query","schema":{"type":"boolean","default":true}},{"description":"Maximum number events to return","name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":1001,"default":20}},{"description":"Events offset index","name":"offset","in":"query","schema":{"type":"integer","minimum":0,"default":0}},{"description":"The timestamp (in seconds since unix epoch) from where the query starts, including itself.","name":"startTime","in":"query","schema":{"type":"integer","format":"UnixTimestamp","default":0}},{"description":"The timestamp (in seconds since unix epoch) where the query ends, including itself.","name":"stopTime","in":"query","schema":{"type":"integer","format":"UnixTimestamp","default":7258118400}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamHistoryEventsResponse"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrors"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n  --url 'https://api.jumpdesktop.com/v1/team/teamID/history?desc=SOME_BOOLEAN_VALUE&limit=SOME_INTEGER_VALUE&offset=SOME_INTEGER_VALUE&startTime=SOME_INTEGER_VALUE&stopTime=SOME_INTEGER_VALUE' \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n  \"method\": \"GET\",\n  \"hostname\": \"api.jumpdesktop.com\",\n  \"port\": null,\n  \"path\": \"/v1/team/teamID/history?desc=SOME_BOOLEAN_VALUE&limit=SOME_INTEGER_VALUE&offset=SOME_INTEGER_VALUE&startTime=SOME_INTEGER_VALUE&stopTime=SOME_INTEGER_VALUE\",\n  \"headers\": {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n  }\n};\n\nconst req = http.request(options, function (res) {\n  const chunks = [];\n\n  res.on(\"data\", function (chunk) {\n    chunks.push(chunk);\n  });\n\n  res.on(\"end\", function () {\n    const body = Buffer.concat(chunks);\n    console.log(body.toString());\n  });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.jumpdesktop.com/v1/team/teamID/history?desc=SOME_BOOLEAN_VALUE&limit=SOME_INTEGER_VALUE&offset=SOME_INTEGER_VALUE&startTime=SOME_INTEGER_VALUE&stopTime=SOME_INTEGER_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"},{"lang":"Php + Http1","source":"<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://api.jumpdesktop.com/v1/team/teamID/history');\n$request->setMethod(HTTP_METH_GET);\n\n$request->setQueryData([\n  'desc' => 'SOME_BOOLEAN_VALUE',\n  'limit' => 'SOME_INTEGER_VALUE',\n  'offset' => 'SOME_INTEGER_VALUE',\n  'startTime' => 'SOME_INTEGER_VALUE',\n  'stopTime' => 'SOME_INTEGER_VALUE'\n]);\n\n$request->setHeaders([\n  'Authorization' => 'Bearer REPLACE_BEARER_TOKEN'\n]);\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n}"},{"lang":"Python + Python3","source":"import http.client\n\nconn = http.client.HTTPSConnection(\"api.jumpdesktop.com\")\n\nheaders = { 'Authorization': \"Bearer REPLACE_BEARER_TOKEN\" }\n\nconn.request(\"GET\", \"/v1/team/teamID/history?desc=SOME_BOOLEAN_VALUE&limit=SOME_INTEGER_VALUE&offset=SOME_INTEGER_VALUE&startTime=SOME_INTEGER_VALUE&stopTime=SOME_INTEGER_VALUE\", headers=headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode(\"utf-8\"))"},{"lang":"Csharp + Restsharp","source":"var client = new RestClient(\"https://api.jumpdesktop.com/v1/team/teamID/history?desc=SOME_BOOLEAN_VALUE&limit=SOME_INTEGER_VALUE&offset=SOME_INTEGER_VALUE&startTime=SOME_INTEGER_VALUE&stopTime=SOME_INTEGER_VALUE\");\nvar request = new RestRequest(Method.GET);\nrequest.AddHeader(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\");\nIRestResponse response = client.Execute(request);"}]}},"/v1/team/{teamID}/history/devices":{"get":{"security":[{"ApiToken":[]}],"description":"Gets computer connection history for the team. Use query parameters to search and limit results. Returns an empty result if no events are found.","tags":["Team Logs","Team Computers"],"summary":"Get computer connection history for the team","operationId":"team-device-events-get-history","parameters":[{"description":"TeamID","name":"teamID","in":"path","required":true,"schema":{"type":"string"}},{"description":"Set this to true to return events in descending order by time (i.e. latest events first)","name":"desc","in":"query","schema":{"type":"boolean","default":true}},{"description":"Set this to limit connection history to specific device / computer ids. Leave this empty for all computers for the team","name":"ids","in":"query","explode":true,"schema":{"type":"array","items":{"type":"string"}}},{"description":"Limit the number events returned by the api","name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":1001,"default":20}},{"description":"Event offset when returning events","name":"offset","in":"query","schema":{"type":"integer","minimum":0,"default":0}},{"description":"Starting time stamp for the query in seconds since unix epoch","name":"startTime","in":"query","schema":{"type":"integer","format":"UnixTimestamp","default":0}},{"description":"Stop time stamp for the query in seconds since unix epoch","name":"stopTime","in":"query","schema":{"type":"integer","format":"UnixTimestamp","default":7258118400}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamDeviceEventsGetHistoryResponse"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrors"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n  --url 'https://api.jumpdesktop.com/v1/team/teamID/history/devices?desc=SOME_BOOLEAN_VALUE&ids=SOME_ARRAY_VALUE&limit=SOME_INTEGER_VALUE&offset=SOME_INTEGER_VALUE&startTime=SOME_INTEGER_VALUE&stopTime=SOME_INTEGER_VALUE' \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n  \"method\": \"GET\",\n  \"hostname\": \"api.jumpdesktop.com\",\n  \"port\": null,\n  \"path\": \"/v1/team/teamID/history/devices?desc=SOME_BOOLEAN_VALUE&ids=SOME_ARRAY_VALUE&limit=SOME_INTEGER_VALUE&offset=SOME_INTEGER_VALUE&startTime=SOME_INTEGER_VALUE&stopTime=SOME_INTEGER_VALUE\",\n  \"headers\": {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n  }\n};\n\nconst req = http.request(options, function (res) {\n  const chunks = [];\n\n  res.on(\"data\", function (chunk) {\n    chunks.push(chunk);\n  });\n\n  res.on(\"end\", function () {\n    const body = Buffer.concat(chunks);\n    console.log(body.toString());\n  });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.jumpdesktop.com/v1/team/teamID/history/devices?desc=SOME_BOOLEAN_VALUE&ids=SOME_ARRAY_VALUE&limit=SOME_INTEGER_VALUE&offset=SOME_INTEGER_VALUE&startTime=SOME_INTEGER_VALUE&stopTime=SOME_INTEGER_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"},{"lang":"Php + Http1","source":"<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://api.jumpdesktop.com/v1/team/teamID/history/devices');\n$request->setMethod(HTTP_METH_GET);\n\n$request->setQueryData([\n  'desc' => 'SOME_BOOLEAN_VALUE',\n  'ids' => 'SOME_ARRAY_VALUE',\n  'limit' => 'SOME_INTEGER_VALUE',\n  'offset' => 'SOME_INTEGER_VALUE',\n  'startTime' => 'SOME_INTEGER_VALUE',\n  'stopTime' => 'SOME_INTEGER_VALUE'\n]);\n\n$request->setHeaders([\n  'Authorization' => 'Bearer REPLACE_BEARER_TOKEN'\n]);\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n}"},{"lang":"Python + Python3","source":"import http.client\n\nconn = http.client.HTTPSConnection(\"api.jumpdesktop.com\")\n\nheaders = { 'Authorization': \"Bearer REPLACE_BEARER_TOKEN\" }\n\nconn.request(\"GET\", \"/v1/team/teamID/history/devices?desc=SOME_BOOLEAN_VALUE&ids=SOME_ARRAY_VALUE&limit=SOME_INTEGER_VALUE&offset=SOME_INTEGER_VALUE&startTime=SOME_INTEGER_VALUE&stopTime=SOME_INTEGER_VALUE\", headers=headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode(\"utf-8\"))"},{"lang":"Csharp + Restsharp","source":"var client = new RestClient(\"https://api.jumpdesktop.com/v1/team/teamID/history/devices?desc=SOME_BOOLEAN_VALUE&ids=SOME_ARRAY_VALUE&limit=SOME_INTEGER_VALUE&offset=SOME_INTEGER_VALUE&startTime=SOME_INTEGER_VALUE&stopTime=SOME_INTEGER_VALUE\");\nvar request = new RestRequest(Method.GET);\nrequest.AddHeader(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\");\nIRestResponse response = client.Execute(request);"}]}},"/v1/team/{teamID}/invite/device":{"post":{"security":[{"ApiToken":[]}],"description":"Create a new Jump Desktop Connect installer for the team which can be used to add computers to the team","tags":["Team Computers"],"summary":"Create a new Jump Desktop Connect installer","operationId":"team-device-invite-add","parameters":[{"description":"TeamID","name":"teamID","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamDeviceInviteAddRequest"}}},"description":"Body","required":true},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamDeviceInstallerInfo"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrors"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n  --url https://api.jumpdesktop.com/v1/team/teamID/invite/device \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"expirySecs\":0,\"groups\":[\"string\"],\"name\":\"string\",\"requireAuthentication\":true,\"singleUse\":true,\"users\":[\"string\"]}'"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n  \"method\": \"POST\",\n  \"hostname\": \"api.jumpdesktop.com\",\n  \"port\": null,\n  \"path\": \"/v1/team/teamID/invite/device\",\n  \"headers\": {\n    \"content-type\": \"application/json\",\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n  }\n};\n\nconst req = http.request(options, function (res) {\n  const chunks = [];\n\n  res.on(\"data\", function (chunk) {\n    chunks.push(chunk);\n  });\n\n  res.on(\"end\", function () {\n    const body = Buffer.concat(chunks);\n    console.log(body.toString());\n  });\n});\n\nreq.write(JSON.stringify({\n  expirySecs: 0,\n  groups: ['string'],\n  name: 'string',\n  requireAuthentication: true,\n  singleUse: true,\n  users: ['string']\n}));\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.jumpdesktop.com/v1/team/teamID/invite/device\"\n\n\tpayload := strings.NewReader(\"{\\\"expirySecs\\\":0,\\\"groups\\\":[\\\"string\\\"],\\\"name\\\":\\\"string\\\",\\\"requireAuthentication\\\":true,\\\"singleUse\\\":true,\\\"users\\\":[\\\"string\\\"]}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"},{"lang":"Php + Http1","source":"<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://api.jumpdesktop.com/v1/team/teamID/invite/device');\n$request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders([\n  'content-type' => 'application/json',\n  'Authorization' => 'Bearer REPLACE_BEARER_TOKEN'\n]);\n\n$request->setBody('{\"expirySecs\":0,\"groups\":[\"string\"],\"name\":\"string\",\"requireAuthentication\":true,\"singleUse\":true,\"users\":[\"string\"]}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n}"},{"lang":"Python + Python3","source":"import http.client\n\nconn = http.client.HTTPSConnection(\"api.jumpdesktop.com\")\n\npayload = \"{\\\"expirySecs\\\":0,\\\"groups\\\":[\\\"string\\\"],\\\"name\\\":\\\"string\\\",\\\"requireAuthentication\\\":true,\\\"singleUse\\\":true,\\\"users\\\":[\\\"string\\\"]}\"\n\nheaders = {\n    'content-type': \"application/json\",\n    'Authorization': \"Bearer REPLACE_BEARER_TOKEN\"\n    }\n\nconn.request(\"POST\", \"/v1/team/teamID/invite/device\", payload, headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode(\"utf-8\"))"},{"lang":"Csharp + Restsharp","source":"var client = new RestClient(\"https://api.jumpdesktop.com/v1/team/teamID/invite/device\");\nvar request = new RestRequest(Method.POST);\nrequest.AddHeader(\"content-type\", \"application/json\");\nrequest.AddHeader(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\");\nrequest.AddParameter(\"application/json\", \"{\\\"expirySecs\\\":0,\\\"groups\\\":[\\\"string\\\"],\\\"name\\\":\\\"string\\\",\\\"requireAuthentication\\\":true,\\\"singleUse\\\":true,\\\"users\\\":[\\\"string\\\"]}\", ParameterType.RequestBody);\nIRestResponse response = client.Execute(request);"}]}},"/v1/team/{teamID}/invite/device/{inviteID}":{"delete":{"security":[{"ApiToken":[]}],"description":"Deletes a Jump Desktop installer for the team","tags":["Team Computers"],"summary":"Delete a Jump Desktop Connect installer","operationId":"team-device-invite-delete","parameters":[{"description":"TeamID","name":"teamID","in":"path","required":true,"schema":{"type":"string"}},{"description":"Device Invite ID","name":"inviteID","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":"Created"},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrors"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n  --url https://api.jumpdesktop.com/v1/team/teamID/invite/device/inviteID \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n  \"method\": \"DELETE\",\n  \"hostname\": \"api.jumpdesktop.com\",\n  \"port\": null,\n  \"path\": \"/v1/team/teamID/invite/device/inviteID\",\n  \"headers\": {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n  }\n};\n\nconst req = http.request(options, function (res) {\n  const chunks = [];\n\n  res.on(\"data\", function (chunk) {\n    chunks.push(chunk);\n  });\n\n  res.on(\"end\", function () {\n    const body = Buffer.concat(chunks);\n    console.log(body.toString());\n  });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.jumpdesktop.com/v1/team/teamID/invite/device/inviteID\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"},{"lang":"Php + Http1","source":"<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://api.jumpdesktop.com/v1/team/teamID/invite/device/inviteID');\n$request->setMethod(HTTP_METH_DELETE);\n\n$request->setHeaders([\n  'Authorization' => 'Bearer REPLACE_BEARER_TOKEN'\n]);\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n}"},{"lang":"Python + Python3","source":"import http.client\n\nconn = http.client.HTTPSConnection(\"api.jumpdesktop.com\")\n\nheaders = { 'Authorization': \"Bearer REPLACE_BEARER_TOKEN\" }\n\nconn.request(\"DELETE\", \"/v1/team/teamID/invite/device/inviteID\", headers=headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode(\"utf-8\"))"},{"lang":"Csharp + Restsharp","source":"var client = new RestClient(\"https://api.jumpdesktop.com/v1/team/teamID/invite/device/inviteID\");\nvar request = new RestRequest(Method.DELETE);\nrequest.AddHeader(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\");\nIRestResponse response = client.Execute(request);"}]}},"/v1/team/{teamID}/invite/user":{"post":{"security":[{"ApiToken":[]}],"description":"Create user invites for the team","tags":["Team Users"],"summary":"Invite users","operationId":"team-user-invite-add","parameters":[{"description":"TeamID","name":"teamID","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamAddUserInviteRequest"}}},"description":"Body","required":true},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamUserInvite"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrors"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n  --url https://api.jumpdesktop.com/v1/team/teamID/invite/user \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"devices\":[\"string\"],\"groups\":[\"string\"],\"name\":\"string\",\"sendTo\":\"string\",\"singleUse\":true}'"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n  \"method\": \"POST\",\n  \"hostname\": \"api.jumpdesktop.com\",\n  \"port\": null,\n  \"path\": \"/v1/team/teamID/invite/user\",\n  \"headers\": {\n    \"content-type\": \"application/json\",\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n  }\n};\n\nconst req = http.request(options, function (res) {\n  const chunks = [];\n\n  res.on(\"data\", function (chunk) {\n    chunks.push(chunk);\n  });\n\n  res.on(\"end\", function () {\n    const body = Buffer.concat(chunks);\n    console.log(body.toString());\n  });\n});\n\nreq.write(JSON.stringify({\n  devices: ['string'],\n  groups: ['string'],\n  name: 'string',\n  sendTo: 'string',\n  singleUse: true\n}));\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.jumpdesktop.com/v1/team/teamID/invite/user\"\n\n\tpayload := strings.NewReader(\"{\\\"devices\\\":[\\\"string\\\"],\\\"groups\\\":[\\\"string\\\"],\\\"name\\\":\\\"string\\\",\\\"sendTo\\\":\\\"string\\\",\\\"singleUse\\\":true}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"},{"lang":"Php + Http1","source":"<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://api.jumpdesktop.com/v1/team/teamID/invite/user');\n$request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders([\n  'content-type' => 'application/json',\n  'Authorization' => 'Bearer REPLACE_BEARER_TOKEN'\n]);\n\n$request->setBody('{\"devices\":[\"string\"],\"groups\":[\"string\"],\"name\":\"string\",\"sendTo\":\"string\",\"singleUse\":true}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n}"},{"lang":"Python + Python3","source":"import http.client\n\nconn = http.client.HTTPSConnection(\"api.jumpdesktop.com\")\n\npayload = \"{\\\"devices\\\":[\\\"string\\\"],\\\"groups\\\":[\\\"string\\\"],\\\"name\\\":\\\"string\\\",\\\"sendTo\\\":\\\"string\\\",\\\"singleUse\\\":true}\"\n\nheaders = {\n    'content-type': \"application/json\",\n    'Authorization': \"Bearer REPLACE_BEARER_TOKEN\"\n    }\n\nconn.request(\"POST\", \"/v1/team/teamID/invite/user\", payload, headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode(\"utf-8\"))"},{"lang":"Csharp + Restsharp","source":"var client = new RestClient(\"https://api.jumpdesktop.com/v1/team/teamID/invite/user\");\nvar request = new RestRequest(Method.POST);\nrequest.AddHeader(\"content-type\", \"application/json\");\nrequest.AddHeader(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\");\nrequest.AddParameter(\"application/json\", \"{\\\"devices\\\":[\\\"string\\\"],\\\"groups\\\":[\\\"string\\\"],\\\"name\\\":\\\"string\\\",\\\"sendTo\\\":\\\"string\\\",\\\"singleUse\\\":true}\", ParameterType.RequestBody);\nIRestResponse response = client.Execute(request);"}]}},"/v1/team/{teamID}/invite/user/{secret}":{"delete":{"security":[{"ApiToken":[]}],"description":"Deletes a prior invitation sent to a user on the team","tags":["Team Users"],"summary":"Delete a user invite","operationId":"team-user-invite-delete","parameters":[{"description":"TeamID","name":"teamID","in":"path","required":true,"schema":{"type":"string"}},{"description":"The invite secret","name":"secret","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":"Created"},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrors"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n  --url https://api.jumpdesktop.com/v1/team/teamID/invite/user/secret \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n  \"method\": \"DELETE\",\n  \"hostname\": \"api.jumpdesktop.com\",\n  \"port\": null,\n  \"path\": \"/v1/team/teamID/invite/user/secret\",\n  \"headers\": {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n  }\n};\n\nconst req = http.request(options, function (res) {\n  const chunks = [];\n\n  res.on(\"data\", function (chunk) {\n    chunks.push(chunk);\n  });\n\n  res.on(\"end\", function () {\n    const body = Buffer.concat(chunks);\n    console.log(body.toString());\n  });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.jumpdesktop.com/v1/team/teamID/invite/user/secret\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"},{"lang":"Php + Http1","source":"<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://api.jumpdesktop.com/v1/team/teamID/invite/user/secret');\n$request->setMethod(HTTP_METH_DELETE);\n\n$request->setHeaders([\n  'Authorization' => 'Bearer REPLACE_BEARER_TOKEN'\n]);\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n}"},{"lang":"Python + Python3","source":"import http.client\n\nconn = http.client.HTTPSConnection(\"api.jumpdesktop.com\")\n\nheaders = { 'Authorization': \"Bearer REPLACE_BEARER_TOKEN\" }\n\nconn.request(\"DELETE\", \"/v1/team/teamID/invite/user/secret\", headers=headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode(\"utf-8\"))"},{"lang":"Csharp + Restsharp","source":"var client = new RestClient(\"https://api.jumpdesktop.com/v1/team/teamID/invite/user/secret\");\nvar request = new RestRequest(Method.DELETE);\nrequest.AddHeader(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\");\nIRestResponse response = client.Execute(request);"}]}},"/v1/team/{teamID}/user/{userID}":{"delete":{"security":[{"ApiToken":[]}],"description":"Remove a user from the team","tags":["Team Users"],"summary":"Remove a user","operationId":"team-user-remove","parameters":[{"description":"TeamID","name":"teamID","in":"path","required":true,"schema":{"type":"string"}},{"description":"UserID","name":"userID","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrors"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request DELETE \\\n  --url https://api.jumpdesktop.com/v1/team/teamID/user/userID \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n  \"method\": \"DELETE\",\n  \"hostname\": \"api.jumpdesktop.com\",\n  \"port\": null,\n  \"path\": \"/v1/team/teamID/user/userID\",\n  \"headers\": {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n  }\n};\n\nconst req = http.request(options, function (res) {\n  const chunks = [];\n\n  res.on(\"data\", function (chunk) {\n    chunks.push(chunk);\n  });\n\n  res.on(\"end\", function () {\n    const body = Buffer.concat(chunks);\n    console.log(body.toString());\n  });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.jumpdesktop.com/v1/team/teamID/user/userID\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"},{"lang":"Php + Http1","source":"<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://api.jumpdesktop.com/v1/team/teamID/user/userID');\n$request->setMethod(HTTP_METH_DELETE);\n\n$request->setHeaders([\n  'Authorization' => 'Bearer REPLACE_BEARER_TOKEN'\n]);\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n}"},{"lang":"Python + Python3","source":"import http.client\n\nconn = http.client.HTTPSConnection(\"api.jumpdesktop.com\")\n\nheaders = { 'Authorization': \"Bearer REPLACE_BEARER_TOKEN\" }\n\nconn.request(\"DELETE\", \"/v1/team/teamID/user/userID\", headers=headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode(\"utf-8\"))"},{"lang":"Csharp + Restsharp","source":"var client = new RestClient(\"https://api.jumpdesktop.com/v1/team/teamID/user/userID\");\nvar request = new RestRequest(Method.DELETE);\nrequest.AddHeader(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\");\nIRestResponse response = client.Execute(request);"}]},"patch":{"security":[{"ApiToken":[]}],"description":"Modify a team user","tags":["Team Users"],"summary":"Modify a user","operationId":"team-user-patch","parameters":[{"description":"TeamID","name":"teamID","in":"path","required":true,"schema":{"type":"string"}},{"description":"UserID","name":"userID","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamUserPatchRequest"}}},"description":"Body","required":true},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamUserInfo"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrors"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request PATCH \\\n  --url https://api.jumpdesktop.com/v1/team/teamID/user/userID \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"remoteAccess\":\"enabled\",\"role\":\"admin\"}'"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n  \"method\": \"PATCH\",\n  \"hostname\": \"api.jumpdesktop.com\",\n  \"port\": null,\n  \"path\": \"/v1/team/teamID/user/userID\",\n  \"headers\": {\n    \"content-type\": \"application/json\",\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n  }\n};\n\nconst req = http.request(options, function (res) {\n  const chunks = [];\n\n  res.on(\"data\", function (chunk) {\n    chunks.push(chunk);\n  });\n\n  res.on(\"end\", function () {\n    const body = Buffer.concat(chunks);\n    console.log(body.toString());\n  });\n});\n\nreq.write(JSON.stringify({remoteAccess: 'enabled', role: 'admin'}));\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.jumpdesktop.com/v1/team/teamID/user/userID\"\n\n\tpayload := strings.NewReader(\"{\\\"remoteAccess\\\":\\\"enabled\\\",\\\"role\\\":\\\"admin\\\"}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"},{"lang":"Php + Http1","source":"<?php\n\nHttpRequest::methodRegister('PATCH');\n$request = new HttpRequest();\n$request->setUrl('https://api.jumpdesktop.com/v1/team/teamID/user/userID');\n$request->setMethod(HttpRequest::HTTP_METH_PATCH);\n\n$request->setHeaders([\n  'content-type' => 'application/json',\n  'Authorization' => 'Bearer REPLACE_BEARER_TOKEN'\n]);\n\n$request->setBody('{\"remoteAccess\":\"enabled\",\"role\":\"admin\"}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n}"},{"lang":"Python + Python3","source":"import http.client\n\nconn = http.client.HTTPSConnection(\"api.jumpdesktop.com\")\n\npayload = \"{\\\"remoteAccess\\\":\\\"enabled\\\",\\\"role\\\":\\\"admin\\\"}\"\n\nheaders = {\n    'content-type': \"application/json\",\n    'Authorization': \"Bearer REPLACE_BEARER_TOKEN\"\n    }\n\nconn.request(\"PATCH\", \"/v1/team/teamID/user/userID\", payload, headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode(\"utf-8\"))"},{"lang":"Csharp + Restsharp","source":"var client = new RestClient(\"https://api.jumpdesktop.com/v1/team/teamID/user/userID\");\nvar request = new RestRequest(Method.PATCH);\nrequest.AddHeader(\"content-type\", \"application/json\");\nrequest.AddHeader(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\");\nrequest.AddParameter(\"application/json\", \"{\\\"remoteAccess\\\":\\\"enabled\\\",\\\"role\\\":\\\"admin\\\"}\", ParameterType.RequestBody);\nIRestResponse response = client.Execute(request);"}]}},"/v1/team/{teamID}/user/{userID}/annotations":{"get":{"security":[{"ApiToken":[]}],"description":"Get annotations for a user on the team","tags":["Team Users","Team Annotations"],"summary":"Get annotations for a user on the team","operationId":"team-user-annotations-get","parameters":[{"description":"TeamID","name":"teamID","in":"path","required":true,"schema":{"type":"string"}},{"description":"UserID","name":"userID","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamAnnotationsResponse"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrors"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n  --url https://api.jumpdesktop.com/v1/team/teamID/user/userID/annotations \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n  \"method\": \"GET\",\n  \"hostname\": \"api.jumpdesktop.com\",\n  \"port\": null,\n  \"path\": \"/v1/team/teamID/user/userID/annotations\",\n  \"headers\": {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n  }\n};\n\nconst req = http.request(options, function (res) {\n  const chunks = [];\n\n  res.on(\"data\", function (chunk) {\n    chunks.push(chunk);\n  });\n\n  res.on(\"end\", function () {\n    const body = Buffer.concat(chunks);\n    console.log(body.toString());\n  });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.jumpdesktop.com/v1/team/teamID/user/userID/annotations\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"},{"lang":"Php + Http1","source":"<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://api.jumpdesktop.com/v1/team/teamID/user/userID/annotations');\n$request->setMethod(HTTP_METH_GET);\n\n$request->setHeaders([\n  'Authorization' => 'Bearer REPLACE_BEARER_TOKEN'\n]);\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n}"},{"lang":"Python + Python3","source":"import http.client\n\nconn = http.client.HTTPSConnection(\"api.jumpdesktop.com\")\n\nheaders = { 'Authorization': \"Bearer REPLACE_BEARER_TOKEN\" }\n\nconn.request(\"GET\", \"/v1/team/teamID/user/userID/annotations\", headers=headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode(\"utf-8\"))"},{"lang":"Csharp + Restsharp","source":"var client = new RestClient(\"https://api.jumpdesktop.com/v1/team/teamID/user/userID/annotations\");\nvar request = new RestRequest(Method.GET);\nrequest.AddHeader(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\");\nIRestResponse response = client.Execute(request);"}]},"post":{"security":[{"ApiToken":[]}],"description":"Add or update annotations for a user on the team","tags":["Team Users","Team Annotations"],"summary":"Add or update annotations for a user on the team","operationId":"team-user-annotations-post","parameters":[{"description":"TeamID","name":"teamID","in":"path","required":true,"schema":{"type":"string"}},{"description":"UserID","name":"userID","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamSetAnnotationsRequest"}}},"description":"Body","required":true},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamAnnotationsResponse"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrors"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n  --url https://api.jumpdesktop.com/v1/team/teamID/user/userID/annotations \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --data '{\"annotations\":[{\"key\":\"string\",\"value\":\"string\"}]}'"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n  \"method\": \"POST\",\n  \"hostname\": \"api.jumpdesktop.com\",\n  \"port\": null,\n  \"path\": \"/v1/team/teamID/user/userID/annotations\",\n  \"headers\": {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n  }\n};\n\nconst req = http.request(options, function (res) {\n  const chunks = [];\n\n  res.on(\"data\", function (chunk) {\n    chunks.push(chunk);\n  });\n\n  res.on(\"end\", function () {\n    const body = Buffer.concat(chunks);\n    console.log(body.toString());\n  });\n});\n\nreq.write(JSON.stringify({annotations: [{key: 'string', value: 'string'}]}));\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.jumpdesktop.com/v1/team/teamID/user/userID/annotations\"\n\n\tpayload := strings.NewReader(\"{\\\"annotations\\\":[{\\\"key\\\":\\\"string\\\",\\\"value\\\":\\\"string\\\"}]}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"},{"lang":"Php + Http1","source":"<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://api.jumpdesktop.com/v1/team/teamID/user/userID/annotations');\n$request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders([\n  'Authorization' => 'Bearer REPLACE_BEARER_TOKEN'\n]);\n\n$request->setBody('{\"annotations\":[{\"key\":\"string\",\"value\":\"string\"}]}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n}"},{"lang":"Python + Python3","source":"import http.client\n\nconn = http.client.HTTPSConnection(\"api.jumpdesktop.com\")\n\npayload = \"{\\\"annotations\\\":[{\\\"key\\\":\\\"string\\\",\\\"value\\\":\\\"string\\\"}]}\"\n\nheaders = { 'Authorization': \"Bearer REPLACE_BEARER_TOKEN\" }\n\nconn.request(\"POST\", \"/v1/team/teamID/user/userID/annotations\", payload, headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode(\"utf-8\"))"},{"lang":"Csharp + Restsharp","source":"var client = new RestClient(\"https://api.jumpdesktop.com/v1/team/teamID/user/userID/annotations\");\nvar request = new RestRequest(Method.POST);\nrequest.AddHeader(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\");\nrequest.AddParameter(\"undefined\", \"{\\\"annotations\\\":[{\\\"key\\\":\\\"string\\\",\\\"value\\\":\\\"string\\\"}]}\", ParameterType.RequestBody);\nIRestResponse response = client.Execute(request);"}]}},"/v1/team/{teamID}/user/{userID}/annotations/delete":{"post":{"security":[{"ApiToken":[]}],"description":"Remove annotations for a user on the team","tags":["Team Users","Team Annotations"],"summary":"Remove annotations for a user on the team","operationId":"team-user-annotations-delete","parameters":[{"description":"TeamID","name":"teamID","in":"path","required":true,"schema":{"type":"string"}},{"description":"UserID","name":"userID","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamDeleteAnnotationsRequest"}}},"description":"Array of annotation keys to remove","required":true},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamAnnotationsResponse"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrors"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n  --url https://api.jumpdesktop.com/v1/team/teamID/user/userID/annotations/delete \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --data '{\"annotationKeys\":[\"string\"]}'"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n  \"method\": \"POST\",\n  \"hostname\": \"api.jumpdesktop.com\",\n  \"port\": null,\n  \"path\": \"/v1/team/teamID/user/userID/annotations/delete\",\n  \"headers\": {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n  }\n};\n\nconst req = http.request(options, function (res) {\n  const chunks = [];\n\n  res.on(\"data\", function (chunk) {\n    chunks.push(chunk);\n  });\n\n  res.on(\"end\", function () {\n    const body = Buffer.concat(chunks);\n    console.log(body.toString());\n  });\n});\n\nreq.write(JSON.stringify({annotationKeys: ['string']}));\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.jumpdesktop.com/v1/team/teamID/user/userID/annotations/delete\"\n\n\tpayload := strings.NewReader(\"{\\\"annotationKeys\\\":[\\\"string\\\"]}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"},{"lang":"Php + Http1","source":"<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://api.jumpdesktop.com/v1/team/teamID/user/userID/annotations/delete');\n$request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders([\n  'Authorization' => 'Bearer REPLACE_BEARER_TOKEN'\n]);\n\n$request->setBody('{\"annotationKeys\":[\"string\"]}');\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n}"},{"lang":"Python + Python3","source":"import http.client\n\nconn = http.client.HTTPSConnection(\"api.jumpdesktop.com\")\n\npayload = \"{\\\"annotationKeys\\\":[\\\"string\\\"]}\"\n\nheaders = { 'Authorization': \"Bearer REPLACE_BEARER_TOKEN\" }\n\nconn.request(\"POST\", \"/v1/team/teamID/user/userID/annotations/delete\", payload, headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode(\"utf-8\"))"},{"lang":"Csharp + Restsharp","source":"var client = new RestClient(\"https://api.jumpdesktop.com/v1/team/teamID/user/userID/annotations/delete\");\nvar request = new RestRequest(Method.POST);\nrequest.AddHeader(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\");\nrequest.AddParameter(\"undefined\", \"{\\\"annotationKeys\\\":[\\\"string\\\"]}\", ParameterType.RequestBody);\nIRestResponse response = client.Execute(request);"}]}},"/v1/team/{teamID}/user/{userID}/removetotp":{"post":{"security":[{"ApiToken":[]}],"description":"Sends email to user with a link to disable 2FA from the user's account. The user needs to clicks on the link to disable 2FA. Link is valid for 24 hours only","tags":["Team Users"],"summary":"Send request to user to disable 2FA from the user's account","operationId":"team-user-totp-remove-request","parameters":[{"description":"TeamID","name":"teamID","in":"path","required":true,"schema":{"type":"string"}},{"description":"UserID","name":"userID","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrors"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n  --url https://api.jumpdesktop.com/v1/team/teamID/user/userID/removetotp \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n  \"method\": \"POST\",\n  \"hostname\": \"api.jumpdesktop.com\",\n  \"port\": null,\n  \"path\": \"/v1/team/teamID/user/userID/removetotp\",\n  \"headers\": {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n  }\n};\n\nconst req = http.request(options, function (res) {\n  const chunks = [];\n\n  res.on(\"data\", function (chunk) {\n    chunks.push(chunk);\n  });\n\n  res.on(\"end\", function () {\n    const body = Buffer.concat(chunks);\n    console.log(body.toString());\n  });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.jumpdesktop.com/v1/team/teamID/user/userID/removetotp\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"},{"lang":"Php + Http1","source":"<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://api.jumpdesktop.com/v1/team/teamID/user/userID/removetotp');\n$request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders([\n  'Authorization' => 'Bearer REPLACE_BEARER_TOKEN'\n]);\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n}"},{"lang":"Python + Python3","source":"import http.client\n\nconn = http.client.HTTPSConnection(\"api.jumpdesktop.com\")\n\nheaders = { 'Authorization': \"Bearer REPLACE_BEARER_TOKEN\" }\n\nconn.request(\"POST\", \"/v1/team/teamID/user/userID/removetotp\", headers=headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode(\"utf-8\"))"},{"lang":"Csharp + Restsharp","source":"var client = new RestClient(\"https://api.jumpdesktop.com/v1/team/teamID/user/userID/removetotp\");\nvar request = new RestRequest(Method.POST);\nrequest.AddHeader(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\");\nIRestResponse response = client.Execute(request);"}]}},"/v1/team/{teamID}/users":{"get":{"security":[{"ApiToken":[]}],"description":"Gets information about users on a team. Use optional query parameters to filter results.","tags":["Team Users"],"summary":"Get information about users on a team","operationId":"team-users-get","parameters":[{"description":"TeamID","name":"teamID","in":"path","required":true,"schema":{"type":"string"}},{"description":"Optional. Search email address","name":"email","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamGetUsersResponse"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrors"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n  --url 'https://api.jumpdesktop.com/v1/team/teamID/users?email=SOME_STRING_VALUE' \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n  \"method\": \"GET\",\n  \"hostname\": \"api.jumpdesktop.com\",\n  \"port\": null,\n  \"path\": \"/v1/team/teamID/users?email=SOME_STRING_VALUE\",\n  \"headers\": {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n  }\n};\n\nconst req = http.request(options, function (res) {\n  const chunks = [];\n\n  res.on(\"data\", function (chunk) {\n    chunks.push(chunk);\n  });\n\n  res.on(\"end\", function () {\n    const body = Buffer.concat(chunks);\n    console.log(body.toString());\n  });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.jumpdesktop.com/v1/team/teamID/users?email=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"},{"lang":"Php + Http1","source":"<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://api.jumpdesktop.com/v1/team/teamID/users');\n$request->setMethod(HTTP_METH_GET);\n\n$request->setQueryData([\n  'email' => 'SOME_STRING_VALUE'\n]);\n\n$request->setHeaders([\n  'Authorization' => 'Bearer REPLACE_BEARER_TOKEN'\n]);\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n}"},{"lang":"Python + Python3","source":"import http.client\n\nconn = http.client.HTTPSConnection(\"api.jumpdesktop.com\")\n\nheaders = { 'Authorization': \"Bearer REPLACE_BEARER_TOKEN\" }\n\nconn.request(\"GET\", \"/v1/team/teamID/users?email=SOME_STRING_VALUE\", headers=headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode(\"utf-8\"))"},{"lang":"Csharp + Restsharp","source":"var client = new RestClient(\"https://api.jumpdesktop.com/v1/team/teamID/users?email=SOME_STRING_VALUE\");\nvar request = new RestRequest(Method.GET);\nrequest.AddHeader(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\");\nIRestResponse response = client.Execute(request);"}]}},"/v1/team/{teamID}/users/{userID}":{"post":{"security":[{"ApiToken":[]}],"description":"Add user to team without triggering a confirmation email as long as the user is using the same SSO as the SSO team admin","tags":["Team Users"],"summary":"Add user to team as long as they are using the same SSO","operationId":"team-add-user","parameters":[{"description":"TeamID","name":"teamID","in":"path","required":true,"schema":{"type":"string"}},{"description":"UserID","name":"userID","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIUserInfo"}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrors"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request POST \\\n  --url https://api.jumpdesktop.com/v1/team/teamID/users/userID \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n  \"method\": \"POST\",\n  \"hostname\": \"api.jumpdesktop.com\",\n  \"port\": null,\n  \"path\": \"/v1/team/teamID/users/userID\",\n  \"headers\": {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n  }\n};\n\nconst req = http.request(options, function (res) {\n  const chunks = [];\n\n  res.on(\"data\", function (chunk) {\n    chunks.push(chunk);\n  });\n\n  res.on(\"end\", function () {\n    const body = Buffer.concat(chunks);\n    console.log(body.toString());\n  });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.jumpdesktop.com/v1/team/teamID/users/userID\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"},{"lang":"Php + Http1","source":"<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://api.jumpdesktop.com/v1/team/teamID/users/userID');\n$request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders([\n  'Authorization' => 'Bearer REPLACE_BEARER_TOKEN'\n]);\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n}"},{"lang":"Python + Python3","source":"import http.client\n\nconn = http.client.HTTPSConnection(\"api.jumpdesktop.com\")\n\nheaders = { 'Authorization': \"Bearer REPLACE_BEARER_TOKEN\" }\n\nconn.request(\"POST\", \"/v1/team/teamID/users/userID\", headers=headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode(\"utf-8\"))"},{"lang":"Csharp + Restsharp","source":"var client = new RestClient(\"https://api.jumpdesktop.com/v1/team/teamID/users/userID\");\nvar request = new RestRequest(Method.POST);\nrequest.AddHeader(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\");\nIRestResponse response = client.Execute(request);"}]}},"/v1/team/{teamid}/saml/users":{"get":{"security":[{"ApiToken":[]}],"description":"Get a list of users that use the SSO config of this team to sign in.","tags":["SAML Users"],"summary":"List users using team SSO","operationId":"team-saml-users-get","parameters":[{"description":"TeamID","name":"teamid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/APIUserInfo"}}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrors"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n  --url https://api.jumpdesktop.com/v1/team/teamid/saml/users \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n  \"method\": \"GET\",\n  \"hostname\": \"api.jumpdesktop.com\",\n  \"port\": null,\n  \"path\": \"/v1/team/teamid/saml/users\",\n  \"headers\": {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n  }\n};\n\nconst req = http.request(options, function (res) {\n  const chunks = [];\n\n  res.on(\"data\", function (chunk) {\n    chunks.push(chunk);\n  });\n\n  res.on(\"end\", function () {\n    const body = Buffer.concat(chunks);\n    console.log(body.toString());\n  });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.jumpdesktop.com/v1/team/teamid/saml/users\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"},{"lang":"Php + Http1","source":"<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://api.jumpdesktop.com/v1/team/teamid/saml/users');\n$request->setMethod(HTTP_METH_GET);\n\n$request->setHeaders([\n  'Authorization' => 'Bearer REPLACE_BEARER_TOKEN'\n]);\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n}"},{"lang":"Python + Python3","source":"import http.client\n\nconn = http.client.HTTPSConnection(\"api.jumpdesktop.com\")\n\nheaders = { 'Authorization': \"Bearer REPLACE_BEARER_TOKEN\" }\n\nconn.request(\"GET\", \"/v1/team/teamid/saml/users\", headers=headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode(\"utf-8\"))"},{"lang":"Csharp + Restsharp","source":"var client = new RestClient(\"https://api.jumpdesktop.com/v1/team/teamid/saml/users\");\nvar request = new RestRequest(Method.GET);\nrequest.AddHeader(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\");\nIRestResponse response = client.Execute(request);"}]}},"/v1/team/{teamid}/user/{userid}/info":{"get":{"security":[{"ApiToken":[]}],"description":"Retrieves authentication-related information for a specific user within a team, such as their TOTP status, authentication providers, and token history. This endpoint does not return detailed user profile data.","tags":["Team Users"],"summary":"Get user authentication information","operationId":"team-get-user-auth-info","parameters":[{"description":"Team ID","name":"teamid","in":"path","required":true,"schema":{"type":"string"}},{"description":"User ID","name":"userid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUserAuthInfo"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrors"}}}},"404":{"description":"Team or user not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrors"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrors"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n  --url https://api.jumpdesktop.com/v1/team/teamid/user/userid/info \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n  \"method\": \"GET\",\n  \"hostname\": \"api.jumpdesktop.com\",\n  \"port\": null,\n  \"path\": \"/v1/team/teamid/user/userid/info\",\n  \"headers\": {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n  }\n};\n\nconst req = http.request(options, function (res) {\n  const chunks = [];\n\n  res.on(\"data\", function (chunk) {\n    chunks.push(chunk);\n  });\n\n  res.on(\"end\", function () {\n    const body = Buffer.concat(chunks);\n    console.log(body.toString());\n  });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.jumpdesktop.com/v1/team/teamid/user/userid/info\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"},{"lang":"Php + Http1","source":"<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://api.jumpdesktop.com/v1/team/teamid/user/userid/info');\n$request->setMethod(HTTP_METH_GET);\n\n$request->setHeaders([\n  'Authorization' => 'Bearer REPLACE_BEARER_TOKEN'\n]);\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n}"},{"lang":"Python + Python3","source":"import http.client\n\nconn = http.client.HTTPSConnection(\"api.jumpdesktop.com\")\n\nheaders = { 'Authorization': \"Bearer REPLACE_BEARER_TOKEN\" }\n\nconn.request(\"GET\", \"/v1/team/teamid/user/userid/info\", headers=headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode(\"utf-8\"))"},{"lang":"Csharp + Restsharp","source":"var client = new RestClient(\"https://api.jumpdesktop.com/v1/team/teamid/user/userid/info\");\nvar request = new RestRequest(Method.GET);\nrequest.AddHeader(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\");\nIRestResponse response = client.Execute(request);"}]}},"/v1/user/teams":{"get":{"security":[{"ApiToken":[]}],"description":"Gets all the team ids the user is part of.","tags":["User Information"],"summary":"Get teams the user is part of","operationId":"get-user-teams","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrors"}}}}},"x-codeSamples":[{"lang":"Shell + Curl","source":"curl --request GET \\\n  --url https://api.jumpdesktop.com/v1/user/teams \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"},{"lang":"Node + Native","source":"const http = require(\"https\");\n\nconst options = {\n  \"method\": \"GET\",\n  \"hostname\": \"api.jumpdesktop.com\",\n  \"port\": null,\n  \"path\": \"/v1/user/teams\",\n  \"headers\": {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"\n  }\n};\n\nconst req = http.request(options, function (res) {\n  const chunks = [];\n\n  res.on(\"data\", function (chunk) {\n    chunks.push(chunk);\n  });\n\n  res.on(\"end\", function () {\n    const body = Buffer.concat(chunks);\n    console.log(body.toString());\n  });\n});\n\nreq.end();"},{"lang":"Go + Native","source":"package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.jumpdesktop.com/v1/user/teams\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"},{"lang":"Php + Http1","source":"<?php\n\n$request = new HttpRequest();\n$request->setUrl('https://api.jumpdesktop.com/v1/user/teams');\n$request->setMethod(HTTP_METH_GET);\n\n$request->setHeaders([\n  'Authorization' => 'Bearer REPLACE_BEARER_TOKEN'\n]);\n\ntry {\n  $response = $request->send();\n\n  echo $response->getBody();\n} catch (HttpException $ex) {\n  echo $ex;\n}"},{"lang":"Python + Python3","source":"import http.client\n\nconn = http.client.HTTPSConnection(\"api.jumpdesktop.com\")\n\nheaders = { 'Authorization': \"Bearer REPLACE_BEARER_TOKEN\" }\n\nconn.request(\"GET\", \"/v1/user/teams\", headers=headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode(\"utf-8\"))"},{"lang":"Csharp + Restsharp","source":"var client = new RestClient(\"https://api.jumpdesktop.com/v1/user/teams\");\nvar request = new RestRequest(Method.GET);\nrequest.AddHeader(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\");\nIRestResponse response = client.Execute(request);"}]}}},"servers":[{"url":"https://api.jumpdesktop.com"}],"components":{"requestBodies":{"TeamDeleteAnnotationsRequest":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamDeleteAnnotationsRequest"}}},"description":"Array of annotation keys to remove","required":true},"TeamSetAnnotationsRequest":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamSetAnnotationsRequest"}}},"description":"Body","required":true}},"securitySchemes":{"ApiToken":{"type":"http","scheme":"bearer"}},"schemas":{"ApiError":{"type":"object","properties":{"code":{"type":"string"},"detail":{"type":"string"},"status":{"type":"integer"}}},"ApiErrors":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/components/schemas/ApiError"}}}},"ApiTokenLogResponse":{"type":"object","properties":{"clientInfoJSON":{"description":"ClientInfoJSON is the JSON representation of the client information. See ClientInfo for JSON keys and possible values.","allOf":[{"$ref":"#/components/schemas/ClientInfo"}]},"expiresAt":{"description":"ExpiresAt is the timestamp of when the token expires.","type":"integer"},"lastUsed":{"description":"LastUsed is the timestamp of when the token was last used.","type":"integer"},"lastUsedIPAddress":{"description":"LastUsedIPAddress is the IP address from which the token was last used.","type":"string"},"scopes":{"description":"TokenScopes is a list of scopes associated with the token.","type":"array","items":{"$ref":"#/components/schemas/TokenScope"}},"title":{"description":"Title is a user-provided title for the token.","type":"string"},"tokenID":{"description":"TokenID is the unique identifier for the token.","type":"string"}}},"ApiTotpInfoResponse":{"type":"object","required":["enabled"],"properties":{"backupCount":{"description":"BackupCodesCount is the number of unused backup codes available to the user.","type":"integer"},"enabled":{"description":"Enabled indicates whether TOTP is enabled for the user's account.","type":"boolean","enum":[true,false]}}},"ApiUserAuthInfo":{"type":"object","properties":{"authProviders":{"description":"AuthProviders is a list of the user's authentication providers.","type":"array","items":{"$ref":"#/components/schemas/ApiUserAuthProviderResponse"}},"tokenLog":{"description":"TokenLog is a log of the user's authentication tokens.","type":"array","items":{"$ref":"#/components/schemas/ApiTokenLogResponse"}},"totp":{"description":"TOTP (Time-based One-Time Password) information for the user.","allOf":[{"$ref":"#/components/schemas/ApiTotpInfoResponse"}]}}},"ApiUserAuthProviderResponse":{"type":"object","properties":{"avatarURL":{"description":"AvatarUrl is the URL of the user's avatar from the provider.","type":"string"},"email":{"description":"Email is the email address associated with the provider.","type":"string"},"provider":{"description":"Provider is the type of authentication provider (e.g., \"google\", \"jump\").","type":"string"}}},"ClientOSInfo":{"type":"object","properties":{"buildID":{"description":"Opearting system build id","type":"string"},"hostname":{"description":"The computer's hostname as reported by the operating system","type":"string"},"platform":{"description":"Operating system type","type":"string","enum":["unknown","win","mac","iphone","ipad","android"]},"publicip":{"description":"The public ip address as seen by the Jump Desktop cloud service","type":"string"},"version":{"description":"Operating system version","type":"string"}}},"ConnectCloudPeerInfo":{"type":"object","properties":{"email":{"description":"User's email address","type":"string"},"ipAddress":{"description":"User's ip address","type":"string"}}},"ConnectConnectionAuthFailedEvent":{"type":"object","properties":{"associatedIncomingConnectionEvent":{"description":"Information about the established connection that triggered this authentication event","allOf":[{"$ref":"#/components/schemas/ConnectIncomingConnectionEvent"}]},"authType":{"description":"The authentication type used","type":"string","enum":["local","interactive"]},"connectionID":{"description":"The connection id where authentication failed","type":"string"},"localUserName":{"description":"The local username that was used to authenticate with the machine. If the username was invalid, this will be equal to 'invalid_user'","type":"string"},"osError":{"description":"The operating system error message if available","type":"string"},"reason":{"description":"The reason the authentication attempt failed","type":"string"}}},"ConnectConnectionAuthSucceededEvent":{"type":"object","properties":{"associatedIncomingConnectionEvent":{"description":"Information about the established connection that triggered this authentication event","allOf":[{"$ref":"#/components/schemas/ConnectIncomingConnectionEvent"}]},"authType":{"description":"The authentication type used","type":"string","enum":["local","interactive"]},"connectionID":{"description":"The connection id where authentication failed","type":"string"},"localUserName":{"description":"The local username that was used to authenticate with the machine. Connect 6.10 or later have the username, prior versions may have only the first few characters of the username","type":"string"}}},"ConnectConnectionClosedEvent":{"type":"object","properties":{"associatedIncomingConnectionEvent":{"description":"Information about the established connection that triggered this close event","allOf":[{"$ref":"#/components/schemas/ConnectIncomingConnectionEvent"}]},"connectionID":{"type":"string"},"peerID":{"type":"string"}}},"ConnectDirectConnectionInfo":{"type":"object","properties":{"ipaddress":{"description":"The remote ip address that the connection request came from","type":"string"}}},"ConnectEvent":{"type":"object","properties":{"authFailedEvent":{"description":"Emitted when authentication for a Fluid connection fails","allOf":[{"$ref":"#/components/schemas/ConnectConnectionAuthFailedEvent"}]},"authSucceededEvent":{"description":"Emitted when authentication for a Fluid connection succeeds and the user is allowed to connect","allOf":[{"$ref":"#/components/schemas/ConnectConnectionAuthSucceededEvent"}]},"computerHostName":{"description":"Local hostname of the machine that generated the event. This can be different from the name of this machine in a Teams. Supported in Connect 6.10 or later.","type":"string"},"connectionClosedEvent":{"description":"Emitted when a connection is closed","allOf":[{"$ref":"#/components/schemas/ConnectConnectionClosedEvent"}]},"deviceID":{"description":"The device or computer id that generated the event","type":"string"},"id":{"description":"The event id. This together with the EventTimeStampMS should be considered as a unique id for this event","type":"string"},"incomingConnectionEvent":{"description":"Emitted when a connection was established. Authentication events will be emitted after this event","allOf":[{"$ref":"#/components/schemas/ConnectIncomingConnectionEvent"}]},"incomingConnectionRequest":{"description":"Describes an incoming connection request. The connection has not yet been established when this event is emitted. The tunnel id will be unknown.","allOf":[{"$ref":"#/components/schemas/ConnectIncomingConnectionEvent"}]},"timestamp":{"description":"The unix timestamp in milliseconds when the event was emitted. This is present for all events","type":"integer"}}},"ConnectEventDeprecated":{"type":"object","properties":{"authFailedEvent":{"description":"Emitted when authentication for a Fluid connection fails","allOf":[{"$ref":"#/components/schemas/ConnectConnectionAuthFailedEvent"}]},"authSucceededEvent":{"description":"Emitted when authentication for a Fluid connection succeeds and the user is allowed to connect","allOf":[{"$ref":"#/components/schemas/ConnectConnectionAuthSucceededEvent"}]},"computerHostName":{"description":"Local hostname of the machine that generated the event. This can be different from the name of this machine in a Teams. Supported in Connect 6.10 or later.","type":"string"},"connectionClosedEvent":{"description":"Emitted when a connection is closed","allOf":[{"$ref":"#/components/schemas/ConnectConnectionClosedEvent"}]},"id":{"description":"The event id. This together with the EventTimeStampMS should be considered as a unique id for this event","type":"string"},"incomingConnectionEvent":{"description":"Emitted when a connection was established. Authentication events will be emitted after this event","allOf":[{"$ref":"#/components/schemas/ConnectIncomingConnectionEvent"}]},"incomingConnectionRequest":{"description":"Describes an incoming connection request. The connection has not yet been established when this event is emitted. The tunnel id will be unknown.","allOf":[{"$ref":"#/components/schemas/ConnectIncomingConnectionEvent"}]},"timestamp":{"description":"The unix timestamp in milliseconds when the event was emitted. This is present for all events","type":"integer"}}},"ConnectIncomingConnectionEvent":{"type":"object","properties":{"connectionID":{"description":"Incoming connection id for this connection. Use this to correlate multiple events together","type":"string"},"directConnectionInfo":{"description":"Information about direct / cloudless fluid connections","allOf":[{"$ref":"#/components/schemas/ConnectDirectConnectionInfo"}]},"peerID":{"description":"The peer id or the unique id of the cloud device that is trying to connect to the machine. Not present for cloudless connections","type":"string"},"peerInfo":{"description":"Information about the user","allOf":[{"$ref":"#/components/schemas/ConnectCloudPeerInfo"}]},"sourceType":{"description":"How the connection was initiated","type":"string","enum":["unknown","cloud","directip"]},"tunnelID":{"description":"The protocol used to create the connection. May be unknown if the connection is not yet established","type":"string","enum":["fluid","rdp","vnc","unknown"]}}},"TeamAddUserInviteRequest":{"type":"object","properties":{"devices":{"description":"List of computer ids the user will automatically have access to once they accept the invite. Empty by default.","type":"array","items":{"type":"string"}},"groups":{"description":"List of access group ids the user will automatically be added to once they accept the invite. Empty by default.","type":"array","items":{"type":"string"}},"name":{"description":"The name of the user invite as shown on the web dashboard","type":"string","maxLength":64,"minLength":0},"sendTo":{"description":"The email address to send the invite to. This can be empty if creating a public invite link","type":"string"},"singleUse":{"description":"True if this invite is a single use invite. This should be set to true when sending out invites via email","type":"boolean"}}},"TeamAnnotation":{"type":"object","required":["key","value"],"properties":{"key":{"description":"Annotation key","type":"string","maxLength":64,"minLength":1},"value":{"description":"Annotation value","type":"string","maxLength":2048,"minLength":0}}},"TeamAnnotationsResponse":{"type":"object","properties":{"annotations":{"type":"array","items":{"$ref":"#/components/schemas/TeamAnnotation"}}}},"TeamBillingInfo":{"type":"object","properties":{"cancelledAt":{"type":"integer","format":"UnixTimestamp"},"cycle":{"$ref":"#/components/schemas/ApiBillingCycleID"},"groupBillingChildren":{"type":"array","items":{"$ref":"#/components/schemas/ApiTeamBillingGroupInfo"}},"groupBillingParent":{"$ref":"#/components/schemas/ApiTeamBillingGroupInfo"},"nextBilling":{"type":"integer","format":"UnixTimestamp"},"paddleUpdateURL":{"type":"string"},"paymentProcessor":{"$ref":"#/components/schemas/ApiBillingPaymentProcessor"},"plan":{"$ref":"#/components/schemas/ApiBillingPlanID"},"quantity":{"description":"quantity/count of the users alllowed","type":"integer"},"seatsPurchased":{"type":"integer"},"status":{"type":"string"},"subscriptionID":{"type":"string"},"trialEnds":{"type":"integer","format":"UnixTimestamp"},"validUntil":{"type":"integer","format":"UnixTimestamp"}}},"TeamBillingLedgerEntry":{"type":"object","properties":{"event":{"description":"The event JSON blob","allOf":[{"$ref":"#/components/schemas/TeamBillingLedgerEvent"}]},"id":{"description":"The unique id for this event","type":"string"},"teamid":{"description":"The team id for this event","type":"string","format":"TeamID"},"timestamp":{"description":"The time this event was emitted","type":"integer","format":"UnixTimestamp"}}},"TeamBillingLedgerEvent":{"type":"object","properties":{"paymentProcessorSubscriptionCanceledEvent":{"$ref":"#/components/schemas/TeamBillingLedgerEventNotification_PaymentProcessorSubscriptionCanceledEvent"},"paymentProcessorSubscriptionPaymentFailedEvent":{"$ref":"#/components/schemas/TeamBillingLedgerEventNotification_PaymentProcessorSubscriptionPaymentFailedEvent"},"paymentProcessorSubscriptionPaymentSucceededEvent":{"$ref":"#/components/schemas/TeamBillingLedgerEventNotification_PaymentProcessorSubscriptionPaymentSucceededEvent"},"paymentProcessorSubscriptionUpdatedEvent":{"description":"Payment Processor Events","allOf":[{"$ref":"#/components/schemas/TeamBillingLedgerEventNotification_PaymentProcessorSubscriptionUpdatedEvent"}]},"teamBillingCanceledEvent":{"$ref":"#/components/schemas/TeamBillingCanceledEvent"},"teamBillingDelinkedChildEvent":{"$ref":"#/components/schemas/TeamBillingDelinkedChildEvent"},"teamBillingDelinkedParentEvent":{"$ref":"#/components/schemas/TeamBillingDelinkedParentEvent"},"teamBillingLinkedChildEvent":{"$ref":"#/components/schemas/TeamBillingLinkedChildEvent"},"teamBillingLinkedParentEvent":{"$ref":"#/components/schemas/TeamBillingLinkedParentEvent"},"teamBillingPastDueEvent":{"$ref":"#/components/schemas/TeamHistoryBillingPastDueEvent"},"teamBillingProviderChangedEvent":{"$ref":"#/components/schemas/TeamBillingProviderChangedEvent"},"teamBillingStoppedEvent":{"$ref":"#/components/schemas/TeamHistoryBillingStoppedEvent"},"teamBillingUserCountUpdatedEvent":{"$ref":"#/components/schemas/TeamBillingLedgerEventNotification_TeamBillingUserCountUpdatedEvent"},"teamTrialExpirationReminder":{"$ref":"#/components/schemas/TeamHistoryTrialExpirationReminderEvent"},"teamTrialExpiredEvent":{"$ref":"#/components/schemas/TeamHistoryTrialExpiredEvent"},"teamUserAddedEvent":{"$ref":"#/components/schemas/TeamHistoryUserAddedEvent"},"teamUserPrivilegesChangedEvent":{"$ref":"#/components/schemas/TeamUserPrivilegesChangedEvent"},"teamUserRemovedEvent":{"$ref":"#/components/schemas/TeamHistoryUserRemovedEvent"}}},"TeamBillingLedgerResponse":{"type":"object","properties":{"events":{"type":"array","items":{"$ref":"#/components/schemas/TeamBillingLedgerEntry"}}}},"TeamDeleteAnnotationsRequest":{"type":"object","properties":{"annotationKeys":{"type":"array","items":{"type":"string"}}}},"TeamDeleteSchedule":{"type":"object","properties":{"deletedBy":{"description":"ID of the team admin who scheduled the team for deletion","type":"string"},"migrateDevices":{"description":"Will computers be migrated to the migrationRecipient or not","type":"boolean"},"migrationRecipient":{"description":"The user to whom computers will be migrated to","type":"string"},"scheduledAt":{"description":"Timestamp is in seconds epoch which denotes the time at which the team will be deleted","type":"integer","format":"UnixTimestamp"}}},"TeamDeviceConfig":{"type":"object","properties":{"deviceConfig":{"description":"The Connect configuration that will be applied to computers using this configuration","allOf":[{"$ref":"#/components/schemas/ConnectDeviceConfig"}]},"devices":{"description":"List of computer ids this 'connect configuration' is applied to","type":"array","items":{"type":"string","format":"DeviceID"}},"groups":{"description":"List of access groups this 'connect configuration' is applied to","type":"array","items":{"type":"string","format":"GroupID"}},"id":{"description":"The unique connect configuration id for this configuration","allOf":[{"$ref":"#/components/schemas/DeviceConfigID"}]}}},"TeamDeviceEventsGetHistoryResponse":{"type":"object","properties":{"deviceEvents":{"type":"array","items":{"$ref":"#/components/schemas/ConnectEvent"}},"hasMoreEvents":{"description":"Indicates whether additional events are available beyond the current result set","type":"boolean"},"nextOffset":{"description":"The offset value to use in the next request to retrieve subsequent events","type":"integer"}}},"TeamDeviceHistoryResponse":{"type":"object","properties":{"events":{"type":"array","items":{"$ref":"#/components/schemas/ConnectEventDeprecated"}}}},"TeamDeviceInfo":{"type":"object","properties":{"annotations":{"description":"Annotations for this computer","type":"array","items":{"$ref":"#/components/schemas/TeamAnnotation"}},"clientInfo":{"description":"Extra information about the computer","allOf":[{"$ref":"#/components/schemas/ClientInfo"}]},"groups":{"description":"List of group ids which have direct remote access to this machine.","type":"string","format":"GroupID"},"id":{"description":"The unique device id for this computer","type":"string","format":"DeviceID"},"lastOnlineAt":{"description":"The last time we saw the machine online. This value is only updated when the machine connects or reconnects to the cloud. If the machine is currently only, this value will represent the last time the machine successfully connected","type":"integer","format":"UnixTimestamp"},"name":{"description":"The name of the computer as shown in the web and client apps","type":"string"},"users":{"description":"List of user ids who have direct remote access to this machine. To get the comprehensive list of users who have access be sure to check which access groups the machine is also part of","type":"array","items":{"type":"string","format":"UserID"}}}},"TeamDeviceInstallerInfo":{"type":"object","properties":{"connectDownloads":{"description":"Public download urls for preconfigured Jump Desktop Connect installers","allOf":[{"$ref":"#/components/schemas/TeamDeviceInstallerURLs"}]},"createdAt":{"description":"The time the installer was created","type":"integer"},"deviceConfigID":{"description":"The Connect configuration ID to automatically apply to a computer configured using this installer","allOf":[{"$ref":"#/components/schemas/DeviceConfigID"}]},"expiresAt":{"description":"The time this installer will automatically expire","type":"integer"},"groups":{"description":"List of group ids that the computer will automatically be added to when this installer is used to configure Jump Desktop Connect","type":"array","items":{"type":"string","format":"GroupID"}},"id":{"description":"The unique installer id","type":"string"},"name":{"description":"The name of the installer as shown in the web dashboard","type":"string"},"requireAuthentication":{"description":"Public requires user authentication for the secret to work","type":"boolean"},"secret":{"description":"The secret or 'Connect Code' for this device installer.","type":"string"},"users":{"description":"List of users ids that will automatically have access to a computer configured using this installer","type":"array","items":{"type":"string","format":"UserID"}}}},"TeamDeviceInstallerURLs":{"type":"object","properties":{"macpkg":{"description":"macOS pkg installer file","type":"string","format":"url"},"winexe":{"description":"Windows executable installer file","type":"string","format":"url"},"winmsi":{"description":"Windows msi installer file","type":"string","format":"url"}}},"TeamDeviceInviteAddRequest":{"type":"object","properties":{"expirySecs":{"type":"integer"},"groups":{"type":"array","items":{"type":"string"}},"name":{"type":"string","maxLength":64,"minLength":0},"requireAuthentication":{"type":"boolean"},"singleUse":{"type":"boolean"},"users":{"type":"array","items":{"type":"string"}}}},"TeamDeviceMemberBulkError":{"type":"object","properties":{"code":{"type":"string"},"detail":{"type":"string"},"deviceID":{"type":"string"},"status":{"type":"integer"}}},"TeamDeviceMembersAddRequest":{"type":"object","properties":{"groups":{"type":"array","items":{"type":"string"}},"users":{"type":"array","items":{"type":"string"}}}},"TeamDeviceMembersBulkAddRequest":{"type":"object","properties":{"devices":{"type":"array","items":{"type":"string"}},"groups":{"type":"array","items":{"type":"string"}},"users":{"type":"array","items":{"type":"string"}}}},"TeamDeviceMembersBulkRemoveRequest":{"type":"object","properties":{"devices":{"type":"array","items":{"type":"string"}},"groups":{"type":"array","items":{"type":"string"}},"users":{"type":"array","items":{"type":"string"}}}},"TeamDeviceMembersRemoveRequest":{"type":"object","properties":{"groups":{"type":"array","items":{"type":"string"}},"users":{"type":"array","items":{"type":"string"}}}},"TeamDeviceMembersSetRequest":{"type":"object","properties":{"groups":{"type":"array","items":{"type":"string"}},"users":{"type":"array","items":{"type":"string"}}}},"TeamDevicePatchRequest":{"type":"object","properties":{"name":{"type":"string","maxLength":64}}},"TeamDevicePatchResponse":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"TeamDeviceURLs":{"type":"object","properties":{"askScreenShare":{"description":"URL to start a 'screen share' request to this computer where the current console user will be asked for permission to share their screen. Only works when a native client is installed on the user's machine","type":"string","format":"url"},"connect":{"description":"URL to start an unattended connection to this computer (user will be asked for local credentials). Only works when a native client is installed on the user's machine","type":"string","format":"url"},"dashboard":{"description":"URL to open up the device's web dashboard page","type":"string","format":"url"}}},"TeamGetDevicesResponse":{"type":"object","properties":{"devices":{"description":"Devices returned by the search. This will be an empty array if no computers are found","type":"array","items":{"$ref":"#/components/schemas/TeamDeviceInfo"}}}},"TeamGetUsersResponse":{"type":"object","properties":{"users":{"description":"Users returned by the search query. This will be an empty array if no users are found","type":"array","items":{"$ref":"#/components/schemas/TeamUserInfo"}}}},"TeamGroupAddRequest":{"type":"object","required":["name"],"properties":{"name":{"type":"string","maxLength":64,"minLength":1}}},"TeamGroupInfo":{"type":"object","properties":{"annotations":{"description":"Annotations for this access group","type":"array","items":{"$ref":"#/components/schemas/TeamAnnotation"}},"devices":{"description":"List of computers in this access group","type":"array","items":{"type":"string","format":"DeviceID"}},"id":{"description":"The unique id for this access group","type":"string","format":"GroupID"},"name":{"description":"The name of the access group","type":"string"},"scimManaged":{"description":"ScimManaged this team group was created by scim","type":"boolean"},"users":{"description":"List of users in this access group","type":"array","items":{"type":"string","format":"UserID"}}}},"TeamGroupMemberBulkError":{"type":"object","properties":{"code":{"type":"string"},"detail":{"type":"string"},"groupID":{"type":"string"},"status":{"type":"integer"}}},"TeamGroupMembersAddRequest":{"type":"object","properties":{"devices":{"type":"array","items":{"type":"string"}},"users":{"type":"array","items":{"type":"string"}}}},"TeamGroupMembersBulkAddRequest":{"type":"object","properties":{"devices":{"type":"array","items":{"type":"string"}},"groups":{"type":"array","items":{"type":"string"}},"users":{"type":"array","items":{"type":"string"}}}},"TeamGroupMembersBulkAddResponse":{"type":"object","properties":{"devices":{"type":"array","items":{"type":"string"}},"errors":{"type":"array","items":{"$ref":"#/components/schemas/TeamGroupMemberBulkError"}},"users":{"type":"array","items":{"type":"string"}}}},"TeamGroupMembersBulkRemoveRequest":{"type":"object","properties":{"devices":{"type":"array","items":{"type":"string"}},"groups":{"type":"array","items":{"type":"string"}},"users":{"type":"array","items":{"type":"string"}}}},"TeamGroupMembersBulkRemoveResponse":{"type":"object","properties":{"devices":{"type":"array","items":{"type":"string"}},"errors":{"type":"array","items":{"$ref":"#/components/schemas/TeamGroupMemberBulkError"}},"users":{"type":"array","items":{"type":"string"}}}},"TeamGroupMembersRemoveRequest":{"type":"object","properties":{"devices":{"description":"List of computer ids to remove from the group","type":"array","items":{"type":"string"}},"users":{"description":"List of user ids to remove from the group","type":"array","items":{"type":"string"}}}},"TeamGroupPatchRequest":{"type":"object","properties":{"name":{"type":"string","maxLength":64}}},"TeamGroupPatchResponse":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"TeamHistoryEventEntry":{"type":"object","properties":{"header":{"$ref":"#/components/schemas/TeamHistoryEventHeader"},"scimAuthTokenEvent":{"$ref":"#/components/schemas/ScimAuthTokenEvent"},"scimGroupEvent":{"$ref":"#/components/schemas/ScimGroupEvent"},"scimUserEvent":{"$ref":"#/components/schemas/ScimUserEvent"},"teamBillingCanceledEvent":{"$ref":"#/components/schemas/TeamBillingCanceledEvent"},"teamBillingDelinkedChildEvent":{"$ref":"#/components/schemas/TeamBillingDelinkedChildEvent"},"teamBillingDelinkedParentEvent":{"$ref":"#/components/schemas/TeamBillingDelinkedParentEvent"},"teamBillingLedgerEvent":{"$ref":"#/components/schemas/TeamBillingLedgerEventNotification"},"teamBillingLinkedChildEvent":{"$ref":"#/components/schemas/TeamBillingLinkedChildEvent"},"teamBillingLinkedParentEvent":{"$ref":"#/components/schemas/TeamBillingLinkedParentEvent"},"teamBillingPastDueEvent":{"$ref":"#/components/schemas/TeamHistoryBillingPastDueEvent"},"teamBillingProviderChangedEvent":{"$ref":"#/components/schemas/TeamBillingProviderChangedEvent"},"teamBillingStoppedEvent":{"$ref":"#/components/schemas/TeamHistoryBillingStoppedEvent"},"teamDescheduledForDeletionEvent":{"$ref":"#/components/schemas/TeamDescheduledForDeletionEvent"},"teamDeviceAddedEvent":{"$ref":"#/components/schemas/TeamHistoryDeviceAddedEvent"},"teamDeviceConfigCreatedEvent":{"$ref":"#/components/schemas/TeamDeviceConfigCreatedEvent"},"teamDeviceConfigDeletedEvent":{"$ref":"#/components/schemas/TeamDeviceConfigDeletedEvent"},"teamDeviceConfigUpdatedEvent":{"$ref":"#/components/schemas/TeamDeviceConfigUpdatedEvent"},"teamDeviceMembersAddedEvent":{"$ref":"#/components/schemas/TeamDeviceMembersAddedEvent"},"teamDeviceMembersDeletedEvent":{"$ref":"#/components/schemas/TeamDeviceMembersDeletedEvent"},"teamDeviceMembersSetEvent":{"$ref":"#/components/schemas/TeamDeviceMembersSetEvent"},"teamDeviceRemovedEvent":{"$ref":"#/components/schemas/TeamHistoryDeviceRemovedEvent"},"teamDomainEvent":{"$ref":"#/components/schemas/TeamDomainEvent"},"teamGroupMembersAddedEvent":{"$ref":"#/components/schemas/TeamGroupMembersAddedEvent"},"teamGroupMembersDeletedEvent":{"$ref":"#/components/schemas/TeamGroupMembersDeletedEvent"},"teamInstallerCreatedEvent":{"$ref":"#/components/schemas/TeamInstallerCreatedEvent"},"teamScheduledForDeletionEvent":{"$ref":"#/components/schemas/TeamScheduledForDeletionEvent"},"teamSettingsChangedEvent":{"$ref":"#/components/schemas/TeamHistorySettingsChangedEvent"},"teamTrialExpirationReminder":{"$ref":"#/components/schemas/TeamHistoryTrialExpirationReminderEvent"},"teamTrialExpiredEvent":{"$ref":"#/components/schemas/TeamHistoryTrialExpiredEvent"},"teamUserAddedAutomaticallyEvent":{"$ref":"#/components/schemas/TeamUserAddedAutomaticallyEvent"},"teamUserAddedByAdminEvent":{"$ref":"#/components/schemas/TeamUserAddedByAdminEvent"},"teamUserAddedEvent":{"$ref":"#/components/schemas/TeamHistoryUserAddedEvent"},"teamUserInviteCreatedEvent":{"$ref":"#/components/schemas/TeamUserInviteCreatedEvent"},"teamUserLoggedInEvent":{"$ref":"#/components/schemas/TeamUserLoggedInEvent"},"teamUserPrivilegesChangedEvent":{"$ref":"#/components/schemas/TeamUserPrivilegesChangedEvent"},"teamUserRemovedEvent":{"$ref":"#/components/schemas/TeamHistoryUserRemovedEvent"},"teamUserTOTPRemoveRequestedEvent":{"$ref":"#/components/schemas/TeamUserTOTPRemoveRequestedEvent"},"teamUserTOTPRemovedEvent":{"$ref":"#/components/schemas/TeamHistoryUserTOTPRemovedEvent"}}},"TeamHistoryEventsResponse":{"type":"object","properties":{"events":{"type":"array","items":{"$ref":"#/components/schemas/TeamHistoryEventEntry"}},"hasMoreEvents":{"description":"Indicates whether additional events are available beyond the current result set","type":"boolean"},"nextOffset":{"description":"The offset value to use in the next request to retrieve subsequent events","type":"integer"}}},"TeamInfo":{"type":"object","properties":{"avatarURL":{"description":"A public link to the team's Avatar URL","type":"string"},"billing":{"description":"Team billing information","allOf":[{"$ref":"#/components/schemas/TeamBillingInfo"}]},"createdAt":{"description":"The unixTimeStamp in milliseconds for teams created at","allOf":[{"$ref":"#/components/schemas/ApiTeamInfoCreatedAt"}]},"deleteSchedule":{"description":"DeleteSchedule deletion schedule of the team","allOf":[{"$ref":"#/components/schemas/TeamDeleteSchedule"}]},"deviceConfigs":{"description":"List of all the Connect Configurations for this team","type":"array","items":{"$ref":"#/components/schemas/TeamDeviceConfig"}},"deviceInvites":{"description":"List of all the team installers created for this team","type":"array","items":{"$ref":"#/components/schemas/TeamDeviceInstallerInfo"}},"devices":{"description":"A map of all the computers on this team and information about each computer","type":"object","additionalProperties":{"$ref":"#/components/schemas/TeamDeviceInfo"}},"groups":{"description":"A map of all the access groups on this team and information about each access group","type":"object","additionalProperties":{"$ref":"#/components/schemas/TeamGroupInfo"}},"id":{"description":"This team's unique ID","type":"string","format":"TeamID"},"name":{"description":"The team's name as shown in the web dashboard","type":"string"},"planFeatures":{"description":"Plan features this team has subscribed to","allOf":[{"$ref":"#/components/schemas/TeamPlanFeatures"}]},"saml":{"description":"SAML SSO information for this team if SSO is enabled","allOf":[{"$ref":"#/components/schemas/TeamSamlInfo"}]},"security":{"description":"Security configuration for this team","allOf":[{"$ref":"#/components/schemas/TeamSecurityInfo"}]},"userDeviceMigrate":{"description":"List of all computer migrations for this team","type":"array","items":{"$ref":"#/components/schemas/TeamUserDeviceMigrate"}},"userInvites":{"description":"List of all pending user invites for this team","type":"array","items":{"$ref":"#/components/schemas/TeamUserInvite"}},"users":{"description":"A map of all the users on this team and information about each user","type":"object","additionalProperties":{"$ref":"#/components/schemas/TeamUserInfo"}}}},"TeamPlanFeatures":{"type":"object","properties":{"clientFeatureFlags":{"type":"integer"},"deviceEventsMaxRetrievalDuration":{"type":"integer"},"disableSocialSignIn":{"type":"boolean"},"enforceTOTP":{"type":"boolean"},"numAccessGroups":{"type":"integer"},"numDeviceConfigs":{"type":"integer"},"samlAuthProvider":{"type":"boolean"},"userTokenManage":{"type":"boolean"}}},"TeamSCIMInfo":{"type":"object","properties":{"createdAt":{"description":"SCIM token generation time","type":"integer","format":"UnixTimestamp"},"reactivateUserInTeams":{"type":"boolean"},"safeMode":{"type":"boolean"},"scimToken":{"description":"SCIM authentication token is only populated in the api response when a new token is requested","type":"string"},"urlSubPath":{"description":"SCIM URL for your team","type":"string"}}},"TeamSamlInfo":{"type":"object","properties":{"addNewUsersToTeam":{"type":"boolean"},"idpMetaXML":{"type":"string"},"metadataXML":{"type":"string"},"scimInfo":{"description":"SCIM integration details","allOf":[{"$ref":"#/components/schemas/TeamSCIMInfo"}]},"urlSubPath":{"type":"string"}}},"TeamSecurityInfo":{"type":"object","properties":{"requiresSSO":{"description":"True if SSO is enforced for this team and all team members are required to sign in via SSO","type":"boolean"},"requiresTOTP":{"description":"True if TOTP/2FA is required / enforced for the team","type":"boolean"},"socialSignIn":{"description":"True if social sign in via (Google or Apple ID) is allowed for this team","type":"boolean"},"viewerTokenExpiryDuration":{"description":"The maximum sign in duration for token issued to viewer apps. This value is currently in nanoseconds","type":"integer"}}},"TeamSetAnnotationsRequest":{"type":"object","properties":{"annotations":{"type":"array","items":{"$ref":"#/components/schemas/TeamAnnotation"}}}},"TeamUserDeviceMigrate":{"type":"object","properties":{"deviceInvite":{"type":"string"},"team":{"type":"string","format":"TeamID"},"user":{"type":"string","format":"UserID"}}},"TeamUserInfo":{"type":"object","properties":{"annotations":{"description":"Annotations for this user","type":"array","items":{"$ref":"#/components/schemas/TeamAnnotation"}},"authProviders":{"type":"array","items":{"type":"string"}},"avatarURL":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"id":{"type":"string"},"joinedOn":{"$ref":"#/components/schemas/ApiTeamUserInfoCreatedAt"},"lastName":{"type":"string"},"lastUsedAt":{"type":"integer"},"remoteAccess":{"description":"Whether the user's remote access is enabled or disabled","type":"string","enum":["enabled","disabled"]},"role":{"description":"The user's role on the team","type":"string","enum":["admin","user"]},"scimUserInfo":{"$ref":"#/components/schemas/ApiScimUserInfo"},"totpEnabled":{"type":"boolean"},"userDeviceMigrate":{"$ref":"#/components/schemas/TeamUserDeviceMigrate"}}},"TeamUserInvite":{"type":"object","properties":{"createdAt":{"description":"The time the invite was created at","type":"integer","format":"UnixTimestamp"},"devices":{"description":"Computer IDs that user will automatically get remote access to when they accept the invite","type":"array","items":{"type":"string"}},"expiresAt":{"description":"The time the invite will expire","type":"integer","format":"UnixTimestamp"},"groups":{"description":"Access Group IDs that the user will be automatically added to when they accept the invite","type":"array","items":{"type":"string"}},"name":{"description":"Name of the invite as shown in the web dashboard","type":"string"},"secret":{"description":"The secret key used to accept the invite. This should only be shared with\nusers who will be using the invite","type":"string"},"sentTo":{"description":"The email the invite was sent to. Can be empty if this is a public invite","type":"string"},"singleUse":{"description":"True if this invite will automatically expire after first use","type":"boolean"}}},"TeamUserPatchRequest":{"type":"object","properties":{"remoteAccess":{"type":"string","enum":["enabled","disabled"]},"role":{"type":"string","enum":["admin","user"]}}},"TokenScope":{"type":"string","enum":[":view:",":device:",":api-all:",":api-res:",":ident:"],"x-enum-varnames":["TokenScopeViewer","TokenScopeDevice","TokenScopeApiAll","TokenScopeApiRestricted","TokenScopeMetaIdentity"]},"APIUserInfo":{"type":"object","properties":{"avatarURL":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"id":{"type":"string"},"lastName":{"type":"string"},"scimUserInfo":{"$ref":"#/components/schemas/ApiScimUserInfo"},"userDeviceMigrate":{"$ref":"#/components/schemas/TeamUserDeviceMigrate"}}},"ApiBillingCycleID":{"type":"string","enum":["month","year"],"x-enum-varnames":["BillingCycleMonthly","BillingCycleYearly"]},"ApiBillingPaymentProcessor":{"type":"string","enum":["trial","paddle","stripe","linked","manual","test","simulator"],"x-enum-varnames":["ApiBillingPaymentProcessorTrial","ApiBillingPaymentProcessorPaddle","ApiBillingPaymentProcessorStripe","ApiBillingPaymentProcessorLinked","ApiBillingPaymentProcessorManual","ApiBillingPaymentProcessorTest","ApiBillingPaymentProcessorSimulator"]},"ApiBillingPlanID":{"type":"string","enum":["none","team.0","team.1","team.2"],"x-enum-varnames":["SubscriptionPlanNone","SubscriptionPlanTeam0","SubscriptionPlanTeam1","SubscriptionPlanTeam2"]},"ApiScimUserInfo":{"type":"object","properties":{"deleted":{"type":"boolean"},"modifiedAt":{"type":"integer"}}},"ApiTeamBillingGroupInfo":{"type":"object","properties":{"name":{"type":"string"},"teamid":{"type":"string","format":"TeamID"}}},"ApiTeamInfoCreatedAt":{"type":"object","properties":{"timestamp":{"type":"integer"},"valid":{"type":"boolean"}}},"ApiTeamUserInfoCreatedAt":{"type":"object","properties":{"timestamp":{"type":"integer"},"valid":{"type":"boolean"}}},"DeviceConfigID":{"type":"string","enum":[""],"x-enum-varnames":["DeviceConfigIDNull"]},"ClientInfo":{"type":"object","properties":{"osInfo":{"$ref":"#/components/schemas/OSInfo"},"product":{"$ref":"#/components/schemas/ClientInfo_Product"},"releaseChannel":{"$ref":"#/components/schemas/ClientInfo_ReleaseChannel"},"version":{"type":"string"}}},"ClientInfo_Product":{"type":"integer","format":"int32","enum":[1,2],"x-enum-varnames":["ClientInfo_Viewer","ClientInfo_Connect"]},"ClientInfo_ReleaseChannel":{"type":"integer","format":"int32","enum":[0,1,2,3,4],"x-enum-comments":{"ClientInfo_UnknownChannel":"Important!"},"x-enum-descriptions":["Important!","","","",""],"x-enum-varnames":["ClientInfo_UnknownChannel","ClientInfo_Beta","ClientInfo_AppStore","ClientInfo_Web","ClientInfo_SetApp"]},"ConnectDeviceConfig":{"type":"object","properties":{"allowAddRemoteAccessUsers":{"type":"boolean"},"allowChangeConfig":{"type":"boolean"},"allowCloudConnectionRequests":{"type":"boolean"},"allowDirectCandidatesOnly":{"type":"boolean"},"allowScreenSharing":{"type":"boolean"},"announceActiveSessions":{"type":"boolean"},"candidatePortRangeMax":{"type":"integer"},"candidatePortRangeMin":{"type":"integer"},"cloudEventReporting":{"type":"boolean"},"configName":{"type":"string"},"maxConcurrentConnections":{"type":"integer"},"proxyURL":{"type":"string"},"rdpEnabled":{"description":"RDP settings","type":"boolean"},"rdpPort":{"type":"integer"},"relayURLs":{"type":"string"},"rtcAllowAudioInput":{"type":"boolean"},"rtcAllowChangePreferredAudioCaptureDevice":{"type":"boolean"},"rtcAllowStylusRemoting":{"type":"boolean"},"rtcAllowVirtualDisplays":{"type":"boolean"},"rtcAudioInputDeviceName":{"type":"string"},"rtcChangeSystemOutputDevice":{"type":"boolean"},"rtcEnabled":{"description":"RTC Settings","type":"boolean"},"rtcEnforcePrivacyMode":{"type":"boolean"},"rtcFeatureAllowClipboardSharing":{"type":"boolean"},"rtcFeatureAllowResolutionChange":{"type":"boolean"},"rtcFeatureMacDisableBackgroundLogin":{"type":"boolean"},"rtcIdleTimeoutSecs":{"type":"integer"},"rtcLocalServer":{"type":"boolean"},"rtcLocalServerPort":{"type":"integer"},"rtcMaxBPS":{"type":"integer"},"rtcMaxFPS":{"type":"number"},"rtcMinBPS":{"type":"integer"},"rtcPreferredAudioCaptureDeviceName":{"type":"string"},"rtcStartBPS":{"type":"integer"},"sendFeedback":{"type":"boolean"},"silentUpdateInstall":{"type":"boolean"},"updateType":{"$ref":"#/components/schemas/ConnectDeviceConfig_UpdateType"},"useRelayCandiatesOnly":{"type":"boolean"},"vncEnabled":{"description":"VNC settings","type":"boolean"},"vncPort":{"type":"integer"},"watermarkConfig":{"$ref":"#/components/schemas/ConnectDeviceConfig_WatermarkConfig"}}},"ConnectDeviceConfig_UpdateType":{"type":"integer","format":"int32","enum":[0,1,2],"x-enum-varnames":["ConnectDeviceConfig_Release","ConnectDeviceConfig_Beta","ConnectDeviceConfig_Alpha","Default_ConnectDeviceConfig_UpdateType"]},"ConnectDeviceConfig_WatermarkConfig":{"type":"object","properties":{"messageHTML":{"type":"string"},"opacity":{"type":"number"},"randomConfig":{"$ref":"#/components/schemas/ConnectDeviceConfig_WatermarkConfig_RandomStrategyConfig"},"staticConfig":{"$ref":"#/components/schemas/ConnectDeviceConfig_WatermarkConfig_StaticStrategyConfig"},"waterMarkEnabled":{"type":"boolean"}}},"ConnectDeviceConfig_WatermarkConfig_RandomStrategyConfig":{"type":"object","properties":{"numWatermarksPerDisplay":{"type":"integer"},"updateFrequencySecs":{"type":"integer"}}},"ConnectDeviceConfig_WatermarkConfig_StaticStrategyConfig":{"type":"object","properties":{"bottomCenter":{"type":"boolean"},"bottomLeft":{"type":"boolean"},"bottomRight":{"type":"boolean"},"centerCenter":{"type":"boolean"},"centerLeft":{"type":"boolean"},"centerRight":{"type":"boolean"},"topCenter":{"type":"boolean"},"topLeft":{"type":"boolean"},"topRight":{"type":"boolean"}}},"AuthProviderInfo":{"type":"object","properties":{"appleProvider":{"$ref":"#/components/schemas/AuthProviderInfo_AppleProvider"},"googleProvider":{"$ref":"#/components/schemas/AuthProviderInfo_GoogleProvider"},"jumpProvider":{"$ref":"#/components/schemas/AuthProviderInfo_JumpProvider"},"ssoProvider":{"$ref":"#/components/schemas/AuthProviderInfo_SSOProvider"}}},"AuthProviderInfo_AppleProvider":{"type":"object"},"AuthProviderInfo_GoogleProvider":{"type":"object"},"AuthProviderInfo_JumpProvider":{"type":"object","properties":{"MFA":{"type":"boolean"}}},"AuthProviderInfo_SSOProvider":{"type":"object","properties":{"companyName":{"type":"string"}}},"TeamHistoryDeviceInfo":{"type":"object","properties":{"deviceID":{"type":"string"},"name":{"type":"string"}}},"TeamHistoryEventHeader":{"type":"object","properties":{"eventTimestampUnixNano":{"type":"integer"},"ipAddress":{"description":"DEPRECATED\noptional UserInfo createdBy = 2;","type":"string"},"tokenInfo":{"$ref":"#/components/schemas/TokeInfo"}}},"TeamInstallerInfo":{"type":"object","properties":{"authCode":{"type":"string"}}},"TeamInviteInfo":{"type":"object","properties":{"createdBy":{"$ref":"#/components/schemas/TeamHistoryUserInfoEvent"},"inviteID":{"type":"string"},"name":{"type":"string"}}},"ScimAuthTokenEvent":{"type":"object","properties":{"eventType":{"type":"string"},"teamID":{"description":"The team the scim token was generated for","type":"string"}}},"ScimGroupEvent":{"type":"object","properties":{"displayName":{"type":"string"},"eventType":{"type":"string"},"scimGroupID":{"description":"The Scim group id if available","type":"string"},"teamGroupID":{"description":"Team group id if available","type":"string"},"teamID":{"description":"The team the scim token was generated for","type":"string"}}},"ScimInfo":{"type":"object","properties":{"createdAt":{"type":"integer"},"hiddenAuthToken":{"type":"string"},"modifiedAt":{"type":"integer"},"safeMode":{"type":"boolean"},"samlIDPInfoID":{"type":"string"}}},"ScimUserEvent":{"type":"object","properties":{"appUser":{"description":"The neuron user that was actioned upon","allOf":[{"$ref":"#/components/schemas/TeamHistoryUserInfoEvent"}]},"eventType":{"type":"string"},"scimUser":{"description":"The scim user that was actioned upon","allOf":[{"$ref":"#/components/schemas/TeamHistoryUserInfoEvent"}]},"teamID":{"description":"The team the scim token was generated for","type":"string"}}},"SubscriptionInfo":{"type":"object","properties":{"billingCycle":{"type":"string"},"nextBillingAtUnixNano":{"type":"integer"},"paymentProcessorName":{"type":"string"},"paymentProcessorSubscriptionID":{"type":"string"},"quantity":{"type":"integer"},"seatsPurchased":{"type":"integer"},"subscriptionID":{"type":"string"},"subscriptionPlan":{"type":"string"}}},"TeamBillingCanceledEvent":{"type":"object","properties":{"paymentProcessorName":{"type":"string"},"subscriptionInfo":{"$ref":"#/components/schemas/SubscriptionInfo"},"teamID":{"type":"string"},"teamInfo":{"$ref":"#/components/schemas/TeamInfoNotification"}}},"TeamBillingDelinkedChildEvent":{"type":"object","properties":{"TeamID":{"type":"string"},"parentTeamID":{"type":"string"},"parentTeamInfo":{"$ref":"#/components/schemas/TeamInfoNotification"},"teamInfo":{"$ref":"#/components/schemas/TeamInfoNotification"}}},"TeamBillingDelinkedParentEvent":{"type":"object","properties":{"TeamID":{"type":"string"},"childTeamID":{"type":"string"},"childTeamInfo":{"$ref":"#/components/schemas/TeamInfoNotification"},"teamInfo":{"$ref":"#/components/schemas/TeamInfoNotification"}}},"TeamBillingLedgerEventNotification":{"type":"object","properties":{"paymentProcessorSubscriptionCanceledEvent":{"$ref":"#/components/schemas/TeamBillingLedgerEventNotification_PaymentProcessorSubscriptionCanceledEvent"},"paymentProcessorSubscriptionPaymentFailedEvent":{"$ref":"#/components/schemas/TeamBillingLedgerEventNotification_PaymentProcessorSubscriptionPaymentFailedEvent"},"paymentProcessorSubscriptionPaymentSucceededEvent":{"$ref":"#/components/schemas/TeamBillingLedgerEventNotification_PaymentProcessorSubscriptionPaymentSucceededEvent"},"paymentProcessorSubscriptionUpdatedEvent":{"description":"Payment Processor Events","allOf":[{"$ref":"#/components/schemas/TeamBillingLedgerEventNotification_PaymentProcessorSubscriptionUpdatedEvent"}]},"teamBillingCanceledEvent":{"$ref":"#/components/schemas/TeamBillingCanceledEvent"},"teamBillingDelinkedChildEvent":{"$ref":"#/components/schemas/TeamBillingDelinkedChildEvent"},"teamBillingDelinkedParentEvent":{"$ref":"#/components/schemas/TeamBillingDelinkedParentEvent"},"teamBillingLinkedChildEvent":{"$ref":"#/components/schemas/TeamBillingLinkedChildEvent"},"teamBillingLinkedParentEvent":{"$ref":"#/components/schemas/TeamBillingLinkedParentEvent"},"teamBillingPastDueEvent":{"$ref":"#/components/schemas/TeamHistoryBillingPastDueEvent"},"teamBillingProviderChangedEvent":{"$ref":"#/components/schemas/TeamBillingProviderChangedEvent"},"teamBillingStoppedEvent":{"$ref":"#/components/schemas/TeamHistoryBillingStoppedEvent"},"teamBillingUserCountUpdatedEvent":{"$ref":"#/components/schemas/TeamBillingLedgerEventNotification_TeamBillingUserCountUpdatedEvent"},"teamTrialExpirationReminder":{"$ref":"#/components/schemas/TeamHistoryTrialExpirationReminderEvent"},"teamTrialExpiredEvent":{"$ref":"#/components/schemas/TeamHistoryTrialExpiredEvent"},"teamUserAddedEvent":{"$ref":"#/components/schemas/TeamHistoryUserAddedEvent"},"teamUserPrivilegesChangedEvent":{"$ref":"#/components/schemas/TeamUserPrivilegesChangedEvent"},"teamUserRemovedEvent":{"$ref":"#/components/schemas/TeamHistoryUserRemovedEvent"}}},"TeamBillingLedgerEventNotification_PaymentProcessorSubscriptionCanceledEvent":{"type":"object","properties":{"paymentProcessorName":{"type":"string"},"subscriptionInfo":{"$ref":"#/components/schemas/SubscriptionInfo"},"teamInfo":{"$ref":"#/components/schemas/TeamInfoNotification"}}},"TeamBillingLedgerEventNotification_PaymentProcessorSubscriptionPaymentFailedEvent":{"type":"object","properties":{"paymentProcessorName":{"type":"string"},"subscriptionInfo":{"$ref":"#/components/schemas/SubscriptionInfo"},"teamInfo":{"$ref":"#/components/schemas/TeamInfoNotification"}}},"TeamBillingLedgerEventNotification_PaymentProcessorSubscriptionPaymentSucceededEvent":{"type":"object","properties":{"amount":{"type":"string"},"currency":{"type":"string"},"paymentProcessorName":{"type":"string"},"quantity":{"type":"integer"},"receiptUrl":{"type":"string"},"subscriptionInfo":{"$ref":"#/components/schemas/SubscriptionInfo"},"teamInfo":{"$ref":"#/components/schemas/TeamInfoNotification"}}},"TeamBillingLedgerEventNotification_PaymentProcessorSubscriptionUpdatedEvent":{"type":"object","properties":{"paymentProcessorName":{"type":"string"},"subscriptionInfo":{"$ref":"#/components/schemas/SubscriptionInfo"},"subscriptionPlan":{"type":"string"},"teamInfo":{"$ref":"#/components/schemas/TeamInfoNotification"},"userCount":{"type":"integer"}}},"TeamBillingLedgerEventNotification_TeamBillingUserCountUpdatedEvent":{"type":"object","properties":{"subscriptionInfo":{"$ref":"#/components/schemas/SubscriptionInfo"},"teamInfo":{"$ref":"#/components/schemas/TeamInfoNotification"},"userCount":{"type":"integer"}}},"TeamBillingLinkedChildEvent":{"type":"object","properties":{"TeamID":{"type":"string"},"parentTeamID":{"type":"string"},"parentTeamInfo":{"$ref":"#/components/schemas/TeamInfoNotification"},"teamInfo":{"$ref":"#/components/schemas/TeamInfoNotification"}}},"TeamBillingLinkedParentEvent":{"type":"object","properties":{"TeamID":{"type":"string"},"childTeamID":{"type":"string"},"childTeamInfo":{"$ref":"#/components/schemas/TeamInfoNotification"},"teamInfo":{"$ref":"#/components/schemas/TeamInfoNotification"}}},"TeamHistoryBillingPastDueEvent":{"type":"object","properties":{"subscriptionInfo":{"$ref":"#/components/schemas/SubscriptionInfo"},"teamID":{"type":"string"},"teamInfo":{"$ref":"#/components/schemas/TeamInfoNotification"}}},"TeamBillingProviderChangedEvent":{"type":"object","properties":{"newPaymentProcessorName":{"type":"string"},"subscriptionInfo":{"$ref":"#/components/schemas/SubscriptionInfo"},"teamID":{"type":"string"},"teamInfo":{"$ref":"#/components/schemas/TeamInfoNotification"}}},"TeamHistoryBillingStoppedEvent":{"type":"object","properties":{"subscriptionInfo":{"$ref":"#/components/schemas/SubscriptionInfo"},"teamID":{"type":"string"},"teamInfo":{"$ref":"#/components/schemas/TeamInfoNotification"}}},"TeamDescheduledForDeletionEvent":{"type":"object","properties":{"teamID":{"type":"string"}}},"TeamHistoryDeviceAddedEvent":{"type":"object","properties":{"addedBy":{"description":"optional field only for the device iniviation code that requires users authentication","allOf":[{"$ref":"#/components/schemas/TeamHistoryUserInfoEvent"}]},"deviceID":{"type":"string"},"deviceInfo":{"$ref":"#/components/schemas/TeamHistoryDeviceInfo"},"teamID":{"type":"string"}}},"TeamDeviceConfigCreatedEvent":{"type":"object","properties":{"deviceConfigID":{"type":"string"},"deviceIDs":{"type":"array","items":{"type":"string"}},"groupIDs":{"type":"array","items":{"type":"string"}},"teamID":{"type":"string"}}},"TeamDeviceConfigDeletedEvent":{"type":"object","properties":{"deviceConfigID":{"type":"string"},"teamID":{"type":"string"}}},"TeamDeviceConfigUpdatedEvent":{"type":"object","properties":{"deviceConfigID":{"type":"string"},"deviceIDs":{"type":"array","items":{"type":"string"}},"groupIDs":{"type":"array","items":{"type":"string"}},"teamID":{"type":"string"}}},"TeamDeviceMembersAddedEvent":{"type":"object","properties":{"deviceID":{"type":"string"},"groupIDs":{"type":"array","items":{"type":"string"}},"installer":{"$ref":"#/components/schemas/TeamInstallerInfo"},"invite":{"$ref":"#/components/schemas/TeamInviteInfo"},"teamID":{"type":"string"},"userIDs":{"type":"array","items":{"type":"string"}}}},"TeamDeviceMembersDeletedEvent":{"type":"object","properties":{"deviceID":{"type":"string"},"groupIDs":{"type":"array","items":{"type":"string"}},"teamID":{"type":"string"},"userIDs":{"type":"array","items":{"type":"string"}}}},"TeamDeviceMembersSetEvent":{"type":"object","properties":{"deviceID":{"type":"string"},"groups":{"type":"array","items":{"type":"string"}},"teamID":{"type":"string"},"users":{"type":"array","items":{"type":"string"}}}},"TeamHistoryDeviceRemovedEvent":{"type":"object","properties":{"deviceID":{"type":"string"},"deviceInfo":{"$ref":"#/components/schemas/TeamHistoryDeviceInfo"},"teamID":{"type":"string"}}},"TeamDomainEvent":{"type":"object","properties":{"domain":{"description":"Domain against which the event took place","type":"string"},"domainID":{"description":"Domain ID against which the event took place","type":"string"},"enforceSSOSignUp":{"description":"Is signing up with SSO enforced","type":"boolean"},"eventType":{"description":"Can we domain-added, domain-deleted, status-changed","type":"string"},"previousEnforceSSOSignUp":{"description":"The previous status of enforce SSO sign up","type":"boolean"},"previousRequireSSOLogin":{"description":"The previous status of require SSO login","type":"boolean"},"previousStatus":{"description":"The previous status of the domain verification (if it was changed)","type":"string"},"requireSSOLogin":{"description":"The status of require SSO login","type":"boolean"},"status":{"description":"The current status of the domain verification","type":"string"},"teamID":{"description":"The team for which the domain was registered","type":"string"}}},"TeamGroupMembersAddedEvent":{"type":"object","properties":{"deviceIDs":{"type":"array","items":{"type":"string"}},"groupID":{"type":"string"},"installer":{"$ref":"#/components/schemas/TeamInstallerInfo"},"invite":{"description":"InviteInfo and InstallerInfo are mutually exclusive","allOf":[{"$ref":"#/components/schemas/TeamInviteInfo"}]},"teamID":{"type":"string"},"userIDs":{"type":"array","items":{"type":"string"}}}},"TeamGroupMembersDeletedEvent":{"type":"object","properties":{"deviceIDs":{"type":"array","items":{"type":"string"}},"groupID":{"type":"string"},"teamID":{"type":"string"},"userIDs":{"type":"array","items":{"type":"string"}}}},"TeamInfoNotification":{"type":"object","properties":{"name":{"type":"string"},"teamID":{"type":"string"}}},"TeamInstallerCreatedEvent":{"type":"object","properties":{"authCode":{"type":"string"},"teamID":{"type":"string"}}},"TeamScheduledForDeletionEvent":{"type":"object","properties":{"migrateDevices":{"type":"boolean"},"migrationRecipient":{"type":"string"},"scheduledAt":{"type":"integer"},"teamID":{"type":"string"}}},"TeamHistorySettingsChangedEvent":{"type":"object","properties":{"RequiresSSO":{"type":"boolean"},"RequiresTOTP":{"type":"boolean"},"SocialSignIn":{"type":"boolean"},"ViewerTokenExpiryCustomDurationSet":{"type":"boolean"},"ViewerTokenExpiryDuration":{"type":"integer"},"changedBy":{"$ref":"#/components/schemas/TeamHistoryUserInfoEvent"},"teamID":{"type":"string"}}},"TeamHistoryTrialExpirationReminderEvent":{"type":"object","properties":{"teamID":{"type":"string"},"teamInfo":{"$ref":"#/components/schemas/TeamInfoNotification"},"trialEndAtUnixNano":{"type":"integer"}}},"TeamHistoryTrialExpiredEvent":{"type":"object","properties":{"teamID":{"type":"string"},"teamInfo":{"$ref":"#/components/schemas/TeamInfoNotification"},"trialExpiredAtUnixNano":{"type":"integer"}}},"TeamUserAddedAutomaticallyEvent":{"type":"object","properties":{"teamInfo":{"$ref":"#/components/schemas/TeamInfoNotification"},"userInfo":{"$ref":"#/components/schemas/TeamHistoryUserInfoEvent"}}},"TeamUserAddedByAdminEvent":{"type":"object","properties":{"teamInfo":{"$ref":"#/components/schemas/TeamInfoNotification"},"userInfo":{"$ref":"#/components/schemas/TeamHistoryUserInfoEvent"}}},"TeamHistoryUserAddedEvent":{"type":"object","properties":{"inviteCreatedBy":{"$ref":"#/components/schemas/TeamHistoryUserInfoEvent"},"inviteSecret":{"type":"string"},"teamID":{"type":"string"},"teamInfo":{"$ref":"#/components/schemas/TeamInfoNotification"},"userID":{"type":"string"},"userInfo":{"$ref":"#/components/schemas/TeamHistoryUserInfoEvent"}}},"TeamUserInviteCreatedEvent":{"type":"object","properties":{"emailInvite":{"$ref":"#/components/schemas/TeamUserInviteEmailInvite"},"inviteCreatedBy":{"$ref":"#/components/schemas/TeamHistoryUserInfoEvent"},"publicInvite":{"$ref":"#/components/schemas/TeamUserInvitePublicInvite"},"teamID":{"type":"string"}}},"TeamUserInviteEmailInvite":{"type":"object","properties":{"inviteSecret":{"description":"The invite secret that will be used to redeem the invite","type":"string"},"sentToEmail":{"description":"Email of the user this invite was sent to","type":"string"}}},"TeamUserInvitePublicInvite":{"type":"object","properties":{"publicInviteSecret":{"description":"The invite secret that will be used to redeem this invite","type":"string"}}},"TeamUserLoggedInEvent":{"type":"object","properties":{"authProvider":{"$ref":"#/components/schemas/AuthProviderInfo"},"deviceID":{"type":"string"},"teamID":{"type":"string"},"user":{"$ref":"#/components/schemas/TeamHistoryUserInfoEvent"}}},"TeamUserPrivilegesChangedEvent":{"type":"object","properties":{"remoteAccess":{"type":"string"},"role":{"type":"string"},"teamID":{"type":"string"},"teamInfo":{"$ref":"#/components/schemas/TeamInfoNotification"},"user":{"description":"The user affected by this change","allOf":[{"$ref":"#/components/schemas/TeamHistoryUserInfoEvent"}]}}},"TeamHistoryUserRemovedEvent":{"type":"object","properties":{"teamID":{"type":"string"},"teamInfo":{"$ref":"#/components/schemas/TeamInfoNotification"},"userID":{"type":"string"},"userInfo":{"$ref":"#/components/schemas/TeamHistoryUserInfoEvent"}}},"TeamUserTOTPRemoveRequestedEvent":{"type":"object","properties":{"teamID":{"type":"string"},"user":{"description":"The user affected by this change","allOf":[{"$ref":"#/components/schemas/TeamHistoryUserInfoEvent"}]}}},"TeamHistoryUserTOTPRemovedEvent":{"type":"object","properties":{"removedBy":{"description":"The user who removed the TOTP.","allOf":[{"$ref":"#/components/schemas/TeamHistoryUserInfoEvent"}]},"teamID":{"type":"string"},"user":{"description":"The user affected by this change","allOf":[{"$ref":"#/components/schemas/TeamHistoryUserInfoEvent"}]}}},"TokeInfo":{"type":"object","properties":{"authTokenID":{"type":"string"},"scimInfo":{"$ref":"#/components/schemas/ScimInfo"},"scopes":{"type":"array","items":{"type":"string"}},"userInfo":{"$ref":"#/components/schemas/TeamHistoryUserInfoEvent"}}},"TeamHistoryUserInfoEvent":{"type":"object","properties":{"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"userID":{"type":"string"}}},"OSInfo":{"type":"object","properties":{"buildID":{"type":"string"},"hostname":{"type":"string"},"isServerSKU":{"description":"true if Windows server","type":"boolean"},"platform":{"$ref":"#/components/schemas/OSInfo_Platform"},"publicIP":{"description":"this will be overritten by the server","type":"string"},"version":{"type":"string"}}},"OSInfo_Platform":{"type":"integer","format":"int32","enum":[0,1,2,3,4,5,6],"x-enum-comments":{"OSInfo_UnknownPlatform":"Important!","OSInfo_iOS":"Only use if we don't know whether this is iPad or iPhone"},"x-enum-descriptions":["Important!","","","","","","Only use if we don't know whether this is iPad or iPhone"],"x-enum-varnames":["OSInfo_UnknownPlatform","OSInfo_Win","OSInfo_Mac","OSInfo_iPhone","OSInfo_iPad","OSInfo_Android","OSInfo_iOS"]}}}}
