TeamViewer API Documentation
TeamViewer API Documentation
API
Documentation
Version 1.3.6
www.teamviewer.com
Table of Contents
Introduction ............................................................................................... 9
1.1
Definitions .................................................................................................................... 9
1.2
REST ............................................................................................................................. 9
1.3
IDs .............................................................................................................................. 10
1.4
1.5
2.1
2.2
API Functions............................................................................................ 14
3.1
www.teamviewer.com
Page 2 of 60
Example ........................................................................................................................................................ 18
3.1.6 POST /api/v1/oauth2/revoke ............................................................................................................... 19
Parameters ................................................................................................................................................... 19
Return values ................................................................................................................................................ 19
Description ................................................................................................................................................... 19
Example ........................................................................................................................................................ 19
3.2
Ping ............................................................................................................................ 19
3.2.1 GET /api/v1/ping .................................................................................................................................. 19
Parameters ................................................................................................................................................... 19
Return values ................................................................................................................................................ 19
Authentication .............................................................................................................................................. 20
Description ................................................................................................................................................... 20
Example ........................................................................................................................................................ 20
3.3
3.4
www.teamviewer.com
Page 3 of 60
Example ........................................................................................................................................................ 24
3.4.4 PUT /api/v1/users/<uID> (modify user information) ........................................................................... 25
Parameters ................................................................................................................................................... 25
Return values ................................................................................................................................................ 25
Authentication .............................................................................................................................................. 25
Description ................................................................................................................................................... 25
Example ........................................................................................................................................................ 26
3.5
www.teamviewer.com
Page 4 of 60
3.6
3.7
www.teamviewer.com
Page 5 of 60
3.8
Meetings..................................................................................................................... 40
3.8.1 Meeting types ....................................................................................................................................... 40
3.8.1.1 Scheduled meetings ............................................................................................................................. 40
3.8.1.2 Instant meetings ................................................................................................................................... 41
3.8.2 GET /api/v1/meetings (list all scheduled meetings) ............................................................................. 41
Parameters ................................................................................................................................................... 41
Return values ................................................................................................................................................ 41
Authentication .............................................................................................................................................. 41
Description ................................................................................................................................................... 41
Example ........................................................................................................................................................ 41
3.8.3 GET /api/v1/meetings/<mID> (get details of a meeting) ..................................................................... 42
Parameters ................................................................................................................................................... 42
Return values ................................................................................................................................................ 42
Authentication .............................................................................................................................................. 42
Description ................................................................................................................................................... 43
Example ........................................................................................................................................................ 43
3.8.4 GET /api/v1/meetings/<mID>/invitation (retrieve invitation information for a scheduled meeting) . 43
Parameters ................................................................................................................................................... 43
Return values ................................................................................................................................................ 44
Authentication .............................................................................................................................................. 44
Description ................................................................................................................................................... 44
Example ........................................................................................................................................................ 44
3.8.5 POST /api/v1/meetings (create a new meeting) .................................................................................. 44
Parameters ................................................................................................................................................... 44
Return values ................................................................................................................................................ 45
Authentication .............................................................................................................................................. 45
Description ................................................................................................................................................... 45
Example for a scheduled meeting ................................................................................................................ 45
Example for an instant meeting ................................................................................................................... 46
3.8.6 PUT /api/v1/meetings/<mID> (change details of a meeting) ............................................................... 46
Parameters ................................................................................................................................................... 46
Return values ................................................................................................................................................ 46
Authentication .............................................................................................................................................. 46
Description ................................................................................................................................................... 46
Example ........................................................................................................................................................ 47
3.8.7 DELETE /api/v1/meetings/<mID> (delete a meeting) .......................................................................... 47
Parameters ................................................................................................................................................... 47
Return values ................................................................................................................................................ 47
Authentication .............................................................................................................................................. 47
www.teamviewer.com
Page 6 of 60
Description ................................................................................................................................................... 47
Example ........................................................................................................................................................ 47
3.9
Contacts...................................................................................................................... 47
3.9.1 GET /api/v1/contacts (list all contacts from the computers & contacts list) ....................................... 47
Parameters ................................................................................................................................................... 47
Return values ................................................................................................................................................ 48
Authentication .............................................................................................................................................. 48
Description ................................................................................................................................................... 48
Example ........................................................................................................................................................ 49
3.9.2 POST /api/v1/contacts (add a new contact) ......................................................................................... 49
Parameters ................................................................................................................................................... 49
Return values ................................................................................................................................................ 49
Authentication .............................................................................................................................................. 49
Description ................................................................................................................................................... 49
Example ........................................................................................................................................................ 50
3.9.3 DELETE /api/v1/contacts/<cID> (Delete a contact) .............................................................................. 50
Parameters ................................................................................................................................................... 50
Return values ................................................................................................................................................ 50
Authentication .............................................................................................................................................. 50
Description ................................................................................................................................................... 50
Example ........................................................................................................................................................ 51
3.10
Devices ....................................................................................................................... 51
3.10.1 GET /api/v1/devices (list all devices from the computers & contacts list) ........................................... 51
Parameters ................................................................................................................................................... 51
Return values ................................................................................................................................................ 51
Authentication .............................................................................................................................................. 51
Description ................................................................................................................................................... 51
Example ........................................................................................................................................................ 52
3.10.2 PUT /api/v1/devices/<dID> (change device details) ............................................................................ 52
Parameters ................................................................................................................................................... 52
Return values ................................................................................................................................................ 52
Authentication .............................................................................................................................................. 52
Description ................................................................................................................................................... 52
Example ........................................................................................................................................................ 53
3.10.3 POST /api/v1/devices (add a new device) ............................................................................................ 53
Parameters ................................................................................................................................................... 53
Return values ................................................................................................................................................ 53
Authentication .............................................................................................................................................. 53
Description ................................................................................................................................................... 53
Example ........................................................................................................................................................ 53
3.10.4 DELETE /api/v1/devices/<dID> (delete a device) ................................................................................. 54
Parameters ................................................................................................................................................... 54
Return values ................................................................................................................................................ 54
Authentication .............................................................................................................................................. 54
www.teamviewer.com
Page 7 of 60
Description ................................................................................................................................................... 54
Example ........................................................................................................................................................ 54
Errors ....................................................................................................... 55
4.1
4.2
Licensing................................................................................................... 57
Contact ..................................................................................................... 58
Appendix A ............................................................................................... 59
7.1
7.2
www.teamviewer.com
Page 8 of 60
Introduction
1 Introduction
1.1
1.2
Definitions
Name
Description
Supporter
A user who provides support to the end customer. This user must have a
TeamViewer account.
End Customer
A user who does not need to have a TeamViewer account. The user is in
most cases a customer of the company who is using the API.
Client
The application (or user, if the HTTP requests are typed in manually) that
uses the API.
REST
The TeamViewer API is a REST API which uses the already existing HTTP methods to create (POST), read
(GET), change (PUT) or delete (DELETE) single items or a collection of items. The following table shows the
general use cases for these HTTP methods.
GET
POST
PUT
DELETE
Collection
retrieve list of
items in this collection
Single item
The basic URI scheme for all API functions is: https://host/path/to/resources[/id][/verb][?param1=value1]
The TeamViewer API can be found at https://webapi.teamviewer.com/api/v1
Parameters in the URI are only allowed for GET and DELETE. Generally there should be no need for any parameters for DELETE, though. POST and PUT need to have the parameters in the body formatted as JSON or
XML.
www.teamviewer.com
Page 9 of 60
Introduction
1.3
IDs
IDs are prefixed with a type in order to make them more distinguishable. The following types are used:
"u" - user ID
"g" group ID
"m" meeting ID
c contact ID
d device ID
1.4
Date format
All dates and times follow the ISO 8601. They should have the following format: YYYY-MMDD"T"HH:MM:SS"Z". Times are always in UTC unless stated otherwise.
Example
1.5
Number format
Decimal numbers are returned in US English format, using a point as decimal separator. Digits are never
grouped by a delimiter.
Example
12345.67
www.teamviewer.com
Page 10 of 60
User permissions
2 User permissions
2.1
Name in API
ManageAdmins
ManageUsers
Manage users
ShareOwnGroups
ViewAllConnections
ViewOwnConnections
EditConnections
DeleteConnections
EditFullProfile
ManagePolicies
AssignPolicies
Assign policies
AcknowledgeAllAlerts
AcknowledgeOwnAlerts
ViewAllAssets
www.teamviewer.com
Page 11 of 60
User permissions
2.2
Name in API
ViewOwnAssets
View assets
EditAllCustomModuleConfigs
EditOwnCustomModuleConfigs
None
Permission dependencies
Some permissions are depending on each other and cannot be set individually, e. g. if a user has the permission to ManageAdmins he also must have the permission to ManageUsers. When these permissions are
set in the Management Console, the other permissions are set automatically. When setting permissions
through the API using a PUT or POST command, all permissions must be included explicitly. The following
table shows the dependencies.
Name in API
To set this right through the API, these rights also have to be set
None
ManageAdmins
ManageUsers
ShareOwnGroups
ViewAllConnections
ViewOwnConnections
ViewOwnConnections
EditConnections
DeleteConnections
www.teamviewer.com
Page 12 of 60
User permissions
Name in API
To set this right through the API, these rights also have to be set
EditFullProfile
ManagePolicies
AssignPolicies
AcknowledgeAllAlerts, AcknowledgeOwnAlerts
AcknowledgeAllAlerts
AcknowledgeOwnAlerts
AcknowledgeOwnAlerts
ViewAllAssets
ViewOwnAssets
ViewOwnAssets
EditAllCustomModuleConfigs
EditOwnCustomModuleConfigs
EditOwnCustomModuleConfigs
www.teamviewer.com
Page 13 of 60
API Functions
3 API Functions
3.1
3.1.1
resource owner The user behind a TeamViewer account who wants to access their resources
through the API.
client The application, plug-in, script or user who is making the API HTTP requests.
authorization server In our case that's the same servers that run the rest of the API.
client ID A unique ID to identify the application that wants to use the TeamViewer API.
client secret A unique string only known to the creator of the client ID.
authorization code Code used during the OAuth process to prove that an authorization request was granted in the Management Console.
access token A token that has to be used to access any API function (except those explicitly
marked as not requiring any access tokens).
refresh token A token that can be used once to obtain a new access token and a new refresh
token.
www.teamviewer.com
Page 14 of 60
API Functions
Client/Application-Types
Script
App
User Access
Company Access
When you register an application for your own use only, you will get an access token that can be used directly for any API function that requires it. When you register the application for others to use as well, you
will get a Client ID. This Client ID is used in the OAuth process described below. At the end of this process
the application will also have an access token that must be used by the other API functions. This access token is tied to the account/company that uses the application, not the company that created the application.
If you are using OAuth in your application and the application was registered for company use, the user who
grants access to your application needs to be an administrator. The user who registered the application
does not have to be in a company however.
3.1.2
Scopes
Account
(user level access
only)
Groups
Users
Sessions
Connections
www.teamviewer.com
Page 15 of 60
API Functions
3.1.3
Meetings
(user level access
only)
3.1.4
redirect_uri (optional) URI to redirect to once access has been granted. If this parameter
is left out the code that would have been returned here is shown in the browser and has to be
www.teamviewer.com
Page 16 of 60
API Functions
copied manually to the application. If a fixed redirect URI is specified for the provided client ID,
the value of this parameter must match it.
state (optional) Can be set if needed, and will be returned to the callback URI if it was set
here.
Return values
Not applicable here, because this needs to be opened in a browser and will return a website. The other values will be added to the redirect_uri once access has been granted.
Description
Requests an authorization code from the server. This code is only valid for 10 minutes and should be used
to get an access token. This is the only function that should not be called directly from a 3 rd party application but it should be opened in a browser and return a website where the user can grant access to the 3 rd
party application.
Example
Request:
GET /api/v1/oauth2/authorize?response_type=code&client_id=12333133Ea4Hdf3e9ec0543fX&redirect_uri=https%3A%2F%2F2.zoppoz.workers.dev%3A443%2Fhttps%2Fclient%2Eexample%2Ecom%2Fcb HTTP/1.1
3.1.5
redirect_uri (optional) Must be the same value as in the previous call to /oauth2/authorize. If no redirect_uri was given none should be added here as well.
client_secret The client secret, which is known only to the creator of the application.
Refresh-Token:
client_secret - The client secret, a unique string known only to the creator of the application.
www.teamviewer.com
Page 17 of 60
API Functions
Return values
token_type Authentication-method used for this access token, currently only bearer is
used.
expires_in Time in seconds until the access token expires and needs to be refreshed.
refresh_token Refresh-Token that needs to be used to get a new access token when the
old access token expires. Requesting a new access token will also create a new refresh token.
The refresh token becomes invalid after use or if the access token is revoked.
Description
Requests a new access token, either by using the code from a previous authorization step or by using an
existing refresh token. Access tokens have a limited lifetime of 1 day. The response always has the CacheControl and Pragma fields (see example below). Refresh tokens can only be used once. For this request the
Content-Type header should be set to application/x-www-form-urlencoded (as per OAuth 2 specification), however JSON/XML also works.
Example
Request (Authorization code grant):
POST /api/v1/oauth2/token HTTP/1.1
Host: webapi.teamviewer.com
Content-Type: application/x-www-form-urlencoded
grant_type=authorization_code&code=SplxlOBeZQQYbYS6WxSb&redirect_uri=https%3A%2F%2F2.zoppoz.workers.dev%3A443%2Fhttps%2Fc
lient%2Eexample%2Ecom%2Fcb&client_id=12333-133Ea4Hdf3e9ec0543fX
Example
GET /api/v1/users HTTP/1.1
Host: webapi.teamviewer.com
Authorization: Bearer 54213-2YotnFZFEjr1zCsicMWp
All examples in the following sections will have this header omitted but if an access token is required the
Authorization header field needs to be added to the request.
If no access token is given in the header, or the access token is past its expiration date, the return will have
a WWW-Authenticate header field.
www.teamviewer.com
Page 18 of 60
API Functions
3.1.6
POST /api/v1/oauth2/revoke
Parameters
None
Return values
None
Description
Revokes an access token that was created using oauth. The access token has to be included in the header
Authorization field. After revoking it, it and its attached refresh token cannot be used any longer.
Example
Request
POST /api/v1/oauth2/revoke HTTP/1.1
Host: https://webapi.teamviewer.com
Authorization: Bearer 54213-2YotnFZFEjr1zCsicMWp
Response
HTTP/1.1 200 OK
3.2
Ping
3.2.1
GET /api/v1/ping
Parameters
None
Return values
token_valid Is set to true if the provided access token is OK and the message is signed
correctly. In all other cases the value is set to false.
www.teamviewer.com
Page 19 of 60
API Functions
Authentication
Access tokens are optional but will be verified if provided. Scope: None required.
Description
This function can be used to check if the API is available. It can also be used to verify if the token is valid.
Example
Request
GET /api/v1/ping
Response
HTTP/1.1 200 OK
Content-Type: application/json
{"token_valid":false}
3.3
Account Management
3.3.1
Return values
email The associated email address. Only returned if access token has the Account.ReadEmail scope.
company_name (optional) The name of the company that the user belongs to.
Authentication
User access token. Scope: Account.Read and (optionally) Account.ReadEmail.
Description
Retrieves account information of the account associated with the access token.
Example
Request
GET /api/v1/account
www.teamviewer.com
Page 20 of 60
API Functions
Response
HTTP/1.1 200 OK
Content-Type: application/json
{
"userid": "u1234567",
"email": "[email protected]",
"name": "John Doe",
"company_name": "Johns Company"
}
3.3.2
email (optional) The associated email address. Note that changing the email address needs
to be confirmed in the Management Console first before changes take effect.
password (optional) - A new password for this account. If password is set, oldpassword must
be set to the correct value of the old password.
Return values
None.
Authentication
User access token. Scope:Account.Modify, Account.ModifyEmail or Account.ModifyPassword..
Description
Changes account information of the account associated with the access token.
Example
Request
PUT /api/v1/account
Content-Type: application/json
{ "name" : "John Locke" }
Response
HTTP/1.1 204 No Content
www.teamviewer.com
Page 21 of 60
API Functions
3.4
User Management
3.4.1
email (optional) Lists the user that has an exact match of the given email address.
name (optional) List all users that have the given string as part of their user name.
permissions (optional) List all users with certain permissions. Multiple permissions can be
separated by comma and only users having all the permissions will be listed in that case. (See
2.1 for a list of possible values).
full_list (optional) true: list contains all info fields about the users, false (default): list
contains only minimal info about the users
Return values
For the minimal list:
permissions (optional) Comma-separated list of permissions that this user has. (See 2.1 for
a list of possible values).
custom_quickjoin_id (optional) The ID of the default custom QuickJoin module for this
user. Omitted if value is auto.
Authentication
User or company access token. Scope: Users.Read
Description
Lists all users in a company. The list can be filtered with additional parameters. The function can also return
a list containing all information about the users. This data is the same as when using GET /users/uID for
each of these users.
Example
Request
GET /api/v1/users?full_list=true
Response
HTTP/1.1 200 OK
Content-Type: application/json
www.teamviewer.com
Page 22 of 60
API Functions
{ "users" : [
{ "id" : "u1234567",
"name" : "Mighty Administrator",
"permissions" : "ManageAdmins, ManageUsers, ShareOwnGroups, EditFullProfile,
ViewAllConnections, ViewOwnConnections, EditConnections, DeleteConnections,
ManagePolicies, AssignPolicies, AcknowledgeAllAlerts,AcknowledgeOwnAlerts,
ViewAllAssets, ViewOwnAssets, EditAllCustomModuleConfigs,
EditOwnCustomModuleConfigs",
"active": true
},
{ "id" : "u2345678",
"name" : "John Doe",
"permissions" : "EditFullProfile"
}]
}
3.4.2
permissions (optional) Comma-separated list of permissions that this user has. See 2.2 for
valid values and combinations. If omitted the following default permissions will be set: ShareOwnGroups, ViewOwnConnections, EditConnections, EditFullProfile
language Language code for the user. Will be used for the welcome email.
DEPRECATED license_key (optional) License key of the license that will be assigned to
the new user. If omitted, your default license will be set. To assign a license to a user, it must
have been added to the company first.
custom_quickjoin_id (optional) The ID of the default custom QuickJoin module for this
user. Defaults to auto if omitted.
Return values
HTTP status code 200 on success and a JSON containing the same data as GET /users/uID. The new URI for
that user will also be returned as part of the HTTP header.
Authentication
User or company access token. Scope: Users.CreateUsers or Users.CreateAdministrators.
Description
Creates a new user for the company. The data for the new user will be returned as response to the POST.
This should be the same as GET /users/uID, except that it will include the id as well. You will need to have
the scope Users.CreateAdministrators to set the permissions ManageUsers or ManageAdmins.
www.teamviewer.com
Page 23 of 60
API Functions
Example
Request
POST /api/v1/users
Content-Type: application/json
{ "email" : "[email protected]",
"password" : "abc!de#f3g2h3",
"name" : "John Michael Dorian",
"language" : "en",
"permissions" : "EditFullProfile" }
Response
HTTP/1.1 200 OK
Content-Type: application/json
{
"id" : "u456789",
"name" : "Ted",
"permissions" : "EditFullProfile"
}
3.4.3
Return values
This is the same as the full list for GET /users .
permissions (optional) String list of permissions that this user has. See 2.1 for valid values.
custom_quickjoin_id (optional) The ID of the default custom QuickJoin module for this
user. Omitted if value is auto.
Authentication
User or company access token. Scope: Users.Read.
Description
Returns the information for a single user. The information is the same as when using GET /users?full_list=true.
Example
Request
GET /api/v1/users/u123
www.teamviewer.com
Page 24 of 60
API Functions
Response
HTTP/1.1 200 OK
Content-Type: application/json
{
"id" : " u123",
"email" : "[email protected]",
"name" : "John Doe",
"permissions" : "EditFullProfile",
"active" : true
}
3.4.4
email (optional) New Email of the user. A verification Email will be sent to the new address.
permissions (optional) Comma-separated list of permissions that this user has. See 2.2 for
valid values and combinations.
DEPRECATED license_key (optional) License key of the license that will be assigned to
the user. To assign a license to a user, it must have been added to the company first.
custom_quickjoin_id (optional) The ID of the default custom QuickJoin module for this
user. Set to auto if no specific module should be assigned.
Return values
HTTP status code 204 (No Content) on success.
Authentication
User or company access token. Scope: Users.ModifyUsers or Users.ModifyAdministrators.
Description
Changes information for a selected user. Only the parts that need to be changed are needed in the request
body.
Security-Warning: An attacker can gain access to a user account either by changing the email (+password
reset) or by changing the password if he can steal the company access token. This makes the company access token equivalent to email and password for ALL company accounts with which an attacker can get the
full Computer & Contacts list (and not just what is available over the API).
www.teamviewer.com
Page 25 of 60
API Functions
Example
Request
PUT /api/v1/users/u123
Content-Type: application/json
{ "name" : "John Locke" }
Response
HTTP/1.1 204 No Content
3.5
Group Management
3.5.1
3.5.2
Parameters
shared (optional) True: list only shared groups, i. e. groups where the current user is not the
owner. False: list only not shared groups, i. e. groups owned by the current user. If left out
both types will be in the list.
Return values
id Group ID
shared_with (optional) List of users who this group is shared with. Can be omitted if
empty.
pending true if the user hasn't accepted the shared group yet, otherwise the field can
be omitted.
owner (optional) Owner of this group. Omitted if the owner is the current user.
o
www.teamviewer.com
Page 26 of 60
API Functions
Authentication
User or company access token. Scope: Groups.Read.
Description
Returns a list of groups.
Example
Request
GET /api/v1/groups?name=Test
Response
HTTP/1.1 200 OK
Content-Type: application/json
{ "groups" : [
{ "id" : "g53235",
"name" : "Testing",
"shared_with" : [
{ "userid" : "u631645",
"name" : "Ted",
"permissions" : "read"}],
"permissions" : "owned"
},
{ "id" : "g425123356",
"name" : "Test",
"owner" : {
"userid" : "u814464403",
"name" : "Tester" },
"permissions" : "readwrite"
}]
}
3.5.3
Parameters
Return values
name Name of the new group. This should be the same parameter as the input parameter.
permissions Will always be owned, because the group is not yet shared at this point.
Authentication
User or company access token. Scope: Groups.Create.
Description
Creates a new group and returns its info.
www.teamviewer.com
Page 27 of 60
API Functions
Example
Request
POST /api/v1/groups
Content-Type: application/json
{ "name" : "Test" }
Response
HTTP/1.1 200 OK
Content-Type: application/json
Location: https://webapi.teamviewer.com/groups/g425123356
{
"id" : "g425123356",
"name" : "Test",
"permissions" : "owned"
}
3.5.4
Parameters
None.
Return values
id Group ID
shared_with (optional) List of users who this group is shared with. Only available if the user
is owner of the group. Will be omitted if empty.
owner (optional) Owner of this group. Will be omitted if the owner is the current user.
permissions Access permissions for the current user. read, readwrite or owned.
Authentication
User or company access token. Scope: Groups.Read.
Description
Returns info for one group.
Example
Request
GET /api/v1/groups/g425123356
www.teamviewer.com
Page 28 of 60
API Functions
Response
HTTP/1.1 200 OK
Content-Type: application/json
{
"id" : "g425123356",
"name" : "Test",
"owner" : {
"userid" : "u814464403",
"name" : "Tester" },
"permissions" : "owned"
}
3.5.5
Parameters
Return values
HTTP status code 204 if change succeeded.
Authentication
User or company access token. Scope: Groups.Modify.
Description
Changes a group. Right now only the name can be changed.
Example
Request
PUT /api/v1/groups/g425123356
Content-Type: application/json
{ "name" : "Test 123" }
Response
HTTP/1.1 204 No Content
3.5.6
Parameters
None
Return values
HTTP status code 204 on success.
TeamViewer API - Documentation
www.teamviewer.com
Page 29 of 60
API Functions
Authentication
User or company access token. Scope: Groups.Delete
Description
Deletes an existing group. If the group is not owned, but only shared with the user's account it will just be
unshared.
Example
Request
DELETE /api/v1/groups/g425123356
Response
HTTP/1.1 204 No Content
3.5.7
Parameters
userid User ID of one of the users you want to share the group with.
Return values
HTTP status code 204.
Authentication
User or company access token. Scope: Groups.Share.
Description
Shares a group with the given users. Will not change the share state with other users, but it is possible to
overwrite the permissions for existing shares.
Example
Request
POST /api/v1/groups/g425123356/share_group
Content-Type: application/json
{ "users" : [
{ "userid" : "u33516235",
"permissions" : "read" },
{ "userid" : "u51235",
"permissions" : "readwrite" }]
}
www.teamviewer.com
Page 30 of 60
API Functions
Response
HTTP/1.1 204 No content
3.5.8
Parameters
users List of User IDs that this group should not longer be shared with.
Return values
HTTP status code 204.
Authentication
User or company access token. Scope: Groups.Share.
Description
Unshares a group from certain users.
Example
Request
POST /api/v1/groups/g425123356/unshare_group
Content-Type: application/json
{ "users" : [ "u33516235", "u51235" ]}
Response
HTTP/1.1 204 No content
3.6
Session Management
3.6.1
state (optional) State of the session. Can be open or closed. By default only open sessions
will be selected. States can be combined with a comma.
full_list (optional) true: Return all information for the sessions. This is false by default.
offset (optional) Can contain a session code from a previous request. The returned list will
contain session codes after the one specified as offset.
Return values
For the minimalistic list (full_list=false):
TeamViewer API - Documentation
www.teamviewer.com
Page 31 of 60
API Functions
sessions_remaining Number of session codes left after the ones returned here. Will be
omitted if there are no further session codes.
next_offset Offset that can be used to get the next 1000 session codes.
assigned_userid User ID of the user this session is assigned to. If session is unassigned,
value is u0.
assigned_at Date when the last user was assigned.
end_customer_link Link for the end customer.
supporter_link Link for the supporter.
custom_api Custom field that can be used to store an arbitrary string but is only available to
API functions. It is limited to 4000 characters.
created_at Date when the session code was created.
valid_until Date until when the session code is/was valid.
closed_at Date when the session was closed.
Authentication
User or company access token. Scope: Sessions.ReadAll or Sessions.ReadOwn.
Description
Lists sessions. If no filters are given it will list all sessions in the active account (user access token) or all sessions from all accounts (company access token). A single request will return a maximum of 1000 session
codes. To get the next 1000 session codes, repeat the same request with the offset parameter set to the
value from next_offset. Session codes will be sorted by the created_at date from new to old.
Example
Request
GET /api/v1/sessions?groupid=g425123356&full_list=true
www.teamviewer.com
Page 32 of 60
API Functions
Response
HTTP/1.1 200 OK
Content-Type: application/json
{"sessions" : [
{"code" : "s31-328-542",
"groupid" : "g425123356",
"description" : "Hello, I have an issue with my printer, can you please assist?",
"end_customer" : { "name" : "Peter Niedhelp", "email" : "[email protected]" },
"assigned_userid" : "u7254190",
"end_customer_link" : "https://get.teamviewer.com/...",
"supporter_link" : "https://get.teamviewer.com/...",
"custom_api" : "{ "ticket_id" : "535824" }"
}, ]
}
3.6.2
valid_until (optional) Date when session code becomes invalid. Will default to 24h from
now when no date is given.
groupid (partially required) ID of the group the session will be inserted into. The group can
be in a different account when the API user has access to it. Either this or groupname must be
set. For applications with company level access, this parameter is required.
groupname (partially required) Name of the group that the session code will be inserted into.
Either this or the groupid parameter must be set. If no group exists with that name a new
group will be created. If both groupid and groupname are set, both have to point to the same
group. Otherwise an error is returned.
name (optional) Name of the end customer. Maximum length is 100 characters.
email (optional) Email of the end customer. Maximum length is 254 characters.
assigned_userid (optional) User ID of the user this session code will be assigned to. If not
set, session code will be assigned to the user who created the session code. If set to u0, session
is unassigned.
custom_api (optional) Custom field that stores any arbitrary string (such as JSON or XML)
but is only available to API functions. It is limited to 4000 characters.
Return values
www.teamviewer.com
Page 33 of 60
API Functions
assigned_userid User ID of the user this session code is assigned to. If the session code is
not assigned the value will be u0.
custom_api Custom field that stores any valid JSON/XML object (max 4000 characters) and
is only visible for API users.
Authentication
User or company access token. Scope: Sessions.Create.
Description
Creates a new session code. A session code will always be stored in a group, so either the groupid or
groupname parameter must be set. Session codes will expire after 24h if no valid_until date is set.
Example
Request (with user/company access token)
POST /api/v1/sessions
Content-Type: application/json
{"groupid" : "g425123356",
"description" : " I have aproblemwith myspace bar.",
"end_customer" : { "name" : "Max" }
}
Response
HTTP/1.1 200 OK
Content-Type: application/json
Location: https://webapi.teamviewer.com/api/v1/sessions/s12-345-678
{"code" : "s12-345-678",
"state" : "open",
"groupid" : "g425123356",
"end_customer" : { "name" : "Max" },
"description" : "I have aproblemwith myspace bar.",
"assigned_userid" : "u7254190",
"end_customer_link" : "https://get.teamviewer.com/s12345678",
"supporter_link" : "https://get.teamviewer.com/s12345678-asfg1234asfg",
"valid_until" : "2013-10-30T12:03:29Z"
}
3.6.3
Return values
www.teamviewer.com
Page 34 of 60
API Functions
custom_api Custom fields, this stores any arbitrary string but is only available to API functions. It is limited to 4000 characters.
Authentication
User or company access token. Scope: Sessions.ReadAll or Sessions.ReadOwn.
Description
Returns information for one session code. It will return exactly the same data that a POST to /sessions
would return except that some of the fields may have changed values.
Example
Request
GET /api/v1/sessions/s15-542-091
Response
HTTP/1.1 200 OK
Content-Type: application/json
{"code" : "s15-542-091",
"state" : "open",
"groupid" : "g425123356",
"waiting_message" : "",
"description" : "HELP!!!11",
"end_customer" : { "name" : "Max", "email" : "" },
"assigned_userid" : "u7254190",
"end_customer_link" : "https://get.teamviewer.com/...",
"supporter_link" : "https://get.teamviewer.com/...",
}
3.6.4
www.teamviewer.com
Page 35 of 60
API Functions
groupname (optional) Group name where this session will be moved to. If both groupname
and groupid are set, the group with the specified ID must have the specified name. Otherwise
an error is returned. This parameter can only be used by applications with user-level access.
assigned_userid (optional) User ID of the user to assign this session to. Set to u0 to unassign session.
custom_api (optional) Custom fields, this stores any arbitrary string but is only available to
API functions. It is limited to 4000 characters.
Return values
HTTP status 204 if changes succeeded.
Authentication
User or company access token. Scope: Sessions.ModifyAll or Sessions.ModifyOwn.
Description
Modifies an existing session code.
Example
Request
PUT /api/v1/sessions/s13-123-123
Content-Type: application/json
{"description" : "Still not working."}
Response
HTTP/1.1 204 No Content
3.7
Connection Reporting
3.7.1
username (optional) Filter by user name of the person who started the connection.
userid (optional) Filter by user ID of the person who started the connection.
groupid (optional) Filter by group ID where the target device or user was in.
devicename (optional) Filter by target device name. Set to unnamed_device to only return
results for unnamed devices. Only available if you are using a user access token.
www.teamviewer.com
Page 36 of 60
API Functions
from_date (optional) First start_date for all listed connections. Parameter must contain a
date and can also contain a time. If no time is specified it defaults to 00:00:00Z. Connections
with start_date equal to from_date are included in the results.
to_date (optional) Last start_date for all listed connections. Parameter must contain a
date and can also contain a time. If no time is specified it defaults to 00:00:00Z. Connections
with start_date equal to to_date are excluded from the results.
offset_id (optional) All returned reports will follow the report-ID given in this field. The
given report-ID is excluded from the results.
has_code (optional) Filters out reports that have no session code if true or that have a session code if false. If the parameter is left out both types will be returned.
Additional parameters for connections that were done with a session code:
session_code (optional) If specified the response will contain only connections for this session code.
Return values
id Report-ID
contact_id (optional) Contact ID of the target. The Contact ID is returned only for connections made to contacts.
devicename (optional) Device name of the target device. Only returned if you are using a
user access token.
records_remaining (optional) Number of records after the ones listed here. Can be omitted if there are no more reports left.
next_offset (optional) ID of the last returned report in this response. Can be used as offset_id in a follow-up request to get the next set of connection reports.
Additional return parameters when the connection was done with a session code
records
assigned_at Date when the session code was last assigned to another user.
www.teamviewer.com
Page 37 of 60
API Functions
custom_api Custom fields, this stores any arbitrary string but is only available to API functions. It is limited to 4000 characters.
end_customer
feedback (optional) If feedback was enabled but customer did not provide feedback, an
empty object is returned.
o
Authentication
User or company access token. Scope: Connections.Read.
Description
Returns a list of connection reports. The list is limited to 1000 reports per request. If there are more reports
the reports_remaining field will tell you how many. The next_offset field will contain the offset ID to
get the next 1000 (or less) reports and should be used as offset_id parameter for the next request.
If you want to get connections for a single day or multiple days, use the first day at 0:00 for the from_date
parameter and the day after the last day at 0:00 for the to_date parameter.
Example
Request
GET /api/v1/reports/connections?username=Adam
www.teamviewer.com
Page 38 of 60
API Functions
Response
HTTP/1.1 200 OK
Content-Type: application/json
{"records" : [
{ "id" : "B144268F-5A3A-4130-9054-A8F4598B0125",
"username" : "Adam",
"userid" : "u4387123",
"devicename" : "Server 15",
"deviceid" : "20301234",
"start_date" : "2013-01-16T19:20:30Z",
"end_date" : "20130116T194014Z",
"bill" : "0.00",
"currency" : "EUR",
"billing_state" : "Bill",
"notes" : "fixed webserver"
},
{ "id" : "CAB5E30E-7A51-4F74-A9AE-089EE206D220",
"username" : "Adam",
"userid" : "u4387123",
"devicename" : "Server 12",
"deviceid" : "20301234",
"start_date" : "20130117T144011Z",
"end_date" : "20130117T151324Z",
"bill" : "0.00",
"currency" : "EUR",
"billing_state" : "DoNotBill",
"notes" : "installed Windows updates"
},
{ "id" : "F846B994-4259-4F00-BEC0-258D12A6C0BE",
"username" : "Adam",
"userid" : "u4387123",
"devicename" : "Server 12",
"deviceid" : "20301234",
"start_date" : "20130117T152004Z",
"end_date" : "20130117T152351Z",
"bill" : "0.00",
"currency" : "EUR",
"billing_state" : "DoNotBill",
"notes" : "server rebooted and running again"
}
]}
3.7.2
Return values
HTTP status code 204.
Authentication
User or company access token. Scope: Connections.Modify.
Description
Changes a field in the connection report.
www.teamviewer.com
Page 39 of 60
API Functions
Example
Request
PUT /api/v1/reports/connections/F846B994-4259-4F00-BEC0-258D12A6C0BE
Content-Type: application/json
{"notes" : "server rebooted but not fixed yet."}
Response
HTTP/1.1 204 No Content
3.7.3
Return values
HTTP status code 204.
Authentication
User or company access token. Scope: Connections.Delete.
Description
Deletes a connection report.
Example
Request
DELETE /api/v1/reports/connections/F846B994-4259-4F00-BEC0-258D12A6C0BE
Response
HTTP/1.1 204 No Content
3.8
Meetings
3.8.1
Meeting types
The TeamViewer API handles two types of meetings: scheduled and instant.
www.teamviewer.com
Page 40 of 60
API Functions
3.8.2
from_date (optional) First start date for all listed meetings. Date is included in the filter.
Only the date counts. If a time is provided in the parameter it will be ignored.
to_date (optional) Last start date for all listed meetings. Date is included in the filter. Only
the date counts. If a time is provided in the parameter it will be ignored.
Return values
type Type of the conference call information. Can be either None, TeamViewer or
Custom.
custom_data (optional) The custom text that is displayed when type is set to Custom. Omitted if empty.
Authentication
User access token. Scope: Meetings.Read.
Description
Lists all scheduled meetings for the account associated with the authentication token. The list can be filtered with additional parameters. This data is the same as when using GET /meetings/<mID> for each of
these users.
Example
Request
GET /api/v1/meetings
www.teamviewer.com
Page 41 of 60
API Functions
Response
HTTP/1.1 200 OK
Content-Type: application/json
{
"meetings": [
{
"id": "m12-345-678",
"subject": "TeamViewer API Webinar",
"start": "2013-11-25T14:00:00Z",
"end": "2013-11-25T15:00:00Z",
"password": "1234",
"conference_call_information": {
"type": "Custom",
"custom_data": "Dial 555-4816-2342 to join the conference."
},
"participant_web_link": "https://go.teamviewer.com/m12345678"
},
{
"id": "m98-765-432",
"subject": "API Next Steps",
"start": " 2013-11-25T14:00:00Z",
"end": "2013-11-25T15:00:00Z ",
"conference_call_information": {
"type": "TeamViewer"
},
"participant_web_link": "https://go.teamviewer.com/m98765432"
}
]
}
3.8.3
Return values
type Type of the conference call information. Can be either None, TeamViewer or
Custom.
custom_data (optional) The custom text that is displayed when type is set to Custom. Omitted if empty.
Authentication
User access token. Scope: Meetings.Read.
www.teamviewer.com
Page 42 of 60
API Functions
Description
Retrieve the details of one single meeting.
Example
Request
GET /api/v1/meetings/m12-345-678
Response
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": "m12-345-678",
"subject": "TeamViewer API Webinar",
"start": "2013-11-25T14:00:00Z",
"end": "2013-11-25T15:00:00Z",
"password": "1234",
"conference_call_information": {
"type": "Custom",
"custom_data": "Dial 555-4816-2342 to join the conference."
},
"participant_web_link": "https://go.teamviewer.com/m12345678"
}
3.8.4
timezone The time zone for which the invitation is created. Specified as offset to UTC as defined by ISO 8061. Examples:
o
+0100 for the time zone 1 hour east of UTC, e.g. Central European Time (CET)
+0200 for the time zone 2 hours east of UTC, e.g. Central European Summer Time
(CEST)
-0500 for the time zone 5 hours west of UTC, e. g. US/Canadian Eastern Standard
Time (EST).
www.teamviewer.com
Page 43 of 60
API Functions
Return values
invitation_text An invitation text that can be used for emails, chat programs, etc. It contains the meeting ID, a link to directly connect and start and end time given in the timezone
that is stated as parameter. Line breaks are denoted as \n.
Authentication
User access token. Scope: Meetings.Read.
Description
Retrieve an invitation text with start and end time adapted to the given time zone.
Example
Request
GET /api/v1/meetings/m12-345-678/invitation?timezone=+0100&language=en
Response
HTTP/1.1 200 OK
Content-Type: application/json
{ "invitation_text" : "Hello,\nYou have been invited to a meeting:\n\nSubject:
TeamViewer API Webinar\nStart: 15:00, 25.11.2013\nEnd: 16:00, 25.11.2013\n\nPlease
join the meeting, by clicking on this
link:\nhttps://go.teamviewer.com/m12345678\nMeeting ID: m12-345-678\n\nPassword:
1234\n\nRegards,\nJohn Doe\n\nwww.teamviewer.com - Easy online meeting & screen
sharing"}
3.8.5
instant (optional) Set true for an instant meeting, false for a scheduled meeting. See
3.8.1 for details about meeting types. Defaults to false.
subject (optional) Subject of the meeting. Required for scheduled meetings, must be left
empty for instant meetings.
start (optional) Start date and time. Required for scheduled meetings, must be left empty
for instant meetings.
end (optional) End date and time. Required for scheduled meetings, must be left empty for
instant meetings.
password (optional) A password that participants must enter to join the meeting.
type Type of the conference call information. Can be either None, TeamViewer or
Custom.
custom_data (optional) The custom text that is displayed when type is set to Custom.
www.teamviewer.com
Page 44 of 60
API Functions
Return values
start (optional) The start date and time of the meeting. Omitted for instant meetings.
end (optional) The end date and time for the meeting. Omitted for instant meetings.
type Type of the conference call information. Can be either None, TeamViewer or
Custom.
custom_data (optional) The custom text that is displayed when type is set to Custom. Omitted if empty.
Authentication
User access token. Scope: Meetings.Create.
Description
Creates a new meeting. The response contains the values for the new meeting.
Response
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": "m12-345-678",
"subject": "TeamViewer API Webinar",
"start": "2013-11-25T14:00:00Z",
"end": "2013-11-25T15:00:00Z",
"password": "123",
"conference_call_information": {
"type": "Custom",
"custom_data": "Dial 555-4816-2342 to join the conference."
},
"participant_web_link": "https://go.teamviewer.com/m12345678"
}
www.teamviewer.com
Page 45 of 60
API Functions
Response
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": "m13-345-678",
"participant_web_link": "https://go.teamviewer.com/m13345678"
}
3.8.6
password (optional) A password that participants must enter to join the meeting.
type (optional) Type of the conference call information. Can be either None,
TeamViewer or Custom.
custom_data (optional) The custom text that is displayed when type is set to Custom.
Return values
HTTP status code 204 (No Content) on success.
Authentication
User access token. Scope: Meetings.Modify.
Description
Changes one or more values of a meeting.
www.teamviewer.com
Page 46 of 60
API Functions
Example
Request
PUT /api/v1/meetings/m12-345-678
Content-Type: application/json
{"subject" : "Webinar: TeamViewer API Best Practices"}
Response
HTTP/1.1 204 No Content
3.8.7
Return values
HTTP status code 204 on success.
Authentication
User access token. Scope: Meetings.Delete.
Description
Deletes a meeting.
Example
Request
DELETE /api/v1/meetings/m12-345-678
Response
HTTP/1.1 204 No Content
3.9
Contacts
3.9.1
GET /api/v1/contacts (list all contacts from the computers & contacts list)
Parameters
name (optional) Return only contacts that contain the value of this parameter in their name.
www.teamviewer.com
Page 47 of 60
API Functions
email (optional) Return only the contact or invite that that has an exact match of the given
email address. This may also contain a comma separated list of email addresses, allowing to
query multiple contacts with a single call.
groupid (optional) Return only contacts that are in the specified group.
Return values
contact_id The ID that is unique for this entry of the computers & contacts list. Values are
always prefixed with a c.
email (optional) The email address of the contact. This is only returned if the parameter
email was provided when calling the function.
description The description that the current user has entered for this contact.
online_state The current online state of the contact. Possible values are: online, busy,
away, offline.
profilepicture_url (optional) The profile picture of the contact. Contains the URL at
which the profile picture can be found. The URL contains the string [size] as placeholder for
the size of the picture, which needs to be replaced by an integer to retrieve the picture of that
size. Valid sizes are 16, 32, 64, 128 and 256. Omitted if a contact has no profile picture set.
supported_features The features supported by the contact. Possible values are: chat,
remote_control, meeting, videocall.
Authentication
User access token. Scope: ContactList.Read.
Description
Returns a list of contacts in the users computers & contacts list that match the criteria given in the parameters.
The contact_id can also be used to request TeamViewer sessions (such as chat with contact, send file to
contact, prompt remote access, etc.) using the TeamViewer website https://start.teamviewer.com. For
more information please see Appendix A, page 59.
www.teamviewer.com
Page 48 of 60
API Functions
Example
Request
GET /api/v1/contacts
Response
HTTP/1.1 200 OK
Content-Type: application/json
{"contacts": [
{
"contact_id": "c123456789",
"name": "Jack",
"groupid": "g12345678",
"online_state": "Offline",
"profilepicture_url": "https://profilepicturedl.teamviewer.com/a35489836/81cae6b1-4acf-4138-bd14-f3c27716b400/[size]"
"supported_features": "remote_control, videocall, chat, meeting"
},
{
"contact_id": "c123456780",
"name": "John",
"groupid": "g12345678",
"online_state": "Offline"
}]
}
3.9.2
groupid (partially required) ID of the group the contact will be added to. Either this or
groupname parameter must be set.
groupname (partially required) Name of the group that the session code will be inserted into.
Either this or the groupid parameter must be set. If no group exists with that name a new
group will be created. If both groupid and groupname are set, both have to point to the same
group. Otherwise an error is returned.
invite (optional) true: Creates an invitation if the contact does not exist.
If invite is true and a request to add a non-existing contact was made an error is returned
stating that the contact could not be added but an invitation was sent. The invitation will be
sent via email.
Return values
On success, the contact is returned with the same values as in GET /contacts.
Authentication
User access token. Scope: ContactList.Write.
Description
Adds a contact to the computers & contacts list. An error is returned if either
www.teamviewer.com
Page 49 of 60
API Functions
the contact is already present in the computers & contact list in a group owned by the current
user.
the user does not have sufficient rights to add a contact in the specified group.
Example
Request
POST /api/v1/contacts
Content-Type: application/json
{
email: [email protected],
groupid: g12345678
}
Response
HTTP/1.1 200 OK
Content-Type: application/json
{
"contact_id": "c123456780",
"name": "John Locke",
"groupid": "g12345678",
"online_state": "Offline"
}
3.9.3
Return values
HTTP status code 204 on success.
Authentication
User access token. Scope: ContactList.Delete.
Description
Deletes a contact from the computers & contacts list. An error is returned if either
a contact with the given cID does not exist in the current users computers & contact list.
the user does not have sufficient rights to remove the specified contact from a shared group.
www.teamviewer.com
Page 50 of 60
API Functions
Example
Request
DELETE /api/v1/contacts/c123456789
Response
HTTP/1.1 204 No Content
3.10 Devices
3.10.1 GET /api/v1/devices (list all devices from the computers & contacts list)
Parameters
groupid (optional) Return only devices that are in the specified group.
Return values
device_id The ID that is unique for this entry of the computers & contacts list. Values are
always prefixed with a d.
remotecontrol_id The ID that is unique to this device and can be used to start a remote
control session.
alias The alias that the current user has given to this device.
description The description that the current user has entered for this device.
online_state The current online state of the device. Possible values are: online, offline.
supported_features The features supported by the device. Possible values are: chat,
remote_control.
Authentication
User access token. Scope: ContactList.Read.
Description
Returns a list of devices in the users computers & contacts list.
The remotecontrol_id can also be used to request TeamViewer sessions (such as chat with device, send
file to device, prompt remote access, etc.) using the TeamViewer website https://start.teamviewer.com.
For more information please see Appendix A, page 59.
www.teamviewer.com
Page 51 of 60
API Functions
Example
Request
GET /api/v1/devices
Response
HTTP/1.1 200 OK
Content-Type: application/json
{
"devices": [
{
"remotecontrol_id": "r123456789",
"device_id": "d123456789",
"alias": "PC",
"groupid": "g12345678",
"online_state": "Online"
"supported_features": "remote_control, chat"
},
{
"remotecontrol_id": "r123456780",
"device_id": "d345667567",
"alias": "Laptop",
"groupid": "g12345678",
"online_state": "Offline"
"supported_features": "remote_control"
},
{
"remotecontrol_id": "r345678890",
"device_id": "d444443226",
"alias": "Office",
"groupid": "g12345678",
"online_state": "Offline"
}
]
password (optional) A password that will be used when connecting to the device.
Return values
HTTP status code 204 (No Content) on success.
Authentication
User access token. Scope: ContactList.Modify.
Description
Changes one or more values of a device.
www.teamviewer.com
Page 52 of 60
API Functions
Example
Request
PUT /api/v1/devices/d12345
Content-Type: application/json
{"description" : "Swan Terminal"}
Response
HTTP/1.1 204 No Content
password (optional) A password that will be used when connecting to the device.
Return values
On success, the device is returned with the same values as in GET /devices.
Authentication
User access token. Scope: ContactList.Write.
Description
Adds a device to the computers & contacts list. An error is returned if either
the device is already present in the computers & contact list in a group owned by the current
user.
the user does not have sufficient rights to add a device in the specified group.
Example
Request
POST /api/v1/devices
Content-Type: application/json
{
remotecontrol_id: r123456789,
groupid: g12345678,
password: 4815162342
}
www.teamviewer.com
Page 53 of 60
API Functions
Response
HTTP/1.1 200 OK
Content-Type: application/json
{
"remotecontrol_id": "r123456789",
"device_id": "d999999999",
"alias": "Laptop",
"groupid": "g12345678",
"online_state": "online"
Return values
HTTP status code 204 on success.
Authentication
User access token. Scope: ContactList.Delete.
Description
Deletes a device from the computers & contacts list. An error is returned if either
a device with the given dID does not exist in the current users computers & contact list.
the user does not have sufficient rights to remove the specified contact from a shared group.
Example
Request
DELETE /api/v1/devices/d999999999
Response
HTTP/1.1 204 No Content
www.teamviewer.com
Page 54 of 60
Errors
4 Errors
4.1
4.2
error_signature (optional) A number that we can use to find the log entry if there is one.
This should be unique for every time an error happens. The parameter may be omitted if there
was nothing logged.
internal_error There was an error while processing the request. The error was caused by
an error on our servers that should not happen and can indicate some problems at our end.
Error code and signature can be used to debug the error. Should be used with HTTP status code
500 (Internal Server Error).
blocked The request was blocked. That should only happen when the IP was blocked.
www.teamviewer.com
Page 55 of 60
Errors
rate_limit_reached Too many calls to a single function with the same access token.
email_in_use Returned during account creation or when changing the email if the email is
already used by another account.
invalid_request and invalid_token are taken from http://self-issued.info/docs/draft-ietf-oauth-v2bearer.html#resource-error-codes (with the exception that they are not included in the WWW-Authenticate header field but the returned JSON).
www.teamviewer.com
Page 56 of 60
Licensing
5 Licensing
Certain API functions require a TeamViewer license to use them. These functions are:
All other functions are available with any license and free for private use.
Without a valid license it is not possible to create private Script Tokens or grant access to public Apps that
requires any of the aforementioned functions.
www.teamviewer.com
Page 57 of 60
Contact
6 Contact
www.teamviewer.com
Page 58 of 60
Appendix A
7 Appendix A
Via the URL https://start.teamviewer.com and additional parameters, it is possible to request connections
or call up TeamViewer features. Because the features are called up via a browser, you can use this method
from any application or operating system.
In conjunction with the TeamViewer web API, this will offer easy integration of TeamViewer features into
your own application environment.
To use device related parameters, the remotecontrol_id of the device is needed. How to get
the remotecontrol_id using the API is described under section 3.10 Devices, page 51.
To use contact related parameters, the contact_id of the contact is needed. How to get the
contact_id using the API is described under section 3.9 Contacts, page 47.
Values
Default
device
<remotecontrol_id>
contact
<contact_id>
mode
control
authorization
prompt, password
7.1
Request
start.teamviewer.com/<remotecontrol_id>
start.teamviewer.com/device/<remotecontrol_id>/autho
rization/password/mode/filetransfer
www.teamviewer.com
Page 59 of 60
Appendix A
7.2
URL
Request
start.teamviewer.com/device/<remotecontrol_id>/autho
rization/password/mode/control
start.teamviewer.com/device/<remotecontrol_id>/autho
rization/password/mode/vpn
start.teamviewer.com/device/<remotecontrol_id>/mode/
chat
Chat
Request
start.teamviewer.com/contact/<contact_id>/authorizat
ion/password/mode/control
start.teamviewer.com/contact/<contact_id>/authorizat
ion/password/mode/filetransfer
start.teamviewer.com/contact/<contact_id>/authorizat
ion/password/mode/vpn
start.teamviewer.com/contact/<contact_id>/authorizat
ion/prompt/mode/present
start.teamviewer.com/contact/<contact_id>/authorizat
ion/prompt/mode/control
start.teamviewer.com/contact/<contact_id>/authorizat
ion/prompt/mode/videocall
start.teamviewer.com/contact/<contact_id>/authorizat
ion/prompt/mode/sendfile
start.teamviewer.com/contact/<contact_id>/mode/chat
Chat
Connections and chat to contacts require both sides to be logged into their TeamViewer account.
www.teamviewer.com
Page 60 of 60