Registration Server API Calls

loginuser

This call is used to test login for a particular user.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid>.

<licensereference> is optional, and is used if a default license is created for the user. This is only done if the user has no default license, and the Provider setting DEFAULT_LICENSEKEY is empty. This tag was added in version 3.6.3.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>loginuser</command>
        <requesttime></requesttime>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <password></password>
        <distributor></distributor>
        <licensereference></licensereference>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <userdata>
                <userid></userid>
                <username></username>
                <email></email>
                <reference></reference>
                <department></department>
                <language></language>
                <distributor></distributor>
                <usercreated></usercreated>
                <status></status>
                <keyrepository>true|false</keyrepository>
                <newsletter>true|false</newsletter>
                <emailbounced>true|false</emailbounced>
                <webportal>true|false</webportal>
        </userdata>
</teamdrive>

On successful login, the Registration Server returns a number of details describing the user.

Description of the <userdata> fields and values:

  • <userid>: The internal user ID of the Registration Server.
  • <username>: The user’s username. If the name has the format “$<provider-code>-<value”, then it is a so-called “magic username”. Magic usernames are allocated by the Registration Server and are invisible to the end user (see the registeruser for more details.
  • <email>: The user’s registration email address.
  • <reference>: An optional external reference which may be used to identify the user, if it is unique.
  • <department>: The name of the user’s department (optional text field).
  • <language>: The ISO 3166 language code of the user.
  • <usercreated>: The user creation date, format: “MM/DD/YYYY”.
  • <status>: Either: todelete, disabled, inactive or activated.
  • <keyrepository>: true of the user’s Key Repository is enabled.
  • <newsletter>: true if the user wishes to receive the TeamDrive newsletter.
  • <emailbounced>: true` if the user’s email address has bounced.
  • <webportal>: true if the user is permitted to access the TeamDrive Web Portal. This tag was added in version 3.6.0.

Note that if the Provider setting ALLOW_WEB_PORTAL_ACCESS is set to permit or deny, the the value returned in the <webportal> tag will reflect this setting, not the value of the user’s Web Portal Access capability bit.

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User Unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30101: Wrong password
  • -30120: Account has been deleted
  • -30119: Account is disabled
  • -30102: Account not activated by activation mail

Redirect due to user belonging to another Provider

If the Provider setting API/API_REDIRECT (see API_REDIRECT) is set for the user’s Provider, and the user is accessed by another Provider, then the Registration Server returns a -30004 exception. The <message> tag contains the URL specified by API_REDIRECT.

The caller is expected to re-direct the user to the specified Web-page. Note that this error is always retuned if API_REDIRECT is set, even if the caller is the Default Provider.

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <exception>
                <primarycode>-30004</primarycode>
                <secondarycode></secondarycode>
                <message>[URL]</message>
        </exception>
</teamdrive>

tdnslookup

This API call will do a lookup at the TeamDrive Name Service to find the Registration Server where the user or email is registered. It is usefull if a system using the API is required to communicate with more than one Registration Server.

Any Registration Server connected to the TDNS can process this API call.

This function is available since version 3.5.0.

In the case of a user name lookup, the reply includes the Registration Server name, the domain and the provider code of the user. If the user is not found the API will raise a -30100 error.

The <useroremail> can be used to search by username or email address. This tag was added in version 3.6.0.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>tdnslookup</command>
        <requesttime></requesttime>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <password></password>
        <distributor></distributor>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <regserver>
                <distributor></distributor>
                <servername></servername>
                <domain></domain>
        </regserver>
</teamdrive>

A request to lookup and email, or a username may be made using the <useroremail> tag. In this case the <username> tag must be omitted. In this case the API will return a list of Registration Servers. If the username or email is not found, the list will be empty, and <count> is set to zero.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>tdnslookup</command>
        <requesttime></requesttime>
        <useroremail></useroremail>
        <distributor></distributor>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <regserverlist>
                <count></count>
                <regserver>
                        <distributor></distributor>
                        <servername></servername>
                </regserver>
                <regserver>
                        <distributor></distributor>
                        <servername></servername>
                </regserver>
        <regserverlist>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User Unknown

searchuser

Search for a user.

Warning

This function is for internal usage only. Do not allow public access.

The user may be identified using one or more of the following tags: <username>, <email>, <reference> or <authid>.

<username> and <email> may include the “wildcard” character “*”. For example, setting <username> to “abc*” will find all users starting with “abc...”, “abc” will find all data ending with ”...abc”, and “*abc” will find all data that contains ”...abc...”.

If you search without the wildcard, the server will perform an exact match for the string. A minimum of 3 characters (excluding wildcards) is required.

The tags <distributor>`, <reference> and <authid> were added in version 3.6.0. These tags can be used in addition to or in place of other search tags. The “*” search wildcard is not recognised which searching for these values.

You can limit the search to your own users (specified by the <distributor> tag) by using <onlyownusers>true</onlyownusers>. Note that when searching by <authid> and <reference>, <distributor> will be automatically be added to the search conditions.

Note that setting <distributor> to a value other than your own Provider code is only permitted if you are the Default Provider.

To retrieve a list of all of your users, leave <username>, <email>, <reference> and <authid> empty.

Currently, the reply will contain a maximum of 50 users. This maximum value might change in the future. The current maximum value is included within the reply’s <maximum> tag.

<current> is the number of users returned in the result, and <total> is the total number of users that match the input parameters (see below for more details).

If <current> is less than <total>, there may be more records available than returned in the reply. To retrieve the next set of records, resend the same request and put the highest user ID from the last reply into the <startid> field. For the first search request you can set <startid> to 0, or omit it entirely.

If a user does not belong to the calling Provider then <email> in the reply will be empty.

The <devicelist> block in the reply is only be returned if you send <showdevice>true</showdevice> in the request.

If <showlicense> is set to true, then this function returns license data relating to the user. This includes information about the license the user has in use, and a list of licenses belonging to the user. This feature was added in version 3.5.9.

<licensereference> (version 3.5.9) is optional, and is used if a default license is created for the user. This is only done if the user has no default license, and the Provider setting DEFAULT_LICENSEKEY is empty, and <showlicense> was set to true.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>searchuser</command>
        <requesttime></requesttime>
        <username></username>
        <email></email>
        <reference></reference>
        <authid></authid>
        <startid></startid>
        <showdevice>true/false</showdevice>
        <showlicense>true/false</showlicense>
        <onlyownusers>true/false</onlyownusers>
        <licensereference></licensereference>
        <distributor></distributor>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <searchresult>
                <current></current>
                <maximum></maximum>
                <total></total>
        </searchresult>
        <userlist>
                <user>
                        <userid></userid>
                        <username></username>
                        <email></email>
                        <reference></reference>
                        <department></department>
                        <language></language>
                        <distributor></distributor>
                        <usercreated></usercreated>
                        <status></status>
                        <keyrepository>true|false</keyrepository>
                        <newsletter>true|false</newsletter>
                        <emailbounced>true|false</emailbounced>
                        <webportal>true|false</webportal>
                        <licensekey></licensekey>
                        <licensereference></licensereference>
                        <featurevalue></featurevalue>
                        <licensestatus></licensestatus>
                        <licenselist>
                                <license>
                                        <created></created>
                                        <productid></productid>
                                        <productname></productname>
                                        <type></type>
                                        <licensekey></licensekey>
                                        <licensereference></licensereference>
                                        <featurevalue></featurevalue>
                                        <featuretext></featuretext>
                                        <validuntil></validuntil>
                                        <limit></limit>
                                        <used></used>
                                        <status></status>
                                        <isdefault>true|false</isdefault>
                                        <licenseemail></licenseemail>
                                </license>
                                <license>...</license>
                                <license>...</license>
                        </licenselist>
                        <devicelist>
                                <device>
                                        <deviceid></deviceid>
                                        <status></status>
                                        <licensekey></licensekey>
                                        <licensereference></licensereference>
                                        <feature></feature>
                                        <devicecreated></devicecreated>
                                        <deviceactive></deviceactive>
                                        <version></version>
                                        <platform></platform>
                                </device>
                                <device>
                                        ...
                                </device>
                                <amount></amount>
                        </devicelist>
                </user>
                <user>
                        ...
                </user>
        </userlist>
</teamdrive>

The <searchresult> block contains statistical information about the found records:

  • <current>: The number of users in this reply. Before version 3.6.4 this returned the number of records in the reply, which counted the number of devices when <showdevice> was set to true.
  • <total>: Total number of records. If <startid> is specified then the total returned will be the total number of records after the specified user ID. Note that prior to version 3.6.4 this value was not always set correctly when <showdevice>` was set to true.
  • <maximum>: Maximum number of users the server will return in a reply. Before version 3.6.4 this specified the maximum number of device records when <showdevice> was set to true.

If no records are found, <current> and <total> will be 0. In this case, the <userlist> block will not be returned.

The tags <licensekey> (version 3.5.10), <licensereference> (version 3.6.3), <featurevalue> and <licensestatus> (version 3.5.9) returns details of the license the user has in use.

The <licenselist> block is a list of licenses belonging to the user (version 3.5.9). The <license> blocks are identical to those returned by the getlicensedata call.

The <licensekey> tag in the <license> block is new in version 3.5.10. The <number> tag was previously used to return the license key number. This tag is still present, but is deprecated and will be removed in a future version of the Registration Server.

Fields such as <userid> and <keyrepository> are identical to those returned by the loginuser call.

The <licensereference> tag was added to the <device> block in version 3.6.3.

Error Cases

Errors that may occur, include the following:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30116: Username too short or invalid email

getuserdata

Get the data associated with a user.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid>.

<licensereference> is optional, and is used if a default license is created for the user. This is only done if the user has no default license, and the Provider setting DEFAULT_LICENSEKEY is empty.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>getuserdata</command>
        <requesttime></requesttime>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <distributor></distributor>
        <licensereference></licensereference>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <userdata>
                <userid></userid>
                <username></username>
                <email></email>
                <reference></reference>
                <department></department>
                <language></language>
                <distributor></distributor>
                <usercreated></usercreated>
                <status></status>
                <keyrepository>true|false</keyrepository>
                <newsletter>true|false</newsletter>
                <emailbounced>true|false</emailbounced>
                <webportal>true|false</webportal>
        </userdata>
        <licensedata>
                <license>
                        <created></created>
                        <productid></productid>
                        <productname></productname>
                        <type></type>
                        <licensekey></licensekey>
                        <licensereference></licensereference>
                        <featurevalue></featurevalue>
                        <featuretext></featuretext>
                        <validuntil></validuntil>
                        <limit></limit>
                        <used></used>
                        <status></status>
                        <isdefault></isdefault>
                        <licenseemail></licenseemail>
                </license>
                <license>...</license>
                <license>...</license>
        </licensedata>
        <depotdata>
                <count></count>
                <depot>
                        <hosturl></hosturl>
                        <depotid></depotid>
                        <isdefault></isdefault>
                </depot>
                <depot>...</depot>
        </ depotdata>
</teamdrive>

The <license> block is identical to that returned by the getlicensedata call.

The <licensekey> tag in the <license> block is new in version 3.5.10. The <number> tag was previously used to return the license key number. This tag is still present, but is deprecated and will be removed in a future version of the Registration Server.

The <userdata> block is identical to that returned by the loginuser call.

The <depotdata> block can contain more than one depot, but only one default depot. The amount of depots for a user can be found in <count>

The valid values for <status> in <userdata> include: todelete, disabled, inactive and activated.

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User Unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: Account has been deleted
  • -30119: Account is disabled
  • -30102: Account not activated by activation mail
  • -30127: License with reference already exists

registeruser

Create a new user account.

The Provider setting API/REG_NAME_COMPLEXITY (see REG_NAME_COMPLEXITY) determines which characters may be used in the username.

The global settings ClientPasswordLength and ClientUsernameLength specify the minimum length of these values.

If <username> is not provided, or is set to $ then the email address will be used to identify the user account. As documented in USER_IDENTIFICATION_METHOD. In this case a “magic username” is generated. This value is returned in the reply to this call, and can be used to reference the user in subsequent calls.

However, you can also use the email address or the <reference> specified in the request, if it is unique.

The user will get an activation email sent to their email address. You can change this behaviour with the API_SEND_EMAIL setting.

The user’s account will be assigned to a Provider. The Provider is determined by either the IP address of the request sender or the <distributor> tag in the request. Only the Default Provider may specify a different Provider.

Since version 3.6.2 you can specify a license to assign to the newly created user, using the <licensekey> or <licensereference> tag.

The <licensereference> tag will only be used to find an existing license if the Provider setting LICENSE/EXT_LICENCE_REF_UNIQUE (see EXT_LICENCE_REF_UNIQUE) is set to True.

If <licensekey> is set, then the license must exist ot an error will be generated.

If the license does not exists, the user will be assigned the license specified by the LICENSE/DEFAULT_LICENSEKEY setting. If LICENSE/DEFAULT_LICENSEKEY is empty, then a default license will be generated with the with the features specified by LICENSE/DEFAULT_FREE_FEATURE. If <licensereference> contains a value, this will be assigned to the newly created default license.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>registeruser</command>
        <requesttime></requesttime>
        <username></username>
        <useremail></useremail>
        <password></password>
        <language></language>
        <reference></reference>
        <department></department>
        <licensekey></licensekey>
        <licensereference></licensereference>
        <distributor></distributor>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <userdata>
                <userid></userid>
                <username></username>
                <email></email>
                <reference></reference>
                <department></department>
                <language></language>
                <distributor></distributor>
                <usercreated></usercreated>
                <status></status>
                <keyrepository>true|false</keyrepository>
                <newsletter>true|false</newsletter>
                <emailbounced>true|false</emailbounced>
                <webportal>true|false</webportal>
        </userdata>
        <intresult>0</intresult>
</teamdrive>

The <userdata> block (version 3.6.0) contains details of the created users, and is identical to that returned by the loginuser call.

The <userdata> block replaces the <username> tag which was returned since version 3.5.3. The <username> tag is still returned but has been deprecated and will be removed in version 3.7.

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30108: Username invalid
  • -30109: Password invalid
  • -30110: Email invalid
  • -30103: Username already exists
  • -30104: Email already exists
  • -30127: Duplicate external reference
  • -30004: Redirect to Registration Server Download Page
  • -30201: Unknown license
  • -30211: License already owned by another user
  • -30214: License has expired
  • -30127: License with reference already exists

Redirect to Registration Server Download Page

If the user you are trying to create already exists on a remote Registration Server, then you will receive a -30004 error. The <message> is set to the download URL of the Registration Server of the user. Here the user should be able to Download a TeamDrive Client which will enable him to login as the specified user.

The caller is expected to re-direct the user to the download page provided.

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <exception>
                <primarycode>-30004</primarycode>
                <secondarycode></secondarycode>
                <message>[URL]</message>
        </exception>
</teamdrive>

resendactivation

Will resend the activation mail to the user.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid>.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>resendactivation</command>
        <requesttime></requesttime>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <distributor></distributor>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

activateuser

Activate a user.

To activate the user you have to send back the activation code in <activationcode>. This is the code that was sent to the user in the activation mail.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid>.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>activateuser</command>
        <requesttime></requesttime>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <activationcode></activationcode>
        <distributor></distributor>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

deactivateuser

Reset a user’s activation state.

This function is available since version 3.5.0.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid>.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>deactivateuser</command>
        <requesttime></requesttime>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <distributor></distributor>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User Unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: Account has been deleted
  • -30119: Account is disabled
  • -30102: Account not activated by activation mail

disableuser

Disable the user account.

This function is available since version 3.5.0.

It will not be possible for the user to access his account using the TeamDrive Client or the API anymore. The user can not re-enable the account by himself. Re-enabling the account can only be performed using the “enableuser” API function.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid>.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>disableuser</command>
        <requesttime></requesttime>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <distributor></distributor>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

enableuser

Enable a disabled user account.

This function is available since version 3.5.0.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid>.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>enableuser</command>
        <requesttime></requesttime>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <distributor></distributor>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

activateclient

Activate a TeamDrive Client installation.

If a user creates their own account using a TeamDrive Client application, they will be sent a client activation email. The activation link from that email will normally lead back to the Registration Server. However, if the link does not directly point to the Registration Server, the following API call can be used to activate the client.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>activateclient</command>
        <requesttime></requesttime>
        <activationcode></activationcode>
        <distributor></distributor>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30106: Wrong activation code
  • -30117: Activation code not found

sendpassword

This call generates a temporary password which is sent to the user via email. The temporary password needs to be provided in order to change the existing password (e.g. via the “changepassword” API request).

The user receives the same temporary password for every consecutive “sendpassword” API request or when a new request is triggered by a Client. The generated temporary password remains active and unchanged until the user’s password has been changed via the changepassword API call or via the user’s Client.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid>.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>sendpassword</command>
        <requesttime></requesttime>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <distributor></distributor>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User Unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: Account has been deleted
  • -30119: Account is disabled
  • -30102: Account not activated by activation mail

resetpassword

Resetting a user’s password will set it to a random value. This function causes all TeamDrive Clients to automatically logout.

If the user is using an external authentication service, the user is required to login again.

If the user is not using an external authentication service then user will be forced to set a new password.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid>.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>resetpassword</command>
        <requesttime></requesttime>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <distributor></distributor>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User Unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: Account has been deleted
  • -30119: Account is disabled
  • -30102: Account not activated by activation mail

changepassword

Change a user’s password.

<tmppassword> must contain the temporary password that was emailed to the after the sendpassword API call. The <password> contains the new password chosen by the user.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid>.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>changepassword</command>
        <requesttime></requesttime>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <tmppassword></tmppassword>
        <password></password>
        <distributor></distributor>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User Unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: Account has been deleted
  • -30119: Account is disabled
  • -30102: Account not activated by activation mail
  • -30105: Temporary password does not match
  • -30109: Password invalid

Error -30105 (Temporary password does not match) is returned if the last call to sendpassword (or the last request from a TeamDrive Client for a temporary password) was more than 10 minutes ago. In this case, a new temporary password must be requested.

The new password is invalid if the length is less than the global setting ClientPasswordLength.

updatepassword

Update a user password.

Note

A user should only be allowed to change their password if they have already been authenticated.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid>.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>updatepassword</command>
        <requesttime></requesttime>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <newpassword></newpassword>
        <distributor></distributor>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User Unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: Account has been deleted
  • -30119: Account is disabled
  • -30102: Account not activated by activation mail
  • -30109: Password invalid

setreference

Set the external reference for a user.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid>.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>setreference</command>
        <requesttime></requesttime>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <newreference></newreference>
        <distributor></distributor>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User Unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: Account has been deleted
  • -30119: Account is disabled
  • -30102: Account not activated by activation mail
  • -30127: User with Reference “[newreference]” already exists

The error -30127 will only be returned if the Provider setting EXT_USER_REFERENCE_UNIQUE has been set to True.

setdepartment

Set the department reference of a user.

This function is available since version 3.5.0.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid>.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <command>setdepartment</command>
        <requesttime></requesttime>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <department></department>
        <distributor></distributor>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User Unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: Account has been deleted
  • -30119: Account is disabled
  • -30102: Account not activated by activation mail

setemail

Set registration email address of a user.

This command will change the email for the user directly without sending a confirmation email to the user like the changeemail call does.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid>.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>setemail</command>
        <requesttime></requesttime>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <newemail></newemail>
        <distributor></distributor>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User Unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: Account has been deleted
  • -30119: Account is disabled
  • -30102: Account not activated by activation mail
  • -30110: Email invalid
  • -30104: Email already exists

changeemail

The call does not change the user’s registration email immediately. It first sends a confirmation email to the user with a verification link that contains an “activation code”.

Until the user has confirmed the new email address, the old email address remains active and is displayed in the TeamDrive Client.

The change of the email is confirmed with the confirmnewemail call (see below).

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid>.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>changeemail</command>
        <requesttime></requesttime>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <newemail></newemail>
        <distributor></distributor>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User Unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: Account has been deleted
  • -30119: Account is disabled
  • -30102: Account not activated by activation mail
  • -30110: Email invalid
  • -30104: Email already exists

confirmnewemail

Confirm the change of email requested by the changeemail call.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid>.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>confirmnewemail</command>
        <requesttime></requesttime>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <activationcode></activationcode>
        <distributor></distributor>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User Unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: Account has been deleted
  • -30119: Account is disabled
  • -30102: Account not activated by activation mail
  • -30106: Wrong activation code
  • -30104: Email already exists

changelanguage

Change the user’s default language.

Languages fields use valid ISO 3166 language codes (see http://en.wikipedia.org/wiki/ISO_3166-1).

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid>.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>changelanguage</command>
        <requesttime></requesttime>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <newlanguage></newlanguage>
        <distributor></distributor>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User Unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: Account has been deleted
  • -30119: Account is disabled
  • -30102: Account not activated by activation mail
  • -30115: Invalid language

removeuser

This call will delete the user account immediately (as opposed to deleteuser which requires user confirmation).

<password> is optional. If specified, it must match the user’s password. This can be used as an additional security check if required (this option is new in version 3.6.3).

Set <deletelicense> to true if you would like to delete the user’s license as well.

Set <deletedepot> to true if you would like to delete the user’s storage depot as well.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid>.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>removeuser</command>
        <requesttime></requesttime>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <password></password>
        <deletelicense>true|false</deletelicense>
        <deletedepot>true|false</deletedepot>
        <distributor></distributor>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

removedevice

This call deletes a user’s device. The ID of the device must specified in the request.

The list of devices a user posses can be retrieved using searchuser.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid>.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>removedevice</command>
        <requesttime></requesttime>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <deviceid></deviceid>
        <distributor></distributor>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

deleteuser

This call does not delete a user account immediately, instead it send a confirmation email with an “activation code”.

When the user clicks on the link, call confirmuserdelete to actually delete the account.

The removeuser call can be used to delete a user without confirmation.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid>.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>deleteuser</command>
        <requesttime></requesttime>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <distributor></distributor>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

confirmuserdelete

Complete the deletion of a user account that was initiated by the deleteuser call.

The <activationcode> is the “activation code” sent to the user in the email sent by the deleteuser call.

<password> is optional since version 3.5.2. If specified, it must match the user’s password. This can be used as an additional security check if required.

Set <deletelicense> to true if you would like to delete the user’s license as well.

Set <deletedepot> to true if you would like to delete the user’s storage depot as well.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid>.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>confirmuserdelete</command>
        <requesttime></requesttime>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <password></password>
        <activationcode></activationcode>
        <deletedepot>true|false</deletedepot>
        <deletelicense>true|false</deletelicense>
        <distributor></distributor>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

getlicensedata

Get license data for a user.

This call also returns deleted licenses.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid>.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>getlicensedata</command>
        <requesttime></requesttime>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <distributor></distributor>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <licensedata>
                <license>
                        <created></created>
                        <productid></productid>
                        <productname></productname>
                        <type></type>
                        <licensekey></licensekey>
                        <licensereference></licensereference>
                        <featurevalue></featurevalue>
                        <featuretext></featuretext>
                        <validuntil></validuntil>
                        <limit></limit>
                        <used></used>
                        <status></status>
                        <isdefault>true|false</isdefault>
                        <licenseemail></licenseemail>
                </license>
                <license>...</license>
                <license>...</license>
        </licensedata>
</teamdrive>

The <licensekey> tag in the <license> block is new in version 3.5.10. The <number> tag was previously used to return the license key number. This tag is still present, but is deprecated and will be removed in a future version of the Registration Server.

Description of the fields and values:

  • <created>: The creation date, format: “MM/DD/YYYY”.
  • <productid>: Either “1” or “2” (depending on <productname>).
  • <productname>: Either client (1) or server (2).
  • <type>: 0 = permanent, 1 = monthly payment, 2 = nfr (not for resale), 3 = yearly payment, 4 = one-off-trial, 5 = 1-year-professional.
  • <licensekey>: The license key number (previously <number>).
  • <featurevalue>: Sum of the numbers as described in <featuretext>
  • <featuretext>: A combination of: banner (1), webdavs (2), personal (4), professional (8), restricted (16) and secureoffice (32).
  • <validuntil>: The license expiry date, format: “MM/DD/YYYY”.
  • <limit>: The maximum number of users.
  • <used>: The current usage count.
  • <status>: Either enabled, disabled or deleted
  • <isdefault>: Set to true if this is the user’s default license. The default license of a user is the one used when the current license of the user expires or is otherwise invalid.
  • <licensereference>: An opitonal external reference that may be used to identify the license.
  • <licenseemail>: The email address associated with the license.

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User Unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: Account has been deleted
  • -30119: Account is disabled
  • -30102: Account not activated by activation mail
  • -30201: Unknown license

getdefaultlicense

Get the default license of a user. If the default license does not exists, it is created and <licensereference is assigned to the newly created license.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid>.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>getdefaultlicense</command>
        <requesttime></requesttime>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <distributor></distributor>
        <licensereference></licensereference>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <licensedata>
                <license>
                        <created></created>
                        <productid></productid>
                        <productname></productname>
                        <type></type>
                        <licensekey></licensekey>
                        <licensereference></licensereference>
                        <featurevalue></featurevalue>
                        <featuretext></featuretext>
                        <validuntil></validuntil>
                        <limit></limit>
                        <used></used>
                        <status></status>
                        <isdefault></isdefault>
                        <licenseemail></licenseemail>
                </license>
        </licensedata>
</teamdrive>

The <license> block is identical to that returned by the getlicensedata call.

The <licensekey> tag in the <license> block is new in version 3.5.10. The <number> tag was previously used to return the license key number. This tag is still present, but is deprecated and will be removed in a future version of the Registration Server.

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User Unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: Account has been deleted
  • -30119: Account is disabled
  • -30102: Account not activated by activation mail

getdefaultdepotdata

Get default depot information of a user.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid>.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>getdefaultdepotdata</command>
        <requesttime></requesttime>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <distributor></distributor>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <depotdata>
                <count></count>
                <depot>
                        <hosturl></hosturl>
                        <depotid></depotid>
                        <isdefault>true</isdefault>
                </depot>
        </depotdata>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User Unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: Account has been deleted
  • -30119: Account is disabled
  • -30102: Account not activated by activation mail
  • -30107: No default depot

gethostfordepot

This call returns the URL of the current default Host Server that is selected for creating Depots via the API.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>gethostfordepot</command>
        <requesttime></requesttime>
        <distributor></distributor>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <hosturl></hosturl>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30107: No default depot server

setdepotforuser

Set the Depot of a user.

<sendtoclient> is an optional parameter. When set to true this call also performs the sendinvitation function as described below.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>setdepotforuser</command>
        <requesttime></requesttime>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <distributor></distributor>
        <depot></depot>
        <isdefault>true|false</isdefault>
        <sendtoclient>true|false</sendtoclient>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User Unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: Account has been deleted
  • -30119: Account is disabled
  • -30102: Account not activated by activation mail
  • -30307: Depot already exists

removedepotfromuser

Remove the Depot from user.

If the deleted depot is the default depot of the user and the user still has other depots, then the oldest depot becomes the default depot.

The depot is either identified by the <depot> tag, or by the <hosturl> and <depotid> tags. The <depot> tag has the same content as specified in the setdepotforuser API call.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid>.

<sendtoclient> is an optional parameter. When set to true this call also performs the sendinvitation function as described below.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>removedepotfromuser</command>
        <requesttime></requesttime>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <distributor></distributor>
        <depot></depot>
        <hosturl></hosturl>
        <depotid></depotid>
        <sendtoclient>true|false</sendtoclient>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User Unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: Account has been deleted
  • -30119: Account is disabled
  • -30102: Account not activated by activation mail
  • -30307: Depot already exists
  • -30123: Depot data missing or invalid
  • -30124: Depot not found

sendinvitation

This call sends an invitation message on all TeamDrive Client installations belonging to a user. It can be used to distribute or delete a company depot.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid>.

The contents of the invitation must be base64 encoded and placed in the <invitation> tag.

The <type> tag may be set to either INV_TYPE_CREATEDEPOT or INV_TYPE_DELETEDEPOT

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>sendinvitation</command>
        <requesttime></requesttime>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <userlist></userlist>
        <type></type>
        <invitation></invitation>
        <distributor></distributor>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User Unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: Account has been deleted
  • -30119: Account is disabled
  • -30102: Account not activated by activation mail
  • -30111: Invitation type unknown

setinviteduser

This function is used in the context of the referral program. (see REFERRAL Settings). It specifies that <inviteduser> was invited by the user identified by one of the following tags: <username>, <useroremail>, <reference> or <authid>.

<inviteduser> must be a username.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>setinviteduser</command>
        <requesttime></requesttime>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <inviteduser></inviteduser>
        <sendmail>true|false</sendmail>
        <distributor></distributor>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User Unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: Account has been deleted
  • -30119: Account is disabled
  • -30102: Account not activated by activation mail
  • -30108: Invited user can not be found
  • -30209: Increase user storage failed

createlicense

Create a license. The specified user becomes the owner of the license.

If the user has no default license, then the created license will be set to the default license.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid>.

Other input parameters to the call are as follows:

  • <productname>: May be either server or client. Should always be set to client.
  • <type>: Either permanent, monthly, yearly or nfr (not for resale). one-off-trial and 1-year-professional cannot be set via the API.
  • <featurevalue>: A comma separated list of the following values: webdavs, personal, professional, restricted, banner, secureoffice and agent. Since version 3.6.3 the integer values of the features added together may be specified in place of the text values.
  • <limit>: The number of users that may use the license, “0000” mean unlimited, but may only be used with server type licenses.
  • <licensereference>: An optional external reference (free text field with 100 characters) that can be use to identify the license at a later point.
  • <contractnumber>: An optional value which may contain any external data relavent to the license (free text field with 255 characters).
  • <validuntil>: This specifies an expiry date for the license, the date format used is “YYYY-MM-DD” (“MM/DD/YYYY” will also be accepted).
  • <changeid>: An optional text which will be recorded in the change history of the license.
  • <sendmail>: Specifies whether the Provider should be notified via email of the license change (default false).

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>createlicense</command>
        <requesttime></requesttime>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <productname></productname>
        <type></type>
        <featurevalue></featurevalue>
        <limit></limit>
        <licensereference></licensereference>
        <contractnumber></contractnumber>
        <validuntil></validuntil>
        <changeid></changeid>
        <sendmail>true|false</sendmail>
        <distributor></distributor>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <licensedata>
                <licensekey></licensekey>
        </licensedata>
        <intresult>0</intresult>
</teamdrive>

The <licensekey> tag in the <licensedata> block is new in version 3.5.10. The <number> tag was previously used to return the license key number. This tag is still present, but is deprecated and will be removed in a future version of the Registration Server.

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User Unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: Account has been deleted
  • -30119: Account is disabled
  • -30102: Account not activated by activation mail
  • -30203: Productname unknown
  • -30204: Type unknown
  • -30205: Feature unknown
  • -30206: Limit unknown or invalid
  • -30122: Invalid date
  • -30125: License creation of the given type is not permitted
  • -30127: License with reference already exists

Error -30125 is generated if <type> is one-off-trial or 1-year-professional.

createlicensewithoutuser

This call is similar to the createlicense call but without setting an owner of the license. This function can be useful if the user is not known at the time of license creation.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>createlicensewithoutuser</command>
        <requesttime></requesttime>
        <productname></productname>
        <type></type>
        <featurevalue></featurevalue>
        <limit></limit>
        <licensereference></licensereference>
        <email></email>
        <contractnumber></contractnumber>
        <validuntil></validuntil>
        <changeid></changeid>
        <sendmail>true|false</sendmail>
        <distributor></distributor>
</teamdrive>

Reply and errors identical to createlicense.

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30203: Productname unknown
  • -30204: Type unknown
  • -30205: Feature unknown
  • -30206: Limit unknown or invalid
  • -30122: Invalid date
  • -30125: License creation of the given type is not permitted
  • -30127: License with reference already exists

assignusertolicense

This call sets the owner of a license. If it is the first license to be owned by the user, then it is set to the default license of the user.

Note

This function does not set the license used by the user. This is done using assignlicensetoclient.

If createlicensewithoutuser was used, then this call can be used to specify the owner of the license.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid>.

The license is specified using <licensekey> (<licensenumber> before version 3.5.10) or <licensereference> (as of version 3.6.0).

The <changeid> tag is an optional text that will be recorded in the change history of the license.

The <sendmail> tag specifies whether the Provider should be notified via email of the license change (default false).

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>assignusertolicense</command>
        <requesttime></requesttime>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <licensekey></licensekey>
        <licensereference></licensereference>
        <changeid></changeid>
        <sendmail>true|false</sendmail>
        <distributor></distributor>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User Unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: Account has been deleted
  • -30119: Account is disabled
  • -30102: Account not activated by activation mail
  • -30201: Unknown license
  • -30213: License deleted
  • -30211: License already owned by another user

assignlicensetoclient

This call sets the license used by a user. The license need not belong to the user.

Note

This function does not set the owner of the license. This can be done using the assignusertolicense call.

Since version 3.6.0 a license can be assigned to a user even when the user has no TeamDrive Client installations.

The <devicelist> tag was removed in version 3.6.0, and will be ignored.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid>.

The license is specified using <licensekey> (<licensenumber> before version 3.5.10) or <licensereference> (as of version 3.6.0).

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>assignlicensetoclient</command>
        <requesttime></requesttime>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <licensekey></licensekey>
        <licensereference></licensereference>
        <distributor></distributor>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User Unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: Account has been deleted
  • -30119: Account is disabled
  • -30102: Account not activated by activation mail
  • -30201: Unknown license
  • -30213: License deleted
  • -30211: License already owned by another user
  • -30214: License has expired

removeuserfromlicense

Call this function to remove the owner of a license. This is the complement to the assignusertolicense call which sets the owner of a license.

Note

This call does not change the license usage.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid>.

Specifying a user is optional in version 3.6.3. If specified, then the user must be the owner of the license or a -30201 error wil be returned. Note that ownership is not checked prior to version 3.6.3.

The license is specified using <licensekey> (<licensenumber> before version 3.5.10) or <licensereference> (as of version 3.6.0).

The <changeid> tag is an optional text that will be recorded in the change history of the license.

The <sendmail> tag specifies whether the Provider should be notified via email of the license change (default false).

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>removeuserfromlicense</command>
        <requesttime></requesttime>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <licensekey></licensekey>
        <licensereference></licensereference>
        <changeid></changeid>
        <sendmail>true|false</sendmail>
        <distributor></distributor>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User Unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: Account has been deleted
  • -30119: Account is disabled
  • -30102: Account not activated by activation mail
  • -30201: Unknown license

deactivatelicense

Deactivate a license specified by <licensekey> (<licensenumber> before version 3.5.10) or <licensereference> (as of version 3.6.0).

If the license is already deactivated, this call will be ignored (version 3.6.3).

The <changeid> tag is an optional text that will be recorded in the change history of the license.

The <sendmail> tag specifies whether the Provider should be notified via email of the license change (default false).

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>deactivatelicense</command>
        <requesttime></requesttime>
        <licensekey></licensekey>
        <licensereference></licensereference>
        <changeid></changeid>
        <sendmail>true|false</sendmail>
        <distributor></distributor>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Errors returned by this call include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30201: Unknown license
  • -30213: License deleted

Error -30210, is no longer returned by version 3.6.3.

activatelicense

Activate a license specified by <licensekey> (<licensenumber> before version 3.5.10) or <licensereference> (as of version 3.6.0).

If the license is not deactivated, this call will be ignored (version 3.6.3).

The <changeid> tag is an optional text that will be recorded in the change history of the license.

The <sendmail> tag specifies whether the Provider should be notified via email of the license change (default false).

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>activatelicense</command>
        <requesttime></requesttime>
        <licensekey></licensekey>
        <licensereference></licensereference>
        <changeid></changeid>
        <sendmail>true|false</sendmail>
        <distributor></distributor>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Errors returned by this call include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30201: Unknown license
  • -30213: License deleted

Error -30210, is no longer returned by version 3.6.3.

deletelicense

Delete a license specified by <licensekey> (<licensenumber> before version 3.5.10) or <licensereference> (as of version 3.6.0).

This function is available since version 3.5.0.

The <changeid> tag is an optional text that will be recorded in the change history of the license.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>deletelicense</command>
        <requesttime></requesttime>
        <licensekey></licensekey>
        <licensereference></licensereference>
        <changeid></changeid>
        <distributor></distributor>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30201: Unknown license
  • -30213: License deleted

upgradelicense

Upgrade a license specified using <licensekey> (<licensenumber> before version 3.5.10) or <licensereference> (as of version 3.6.0).

A user may be identified using one of the following tags: <username>, <useroremail>, <reference> or <authid>.

Specifying a user is optional.

The <changeid> tag is an optional text that will be recorded in the change history of the license.

The <sendmail> tag specifies whether the Provider should be notified via email of the license change (default false).

The <featurevalue> tag is optional. If specified the features are added to the license.

<featurevalue> is a comma separated list of the following values: webdavs, personal, professional, restricted, banner, secureoffice and agent. Since version 3.6.3 the integer values of the features added together may be specified in place of the text values.

The <limit> tag is optional. If specified the usage limit of the license is increased by the given amount.

The <changeid> tag is an optional text that will be recorded in the change history of the license.

The <sendmail> tag specifies whether the Provider should be notified via email of the license change (default false).

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>upgradelicense</command>
        <requesttime></requesttime>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <licensekey></licensekey>
        <licensereference></licensereference>
        <featurevalue></featurevalue>
        <limit></limit>
        <changeid></changeid>
        <sendmail>true|false</sendmail>
        <distributor></distributor>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User Unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: Account has been deleted
  • -30119: Account is disabled
  • -30102: Account not activated by activation mail
  • -30201: Unknown license
  • -30213: License deleted
  • -30205: Feature unknown
  • -30206: Limit unknown or invalid
  • -30202: License upgrade failed

The -30202 should not occur because it is the result of an internal Registration Server error.

upgradedefaultlicense

Upgrade the feature set of a default license.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid>.

The <featurevalue> tag is optional. If specified the features are added to the license.

<featurevalue> is a comma separated list of the following values: webdavs, personal, professional, restricted, banner, secureoffice and agent. The integer values of the features added together may be specified in place of the text values.

The <changeid> tag is an optional text that will be recorded in the change history of the license.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>upgradedefaultlicense</command>
        <requesttime></requesttime>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <featurevalue></featurevalue>
        <changeid></changeid>
        <distributor></distributor>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User Unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: Account has been deleted
  • -30119: Account is disabled
  • -30102: Account not activated by activation mail
  • -30201: Unknown license
  • -30213: License deleted
  • -30205: Feature unknown

downgradelicense

Downgrade a license.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid>.

Specifying a user is optional.

The license is specified using <licensekey> (<licensenumber> before version 3.5.10) or <licensereference> (as of version 3.6.0).

The <featurevalue> tag is optional. If specified the features are removed from the license.

<featurevalue> is a comma separated list of the following values: webdavs, personal, professional, restricted, banner, secureoffice and agent. Since version 3.6.3 the integer values of the features added together may be specified in place of the text values.

The <decreaselimit> tag is optional. If specified the usage limit of the license is decreased by the given amount.

<forcedecrease> is optional, the default value is false. If false the downgrade may faile because the license usage will exceed the new usage limit (see error -30208 below).

If <forcedecrease>``is  set to ``true, then users using the license will be removed from the license, so that downgrad is possible. Removing the license from a users will begin with the oldest active user. This will only be done as far as it is required to ensur that the usage limit of the license is not exceeded.

The <changeid> tag is an optional text that will be recorded in the change history of the license.

The <sendmail> tag specifies whether the Provider should be notified via email of the license change (default false).

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>downgradelicense</command>
        <requesttime></requesttime>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <licensekey></licensekey>
        <licensereference></licensereference>
        <featurevalue></featurevalue>
        <decreaselimit></decreaselimit>
        <forcedecrease>true|false</forcedecrease>
        <changeid></changeid>
        <sendmail>true|false</sendmail>
        <distributor></distributor>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User Unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: Account has been deleted
  • -30119: Account is disabled
  • -30102: Account not activated by activation mail
  • -30201: Unknown license
  • -30213: License deleted
  • -30205: Feature unknown
  • -30206: Limit unknown or invalid
  • -30208: Downgrade not possible

The error -30206 occurs if the <decreaselimit> value causes an invalid usage limit for the license.

The -30208 error can occur if the downgrade is not forced (<forcedecrease>) and the number of users will exceed the usage limit.

downgradedefaultlicense

Downgrade the default license of a user.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid>.

The <featurevalue> tag is optional. If specified the features are removed from the license.

<featurevalue> is a comma separated list of the following values: webdavs, personal, professional, restricted, banner, secureoffice and agent. The integer values of the features added together may be specified in place of the text values.

The <changeid> tag is an optional text that will be recorded in the change history of the license.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>downgradedefaultlicense</command>
        <requesttime></requesttime>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <featurevalue></featurevalue>
        <changeid></changeid>
        <distributor></distributor>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User Unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: Account has been deleted
  • -30119: Account is disabled
  • -30102: Account not activated by activation mail
  • -30201: Unknown license
  • -30213: License deleted
  • -30205: Feature unknown

getusedlicense

Get a list of licenses. You must either specify a user or a license, or both.

If a user is specified, this function will return a list of licenses belonging to the user. If a license is specified, the the result will be limited to the specified license.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid>.

A license is specified using <licensekey> (<licensenumber> before version 3.5.10) or <licensereference> (as of version 3.6.0).

This call also returns deleted licenses.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>getusedlicense</command>
        <requesttime></requesttime>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <licensekey></licensekey>
        <licensereference></licensereference>
        <distributor></distributor>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <licensedata>
                <license>
                        <licensekey></licensekey>
                        <licensereference></licensereference>
                        <used></used>
                        <limit></limit>
                        <userlist></userlist>
                        <status></status>
                </license>
                <license>...</license>
                <license>...</license>
        </licensedata>
</teamdrive>

<userlist> is a comma separated list of usernames of the users that are using the license.

The <licensekey> tag in the <license> block is new in version 3.5.10. The <number> tag was previously used to return the license key number. This tag is still present, but is deprecated and will be removed in a future version of the Registration Server.

The <licensereference> tag returned in the <license> block is new in version 3.6.3.

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User Unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: Account has been deleted
  • -30119: Account is disabled
  • -30102: Account not activated by activation mail
  • -30201: No license data found

Note that this function will never return an empty list. If no license data is found the -30201 error is generated.

setlicensereference

Set the license reference of the license specified by <licensekey> (<licensenumber> before version 3.5.10) or <licensereference> (as of version 3.6.0).

<newlicensereference> specifies the new license (version 3.6.3).

If <newlicensereference> is missing, then the new reference is specified by <licensereference> and <licensekey> must be used to identify the license.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>setlicensereference</command>
        <requesttime></requesttime>
        <licensekey></licensekey>
        <licensereference></licensereference>
        <newlicensereference></newlicensereference>
        <distributor></distributor>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30201: Unknown license
  • -30213: License deleted
  • -30127: License with Reference, [newlicensereference], already exists

removelicense

This call removes the license in use by the user. It undoes the work done by the assignlicensetoclient call.

To remove a license you must be the Provider of the user, or of the license to be removed.

An attempt to remove a user’s default license is ignored. If the license is not in use by the user this function will also be ignored.

When a license is removed, the user’s license is set to the default license for that user. This may either be a default license created specifically for the user, or a default license specified for all users of a Provider (see DEFAULT_LICENSEKEY).

The user is specified by either <username>, <useroremail>, <reference> or <authid>.

The license is specified by <licensekey> or <licensereference>.

The <devicelist> tag was removed in version 3.6.0, and will be ignored.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>removelicense</command>
        <requesttime></requesttime>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <licensekey></licensekey>
        <licensereference></licensereference>
        <distributor></distributor>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Errors returned by this call include:

cancellicense

Deactivate a license and reduce the number the license usage limit. Use the deletelicense call to actually delete the license.

Previous to version 3.5.0, this function deleted the license.

The <decreaselimit> specifies the amount by which the license usage limit should be reduced. If this value should be set to “0” in order for the license to be actually deactivated.

If <decreaselimit> is set to a positive value, the license is not deactivated and the function behaves like the downgradelicense call, with <forcedecrease> set to false.

If a user is specified, then the license must belong to the specified user.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid>.

The license is specified using <licensekey> (<licensenumber> before version 3.5.10) or <licensereference> (as of version 3.6.0).

The <changeid> tag is an optional text that will be recorded in the change history of the license.

The <sendmail> tag specifies whether the Provider should be notified via email of the license change (default false).

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>cancellicense</command>
        <requesttime></requesttime>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <licensekey></licensekey>
        <licensereference></licensereference>
        <decreaselimit></decreaselimit>
        <changeid></changeid>
        <sendmail>true|false</sendmail>
        <distributor></distributor>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User Unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: Account has been deleted
  • -30119: Account is disabled
  • -30102: Account not activated by activation mail
  • -30201: Unknown license
  • -30213: License deleted
  • -30205: Feature unknown
  • -30206: Limit unknown or invalid
  • -30207: Cancel license failed

The error -30207 is generated if usage limit of the license is to be set below the current usage of the license.

setdistributor

Set the Provider of a user.

This function can currently only be accessed by the Default Provider.

The <newdistributor> tag specifies the new Provider of the user.

<licensereference> is used if a new license must be created after the user’s Provider has been changed.

Note that prior to version 3.5.2 this function could not handle more that one Depot, in case <switchdepot> was set to true.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>setdistributor</command>
        <requesttime></requesttime>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <distributor></distributor>
        <newdistributor></newdistributor>
        <switchdepot>true|false</switchdepot>
        <switchlicense>true|false</switchlicense>
        <licensereference></licensereference>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User Unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: Account has been deleted
  • -30119: Account is disabled
  • -30102: Account not activated by activation mail
  • -30127: License with reference already exists

setcapability

Add or remove user capabilities.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid>.

<action> must be set to either set or unset.

<capability> may be one of the following: keyrepository, newsletter, mailbounced or webportal.

The webportal setting was added in version 3.6.0.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>setcapability</command>
        <requesttime></requesttime>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <distributor></distributor>
        <action>set|unset</action>
        <capability></capability>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User Unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: Account has been deleted
  • -30119: Account is disabled
  • -30102: Account not activated by activation mail
  • -30125: Action must be set or unset
  • -30204: Unknown capability

wipedevice

Wipe a user device. All TeamDrive data will be removed from the Device.

Note

This operation is permanent and cannot be undone.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid>.

<devicelist> is an optional list of device IDs of the user. If empty, all devices of the user will be wiped.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>wipedevice</command>
        <requesttime></requesttime>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <distributor></distributor>
        <devicelist></devicelist>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User Unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: Account has been deleted
  • -30119: Account is disabled
  • -30102: Account not activated by activation mail

setlicensecontract

Set license contract value of a license.

The license is specified using <licensekey> (<licensenumber> before version 3.5.10) or <licensereference> (as of version 3.6.0).

The <changeid> tag is an optional text that will be recorded in the change history of the license.

The <sendmail> tag specifies whether the Provider should be notified via email of the license change (default false).

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>setlicensecontract</command>
        <requesttime></requesttime>
        <licensekey></licensekey>
        <licensereference></licensereference>
        <distributor></distributor>
        <contractnumber></contractnumber>
        <changeid></changeid>
        <sendmail>true|false</sendmail>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30201: Unknown license
  • -30213: License deleted

setlicenseemail

Set the email address of the holder of the license.

The license is specified using <licensekey> (<licensenumber> before version 3.5.10) or <licensereference> (as of version 3.6.0).

The <changeid> tag is an optional text that will be recorded in the change history of the license.

The <sendmail> tag specifies whether the Provider should be notified via email of the license change (default false).

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>setlicenseemail</command>
        <requesttime></requesttime>
        <licensekey></licensekey>
        <licensereference></licensereference>
        <distributor></distributor>
        <email></email>
        <changeid></changeid>
        <sendmail>true|false</sendmail>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30201: Unknown license
  • -30213: License deleted
  • -30110: Email invalid

setlicenselanguage

Set the language of the license holder.

The license is specified using <licensekey> (<licensenumber> before version 3.5.10) or <licensereference> (as of version 3.6.0).

The <changeid> tag is an optional text that will be recorded in the change history of the license.

The <sendmail> tag specifies whether the Provider should be notified via email of the license change (default false).

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>setlicenselanguage</command>
        <requesttime></requesttime>
        <licensekey></licensekey>
        <licensereference></licensereference>
        <distributor></distributor>
        <language></language>
        <changeid></changeid>
        <sendmail>true|false</sendmail>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30201: Unknown license
  • -30213: License deleted
  • -30115: Invalid language

setlicensetype

Set the type of a license.

The license is specified using <licensekey> (<licensenumber> before version 3.5.10) or <licensereference> (as of version 3.6.0).

The <type> tag may be set to one of the following: permanent, monthly, yearly or nfr (not for resale). one-off-trial and 1-year-professional cannot be set via the API.

The <changeid> tag is an optional text that will be recorded in the change history of the license.

The <sendmail> tag specifies whether the Provider should be notified via email of the license change (default false).

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>setlicensetype</command>
        <requesttime></requesttime>
        <licensekey></licensekey>
        <licensereference></licensereference>
        <distributor></distributor>
        <type></type>
        <changeid></changeid>
        <sendmail>true|false</sendmail>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30201: Unknown license
  • -30213: License deleted
  • -30204: Type unknown
  • -30125: License creation of the given type is not permitted

Error -30125 is generated if <type> is one-off-trial or 1-year-professional.

setlicensevaliduntil

Set a license expiry date.

The license is specified using <licensekey> (<licensenumber> before version 3.5.10) or <licensereference> (as of version 3.6.0).

The <validuntil> tag must be set to a valid date in the future. the date format used is “YYYY-MM-DD” (“MM/DD/YYYY” will also be accepted).

Set <validuntil> to remove if you want to remove the expiry date.

The <changeid> tag is an optional text that will be recorded in the change history of the license.

The <sendmail> tag specifies whether the Provider should be notified via email of the license change (default false).

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>setlicensevaliduntil</command>
        <requesttime></requesttime>
        <licensekey></licensekey>
        <licensereference></licensereference>
        <distributor></distributor>
        <validuntil></validuntil>
        <changeid></changeid>
        <sendmail>true|false</sendmail>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30201: Unknown license
  • -30213: License deleted
  • -30122: Invalid date

resetlicensepassword

This call resets the password of a license and sends an email using the template “web-newlicensepassword” with a temporary password to the license holder email.

The license is specified using <licensekey> (<licensenumber> before version 3.5.10) or <licensereference> (as of version 3.6.0).

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>resetlicensepassword</command>
        <requesttime></requesttime>
        <licensekey></licensekey>
        <licensereference></licensereference>
        <distributor></distributor>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30201: Unknown license
  • -30213: License deleted

setlicensepassword

This call sets a new password for a license.

The license is specified using <licensekey> (<licensenumber> before version 3.5.10) or <licensereference> (as of version 3.6.0).

The <tmppassword> tag must be set to the temporary password sent by the resetlicensepassword call.

<password> is set to the new password.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>setlicensepassword</command>
        <requesttime></requesttime>
        <licensekey></licensekey>
        <licensereference></licensereference>
        <tmppassword></tmppassword>
        <password></password>
        <distributor></distributor>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30201: Unknown license
  • -30213: License deleted
  • -30101: Wrong or invalid password

changelicensepassword

This call changes the password of a license (available since version 3.5.1).

The license is specified using <licensekey> (<licensenumber> before version 3.5.10) or <licensereference> (as of version 3.6.0).

The <password> tag must be set to the current password of the license. <newpassword> is set to the new password.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>changelicensepassword</command>
        <requesttime></requesttime>
        <licensekey></licensekey>
        <licensereference></licensereference>
        <password></password>
        <newpassword></newpassword>
        <distributor></distributor>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30201: Unknown license
  • -30213: License deleted
  • -30101: Wrong or invalid password

sendtemplatemail

Send a template based email to a user or other recipient.

This API call is available since version 3.6.0.

A user may be identified by on one of the following tags: <username>, <useroremail>, <reference> or <authid>. Specifying the user in this manner is optional.

Alternatively, you can specify the recipient email address using the <recipient> tag. <recipient> may also be set to support to send an email to the user specified by the SUPPORT_EMAIL Provider setting (see SUPPORT_EMAIL).

<template> specifies the name of a standard email template.

<language> is optional, if not specified, the language of the user or Provider will by used.

Set <sender> to the email address of the sender or user to indicate that the user or Provider’s email address should be specified as the sender of the email.

Set the <test> tag to true in order to test certain standard templates. The default is false.

<fields> specifies a list of custom fields for the email template. The values listed here replace the associated field values in the email template. For example, the value in the <contact-person> tag will replace the [[CONTACT-PERSON]] field in the email template.

These values override any values that have been retrieved for a user or Provider.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>sendtemplatemail</command>
        <requesttime></requesttime>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <distributor></distributor>
        <template></template>
        <language></language>
        <sender></sender>
        <recipient></recipient>
        <test>true|false</test>
        <fields>
                <os></os>
                <version></version>
                <license-type></license-type>
                <device-name></device-name>
                <usb></usb>
                <registration-email></registration-email>
                <contact-person></contact-person>
                <contact-email></contact-email>
                <contact-tel></contact-tel>
                <description></description>
                ...
        </fields>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Error results include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User Unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: Account has been deleted
  • -30119: Account is disabled
  • -30102: Account not activated by activation mail
  • -30216: Template not found: [template]
  • -30110: Provider setting <recipient>_EMAIL is not specified
  • -30110: No email address specified