Registration Server API Calls

Changes to API release 1.0.003:

The <distributor> tag was added to API release 1.0.003. The value is optional, but must be used if more than one provider exists and the admin console will be used or own API requests will be send from one IP address to access diffent provider (for details see explanation in API Settings). The API setting (see APIAllowSettingDistributor) must be enabled to allow setting the provider.

Changes to API for Registration Server release 3.5.10:

The <licensekey> tag should be uses in place of <licensenumber> in calls that accept this as an input paramater, or generate this as an output parameter. <licensenumber> will still be accepted, but has been deprecated and will be removed in Registration Server version 3.7.

Login

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <command>loginuser</command>
        <requesttime></requesttime>
        <username></username>
        <password></password>
        <distributor></distributor>
</teamdrive>

Changes to API release 1.0.003:

For release 1.0.003: <useroremail> instead of <username> will be accepted

Changes to API release 1.0.007:

<reference> may be used in place of <username> to specify the user.

Reply:

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

Changes to API release 1.0.003:

  • <invitecode> is no longer returned.
  • <reference> and <department> were added.

Changes to API release 1.0.006:

  • <distributor> was added.
  • <status> was added. Valid status flags include todelete, disabled, inactive or activated.
  • <userid> was added.

Error Cases

User Unknown

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30100</primarycode>
                <secondarycode></secondarycode>
                <message>Username does not exists</message>
        </exception>
</teamdrive>

Wrong Password

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30101</primarycode>
                <secondarycode></secondarycode>
                <message>Wrong password</message>
        </exception>
</teamdrive>

Account not Activated

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30102</primarycode>
                <secondarycode></secondarycode>
                <message>Account not Activated by activation mail</message>
        </exception>
</teamdrive>

Account Disabled (added in 1.0.003)

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30119</primarycode>
                <secondarycode></secondarycode>
                <message>Account is disabled</message>
        </exception>
</teamdrive>

Account in Deletion (added in 1.0.003)

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30120</primarycode>
                <secondarycode></secondarycode>
                <message>Account will be deleted by the user</message>
        </exception>
</teamdrive>

Redirect to the Website of the Distributor

Users who try to login to the TeamDrive website will be redirected to the website of the distributor. The XML answer will return the URL in the <message> tag. You have to redirect the user to that URL.

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <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.

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 (USER_UNKNOWN) error.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <command>tdnslookup</command>
        <requesttime></requesttime>
        <username></username>
</teamdrive>

Changes to API release 1.0.007:

<reference> may be used in place of <username> to specify the user.

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <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>
        <apiversion>1.0.007</apiversion>
        <command>tdnslookup</command>
        <requesttime></requesttime>
        <useroremail></useroremail>
</teamdrive>

Reply:

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

Error Cases

User Unknown

See above

Search user

Warning

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

You can perform a wildcard search using ‘*’, e.g. ‘Teamdrive*’ will find all data starting with ‘Teamdrive...’, ‘*Teamdrive’ will find all data ending with ‘...Teamdrive’, and ‘*Teamdrive*’ will find all data that contains ‘...Teamdrive...’. You can search by Username, Email, or both. If you search by both, the fields will be combined with an AND.

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

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>, <distributor> will be automatically be added to the search conditions.

To retrieve a list of all of your users, leave username and email empty.

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

If <current> == <maximum>, 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 your distributor their email-field will be empty.

The <devicelist> block will only be returned if you send <showdevice>true</showdevice> in your request. The <amount> field (under <devicelist> ) holds the number of devices that will be returned for this user. If the user has no TeamDrive client installations, this value will be 0.

In <searchresult> you will find statistical information about the found records:

<current>
Amount of records in this reply
<total>
Total amount of records
<maximum>
Maximum amount of records the server will return in a reply

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

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <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>
        <apiversion>1.0.007</apiversion>
        <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></keyrepository>
                        <newsletter></newsletter>
                        <emailbounced></emailbounced>
                        <webportal></webportal>
                        <licensekey></licensekey>
                        <featurevalue></featurevalue>
                        <licensestatus></licensestatus>
                        <licenselist>
                                <license>
                                        <created></created>
                                        <productid></productid>
                                        <productname></productname>
                                        <type></type>
                                        <licensekey></licensekey>
                                        <number></number>
                                        <featurevalue></featurevalue>
                                        <featuretext></featuretext>
                                        <validuntil></validuntil>
                                        <limit></limit>
                                        <used></used>
                                        <status></status>
                                        <isdefault></isdefault>
                                        <licensereference></licensereference>
                                        <licenseemail></licenseemail>
                                </license>
                                <license>...</license>
                                <license>...</license>
                        </licenselist>
                        <devicelist>
                                <device>
                                        <deviceid></deviceid>
                                        <status></status>
                                        <licensekey></licensekey>
                                        <feature></feature>
                                        <devicecreated></devicecreated>
                                        <deviceactive></deviceactive>
                                        <version></version>
                                        <platform></platform>
                                </device>
                                <device>
                                        ...
                                </device>
                                <amount></amount>
                        </devicelist>
                </user>
                <user>
                        ...
                </user>
        </userlist>
</teamdrive>

Changes to API release 1.0.003:

<reference> and <department> was added.

Changes to API release 1.0.006:

<keyrepository> was added.

Changes to API for Registration Server release 3.5.9:

<showlicense> was added. When set to true, the <licensenumber>, <featurevalue>, <licensestatus> and <licenselist> tags will be returned.

‘’<licensereference>`` must be added of <showlicense> is true, because this could result in a license being created.

Changes to API for Registration Server release 3.5.10:

The <licensenumber> tag has been replaced by <licensekey>. The <licensekey> tag is returned in addition to <number>. The content is the same. <number> is deprecated and will be removed in a future version.

Error Cases

Search String too Short

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30116</primarycode>
                <secondarycode></secondarycode>
                <message>Search string to short</message>
        </exception>
</teamdrive>

Get User Data

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <command>getuserdata</command>
        <requesttime></requesttime>
        <username></username>
        <distributor></distributor>
</teamdrive>

Changes to API release 1.0.007:

<reference> may be used in place of <username> to specify the user.

Reply:

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

For a description of the fields, see Get license data for a user.

Changes to API release 1.0.003:

  • <invitecode> is not longer returned.
  • <reference> and <department> were added.
  • <depotdata>-block changed, because a user can have more than one depot, but only one default depot. The amount of depots for a user can be found in <count>

Changes to API release 1.0.006:

  • <keyrepository> was added
  • <status> in <userdata> was added. Valid status flags include todelete, disabled, inactive or activated.
  • <userid> was added.

Changes to API for Registration Server release 3.5.10:

  • The <licensekey> tag is returned in addition to <number>. The content is the same. <number> is deprecated and will be removed in a future version.

A default license is normally created when the user installs their first client application. You can create a default license with the API, if no default license already exists, by setting CreateDefaultLicense as described in the registration server documentation.

Error Cases

User Unknown

See above

Account not Activated

See above

Account Disabled (added in 1.0.003)

See above

Account in Deletion (added in 1.0.003)

See above

Create a new Account

Note

The range of possible Usernames depend on the RegNameComplexity setting as described in the Registration Server documentation. Similary, the length of passwords can be restricted by the ClientPasswordLength setting. However, these restriction only apply when creating a new account, they will not be checked when a user attempts to log in

If the 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 as described in the Registration Server documentation.

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 main 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> tag. If <licensereference> is specified, in place of <licensekey>, then the Registration Server will first check to see if a license with the given reference exists. If not, then 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>
        <apiversion>1.0.007</apiversion>
        <command>registeruser</command>
        <requesttime></requesttime>
        <username></username>
        <useremail></useremail>
        <password></password>
        <language></language>
        <reference></reference>
        <department></department>
        <licensekey></licensekey>
        <licensereference></licensereference>
        <distributor></distributor>
</teamdrive>

Changes to API release 1.0.003:

<reference> and <department> were added

Reply:

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

Changes to Reg-Server release 3.5.3:

<username> will be returned.

Changes to Reg-Server release 3.6:

<userdata> containing the all details of the user are now returning on successful creation of the user. The <username> tag before the <userdata> block, is deprecated, and will be removed in future versions.

A default license will be automatically generated for the user, and assigned to the user.

Error Cases

Username Already Exists

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30103</primarycode>
                <secondarycode></secondarycode>
                <message>Username already exists</message>
        </exception>
</teamdrive>

Email is already is use

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30104</primarycode>
                <secondarycode></secondarycode>
                <message>Email already exists</message>
        </exception>
</teamdrive>

This error will only be returned from our own TDRS because the email field is unique there.

Username Invalid, if length == 0

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30108</primarycode>
                <secondarycode></secondarycode>
                <message>Username invalid</message>
        </exception>
</teamdrive>

Password Invalid, if length < ClientPasswordLength

The value ClientPasswordLength is described in the Registration Server documentation.

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30109</primarycode>
                <secondarycode></secondarycode>
                <message>Password invalid</message>
        </exception>
</teamdrive>

Email Invalid, if length == 0 or missing “@” and ”.”

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30110</primarycode>
                <secondarycode></secondarycode>
                <message>Email invalid</message>
        </exception>
</teamdrive>

Resend Activation (added in 1.0.004)

Will resend the activation mail to the user.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <command>resendactivation</command>
        <requesttime></requesttime>
        <username></username>
        <distributor></distributor>
</teamdrive>

Changes to API release 1.0.007:

<reference> may be used in place of <username> to specify the user.

Reply:

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

Error Cases

User Unknown

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30100</primarycode>
                <secondarycode></secondarycode>
                <message>Username does not exists</message>
        </exception>
</teamdrive>

Account already activated

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30118</primarycode>
                <secondarycode></secondarycode>
                <message>Account already activated</message>
        </exception>
</teamdrive>

Activate User

Note

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.

Request:

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

Changes to API release 1.0.007:

<reference> may be used in place of <username> to specify the user.

Reply:

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

Error Cases

User Unknown

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30100</primarycode>
                <secondarycode></secondarycode>
                <message>Username does not exists</message>
        </exception>
</teamdrive>

Wrong Activation Code

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30106</primarycode>
                <secondarycode></secondarycode>
                <message>Wrong activation code</message>
        </exception>
</teamdrive>

Deactivate User

Note

Reset a user’s activation state.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <command>deactivateuser</command>
        <requesttime></requesttime>
        <username></username>
        <distributor></distributor>
</teamdrive>

Changes to API release 1.0.007:

<reference> may be used in place of <username> to specify the user.

Reply:

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

Error Cases

User Unknown

See above

Disable User

Note

Disable the user account. It’s not 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.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <command>disableuser</command>
        <requesttime></requesttime>
        <username></username>
        <distributor></distributor>
</teamdrive>

Changes to API release 1.0.007:

<reference> may be used in place of <username> to specify the user.

Reply:

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

Error Cases

User Unknown

See above

Enable User

Note

Enable a disabled user account.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <command>enableuser</command>
        <requesttime></requesttime>
        <username></username>
        <distributor></distributor>
</teamdrive>

Changes to API release 1.0.007:

<reference> may be used in place of <username> to specify the user.

Reply:

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

Error Cases

User Unknown

See above

Activate Client (added in 1.0.003)

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 TDRS. However, if the link does not directly point to the TDRS, the following API call can be used to activate the client.

Request:

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

Reply:

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

Error Cases

Wrong Activation Code

See above

Activation Code not Found

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30117</primarycode>
                <secondarycode></secondarycode>
                <message>Activation code not found</message>
        </exception>
</teamdrive>

Forgotten Password

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

Note

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.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <command>sendpassword</command>
        <requesttime></requesttime>
        <username></username>
        <distributor></distributor>
</teamdrive>

Changes to API release 1.0.007:

<reference> may be used in place of <username> to specify the user.

Reply:

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

Error Cases

User Unknown

See above

Account not Activated

See above

Account Disabled (added in 1.0.003)

See above

Account in Deletion (added in 1.0.003)

See above

Reset Password (added in 1.0.003)

Resetting a user’s password will set it to a random value. The user then had to define a new password themselves.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <command>resetpassword</command>
        <requesttime></requesttime>
        <username></username>
        <distributor></distributor>
</teamdrive>

Changes to API release 1.0.007:

<reference> may be used in place of <username> to specify the user.

Reply:

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

Error Cases

User Unknown

See above

Account not Activated

See above

Account Disabled

See above

Account in Deletion

See above

Change password

Note

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

Request:

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

Changes to API release 1.0.007:

<reference> may be used in place of <username> to specify the user.

Reply:

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

Error Cases

User Unknown

See above

Account not Activated

See above

Account Disabled (added in 1.0.003)

See above

Account in Deletion (added in 1.0.003)

See above

Temporary password wrong

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30105</primarycode>
                <secondarycode></secondarycode>
                <message>Temporary password does not match</message>
        </exception>
</teamdrive>

Password invalid, if length < ClientPasswordLength

The ClientPasswordLength value is described in the registration server documentation.

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30109</primarycode>
                <secondarycode></secondarycode>
                <message>Password invalid</message>
        </exception>
</teamdrive>

Temporary password expired

Note

Previous versions of the documentation indicated that the user needs to complete the password changing operation within 10 minutes and would have to request a new password again using sendpassword after the time expired. This was incorrect — the error Temporary password expired was never generated, 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 has used it to change his password.

Update password

Note

If a user is already logged in they can change their password directly. You have to make sure that this API command is only sent for users which have already been authenticated.

Request:

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

Changes to API release 1.0.007:

<reference> may be used in place of <username> to specify the user.

Reply:

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

Error Cases

User Unknown

See above

Account not Activated

See above

Account Disabled (added in 1.0.003)

See above

Account in Deletion (added in 1.0.003)

See above

Password invalid, if length < ClientPasswordLength

The ClientPasswordLength value is described in the registration server documentation.

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30109</primarycode>
                <secondarycode></secondarycode>
                <message>Password invalid</message>
        </exception>
</teamdrive>

Set reference (added in 1.0.004)

Will set the external reference for a user

Request:

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

Changes to API release 1.0.007:

<reference> may be used in place of <username> to specify the user.

Reply:

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

Error Cases

User Unknown

See above

Account not Activated

See above

Account Disabled

See above

Account in Deletion

See above

User with Reference ... already exists (added in 1.0.007)

Note

... will return the external reference value you tried to set

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30127</primarycode>
                <secondarycode></secondarycode>
                <message>User with Reference ... already exists</message>
        </exception>
</teamdrive>

Set department (added in 1.0.006)

Will set the department reference for a user

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <command>setdepartment</command>
        <requesttime></requesttime>
        <username></username>
        <department></department>
        <distributor></distributor>
</teamdrive>

Changes to API release 1.0.007:

<reference> may be used in place of <username> to specify the user.

Reply:

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

Error Cases

User Unknown

See above

Account not Activated

See above

Account Disabled

See above

Account in Deletion

See above

Set email (added in 1.0.003)

Note

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

Request:

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

Changes to API release 1.0.007:

<reference> may be used in place of <username> to specify the user.

Reply:

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

Error Cases

User Unknown

See above

Account not Activated

See above

Account Disabled

See above

Account in Deletion

See above

Email invalid, if length == 0 or “@” and ”.” are missing

See above

Change email address

Note

The change-email request will be stored until the user confirms the new email address. Until then, the old email will still be displayed.

Request:

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

Changes to API release 1.0.007:

<reference> may be used in place of <username> to specify the user.

Reply:

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

Error Cases

User Unknown

See above

Account not Activated

See above

Account Disabled (added in 1.0.003)

See above

Account in Deletion (added in 1.0.003)

See above

Email already exists (in another user’s registration or in their own registration)

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30104</primarycode>
                <secondarycode></secondarycode>
                <message>Email already exists</message>
        </exception>
</teamdrive>

This error will only be returned from our own TDRS, because the email field is unique there.

Email invalid, if length == 0 or “@” and ”.” are missing

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30110</primarycode>
                <secondarycode></secondarycode>
                <message>Email invalid</message>
        </exception>
</teamdrive>

Confirm new email

Request:

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

Changes to API release 1.0.007:

<reference> may be used in place of <username> to specify the user.

Reply:

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

Error Cases

User Unknown

See above

Account not Activated

See above

Account Disabled (added in 1.0.003)

See above

Account in Deletion (added in 1.0.003)

See above

Wrong activation code

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30106</primarycode>
                <secondarycode></secondarycode>
                <message>Wrong activation code</message>
        </exception>
</teamdrive>

Email already exists in an other registration

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30104</primarycode>
                <secondarycode></secondarycode>
                <message>Email already exists</message>
        </exception>
</teamdrive>

This error will only be returned from our own TDRS, because the email field is unique there.

Change language

Note

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

Request:

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

Changes to API release 1.0.007:

<reference> may be used in place of <username> to specify the user.

Reply:

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

Error Cases

User Unknown

See above

Account not Activated

See above

Account Disabled (added in 1.0.003)

See above

Account in Deletion (added in 1.0.003)

See above

Invalid language

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30115</primarycode>
                <secondarycode></secondarycode>
                <message>Invalid language</message>
        </exception>
</teamdrive>

Remove user (added in 1.0.003)

This call will delete the user account immediately (as opposed to deleteuser which requires user confirmation). 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.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <command>removeuser</command>
        <requesttime></requesttime>
        <username></username>
        <deletelicense>$true/$false</deletelicense>
        <deletedepot>$true/$false</deletedepot>
        <distributor></distributor>
</teamdrive>

Changes to API release 1.0.007:

<reference> may be used in place of <username> to specify the user.

Reply:

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

Error Cases

User Unknown

See above

Remove device (added in 1.0.004)

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.

Request:

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

Changes to API release 1.0.007:

<reference> may be used in place of <username> to specify the user.

Reply:

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

Error Cases

User Unknown

See above

Device not found

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30121</primarycode>
                <secondarycode></secondarycode>
                <message>Device not found</message>
        </exception>
</teamdrive>

Delete user

Note

The user will be send a confirmation email. Their account will not be deleted until they confirm the operation using the confirmuserdelete-call. (see Remove user (added in 1.0.003) if you wish to delete a user without confirmation)

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <command>deleteuser</command>
        <requesttime></requesttime>
        <username></username>
        <distributor></distributor>
</teamdrive>

Changes to API release 1.0.007:

<reference> may be used in place of <username> to specify the user.

Reply:

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

Error Cases

User Unknown

See above

Confirm delete user

Note

The <activationcode> was send to the email address of the user by the above deleteuser-call. The User has to authenticate again with their password (the password is optional and if missing only <username> and <activationcode> must match). Set <deletedepot> to $true to also delete the user’s default depot. Set <deletelicense> to $true to also delete the user’s licenses.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <command>confirmuserdelete</command>
        <requesttime></requesttime>
        <username></username>
        <password></password>
        <activationcode></activationcode>
        <deletedepot></deletedepot>
        <deletelicense></deletelicense>
        <distributor></distributor>
</teamdrive>

Changes to API release 1.0.007:

<reference> may be used in place of <username> to specify the user.

Reply:

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

Error Cases

User Unknown

See above

Password invalid

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30101</primarycode>
                <secondarycode></secondarycode>
                <message>Wrong password</message>
        </exception>
</teamdrive>

Activation code invalid

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30106</primarycode>
                <secondarycode></secondarycode>
                <message>Wrong activation code</message>
        </exception>
</teamdrive>

Get license data for a user

Note

The <licensedata> block is identical to the reply from a login.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <command>getlicensedata</command>
        <requesttime></requesttime>
        <username></username>
        <distributor></distributor>
</teamdrive>

Changes to API release 1.0.007:

<reference> may be used in place of <username> to specify the user.

Reply:

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

Description of the fields and values:

  • created: Creation date, format MM/DD/YYYY
  • productid: 1 or 2 (see productname)
  • productname: client (1) or server (2)
  • type: 0 = permanent, 1 = monthly payment, 2 = not for resale, 3 = yearly payment, 4 = one-off-trial, 5 = 1-year-professional (type 4 and 5 could not be set using the API)
  • number: license number
  • featurevalue: sum of the numbers as described in featuretext
  • featuretext: Banner (1), WebDAVs (2), Personal (4), Professional (8), Restricted (16)
  • validuntil: license valid until, Format MM/DD/YYYY
  • limit: License amount
  • used: Used licenses
  • status: enabled, disabled, deleted
  • isdefault: Is it a default license for the user (only possible for productid = 1). The user will be downgraded to their default license if a foreign license will be rejected from their installation.

Changes to API release 1.0.003:

A default license will normally be created when the user activates his fist Client/Device. The API can create a default license, if no default license exists, by setting CreateDefaultLicense as described in the registration server documentation.

Changes to API release 1.0.006:

<licensereference> and <licenseemail> were added.

deleted licenses will be returned

Changes to API for Registration Server release 3.5.10:

The <licensekey> tag is returned in addition to <number>. The content is the same. <number> is deprecated and will be removed in a future version.

Error Cases

User Unknown

See above

License unknown, deactivated or deleted

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30201</primarycode>
                <secondarycode></secondarycode>
                <message>Unknown License</message>
        </exception>
</teamdrive>

Get default-license for a user

Note

The reply will return the same <licensedata>-Block as the command getlicensedata.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <command>getdefaultlicense</command>
        <requesttime></requesttime>
        <username></username>
        <distributor></distributor>
</teamdrive>

Changes to API release 1.0.007:

<reference> may be used in place of <username> to specify the user.

Reply:

see Reply in getlicensedata

Get default depot URL by username

Note

The reply return the same <depotdata> block as described for the "login" command.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <command>getdefaultdepotdata</command>
        <requesttime></requesttime>
        <username></username>
        <distributor></distributor>
</teamdrive>

Changes to API release 1.0.007:

<reference> may be used in place of <username> to specify the user.

Reply:

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

Error Cases

User Unknown

See above

Depot unknown

Note

Users without a TeamDrive Client installation might have no depot.

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30107</primarycode>
                <secondarycode></secondarycode>
                <message>No Default Depot</message>
        </exception>
</teamdrive>

Get URL for the default Depot server (added in 1.0.004)

Note

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

Request:

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

Reply:

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

Error Cases

No default depot server

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30107</primarycode>
                <secondarycode></secondarycode>
                <message>No default depot server</message>
        </exception>
</teamdrive>

Set depot for user (added in 1.0.003)

<sendtoclient> is an optional parameter and will do the sendinvitation call as described below (added in 1.0.004).

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <command>setdepotforuser</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <depot></depot>
        <isdefault></isdefault>
        <sendtoclient></sendtoclient>
</teamdrive>

Error Cases

User Unknown

See above

Account not Activated

See above

Account Disabled

See above

Account in Deletion

See above

Depot already exists

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30307</primarycode>
                <secondarycode></secondarycode>
                <message>Depot already exists</message>
        </exception>
</teamdrive>

Remove depot from user (added in 1.0.005)

Note

In case of deleting the default depot of a user and the user still has other depots in his list, the oldest depot will become the default depot.

<sendtoclient> is an optional parameter and will do the sendinvitation call as described below.

There are different calls possible:

  • Sending the depot file like in setdepotforuser
  • Sending HostURL and depot id
<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <command>removedepotfromuser</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <depot></depot>
        <sendtoclient></sendtoclient>
</teamdrive>

OR

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <command>removedepotfromuser</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <hosturl></hosturl>
        <depotid></depotid>
        <sendtoclient></sendtoclient>
</teamdrive>

Changes to API release 1.0.007:

<reference> may be used in place of <username> to specify the user.

Error Cases

User Unknown

See above

Account not Activated

See above

Account Disabled

See above

Account in Deletion

See above

Depot data missing or invalid

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30123</primarycode>
                <secondarycode></secondarycode>
                <message>Depot data missing or invalid</message>
        </exception>
</teamdrive>

Depot not found

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30124</primarycode>
                <secondarycode></secondarycode>
                <message>Depot not found</message>
        </exception>
</teamdrive>

Send invitation

Note

Will be used for business users to distribute or delete a company depot to other users.

<type> is INV_TYPE_CREATEDEPOT or INV_TYPE_DELETEDEPOT

Request:

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

Changes to API release 1.0.007:

<reference> may be used in place of <username> to specify the user.

Reply:

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

Error Cases

User Unknown

See above

Account not Activated

See above

Account Disabled (added in 1.0.003)

See above

Account in Deletion (added in 1.0.003)

See above

Type unknown

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30111</primarycode>
                <secondarycode></secondarycode>
                <message>Invitation type unknown</message>
        </exception>
</teamdrive>

Set invited user

Note

Will be used for the referral program. (see
REFERRAL Settings).

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <command>setinviteduser</command>
        <requesttime></requesttime>
        <username></username>
        <inviteduser></inviteduser>
        <sendmail>$true/false</sendmail>
        <distributor></distributor>
</teamdrive>

Changes to API release 1.0.007:

<reference> may be used in place of <username> to specify the user.

Reply:

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

Error Cases

User Unknown

See above

Account not Activated

See above

Account Disabled (added in 1.0.003)

See above

Account in Deletion (added in 1.0.003)

See above

Username invalid

The invited user can not be found

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30108</primarycode>
                <secondarycode></secondarycode>
                <message>Unknown user: xxx</message>
        </exception>
</teamdrive>

Set invited user failed

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30209</primarycode>
                <secondarycode></secondarycode>
                <message>Setinvited user failed</message>
        </exception>
</teamdrive>

Create license

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

Parameters:

  • <productname> : server, client

  • <type>: monthly, yearly, permanent, nfr (added with version 1.0.006) (one-off-trial and 1-year-professional could not be set over the API)

  • <featurevalue>: One of the following values: webdavs, personal, professional, restricted, banner (only for client licenses)

  • <limit>: Amount (for a client license), 0000 = unlimited (for a personal server license)

    Added with version 1.0.004:

  • <licensereference>: An optional external reference (free text field with 100 char)

  • <contractnumber>: An optional contract number (free text field with 255 char)

  • <validuntil>: An optional valid-until date. Format must be MM/DD/YYYY

  • <changeid>: An optional change id for license changes

  • <sendmail>: If true, a license confirmation mail will be sent to the user. (added in version 1.0.006).

Request:

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

Changes to API release 1.0.007:

<reference> may be used in place of <username> to specify the user.

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <licensedata>
                <licensekey>TST1-4781-9268-2225</licensekey>
                <number>TST1-4781-9268-2225</number>
        </licensedata>
        <intresult>0</intresult>
</teamdrive>

Changes to API for Registration Server release 3.5.10:

  • The <licensekey> tag is returned in addition to <number>. The content is the same. <number> is deprecated and will be removed in a future version.

Error Cases

User Unknown

See above

Account not Activated

See above

Account Disabled (added in 1.0.003)

See above

Account in Deletion (added in 1.0.003)

See above

Productname unknown

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30203</primarycode>
                <secondarycode></secondarycode>
                <message>Productname unknown</message>
        </exception>
</teamdrive>

Type unknown

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30204</primarycode>
                <secondarycode></secondarycode>
                <message>Type unknown</message>
        </exception>
</teamdrive>

Feature unknown

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30205</primarycode>
                <secondarycode></secondarycode>
                <message>Feature unknown</message>
        </exception>
</teamdrive>

Limit unknown / invalid

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30206</primarycode>
                <secondarycode></secondarycode>
                <message>Limit unknown</message>
        </exception>
</teamdrive>

Invalid date (added in 1.0.004)

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30122</primarycode>
                <secondarycode></secondarycode>
                <message>Invalid date</message>
        </exception>
</teamdrive>

License creation of the given type is not permitted (added in 1.0.007)

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30125</primarycode>
                <secondarycode></secondarycode>
                <message>License creation of the given type is not permitted</message>
        </exception>
</teamdrive>

Create license without user (added in 1.0.003)

Similar to createlicense, but without setting a reference to a specific user. Might be useful if a shop application wanted to retrieve a license before the user has an account in the shop.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <command>createlicensewithoutuser</command>
        <requesttime></requesttime>
        <username></username>
        <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>

Changes to API release 1.0.007:

<reference> may be used in place of <username> to specify the user.

Reply and errors identical to createlicense.

Assign user to license (added in 1.0.003)

If createlicensewithoutuser was used, then this command can be used to assign the license to a user. The user’s record information will be used to update the values in the license table.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <command>assignusertolicense</command>
        <requesttime></requesttime>
        <username></username>
        <licensekey></licensekey>
        <changeid></changeid>
        <sendmail>$true/false</sendmail>
        <distributor></distributor>
</teamdrive>

Changes to API release 1.0.006:

<changeid> and <sendmail> were added. Both are optional.

Changes to API release 1.0.007:

  • <reference> may be used in place of <username> to specify the user.
  • <licensereference> may be used in place of <licensekey> in order to identify the license.

Reply:

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

Error Cases

User Unknown

See above

Account not Activated

See above

Account Disabled (added in 1.0.003)

See above

Account in Deletion (added in 1.0.003)

See above

License unknown

See above

License deleted

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30213</primarycode>
                <secondarycode></secondarycode>
                <message>License deleted</message>
        </exception>
</teamdrive>

License already in use by another user

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30211</primarycode>
                <secondarycode></secondarycode>
                <message>License already in use by another user</message>
        </exception>
</teamdrive>

Assign license to client (added in 1.0.004)

Assigns a license to a teamdrive client. <devicelist> is an optional list of devices the user posses. If empty, all of the user’s devices will be used. This function can only be used if the user has at least one device.

Changes to API release 1.0.006:

A deleted license can not be assigned and will return the error: -30213 License deleted

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <command>assignlicensetoclient</command>
        <requesttime></requesttime>
        <username></username>
        <devicelist></devicelist>
        <licensekey></licensekey>
        <distributor></distributor>
</teamdrive>

Changes to API release 1.0.007:

  • <reference> may be used in place of <username> to specify the user.
  • <licensereference> may be used in place of <licensekey> in order to identify the license.

Reply:

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

Error Cases

User Unknown

See above

Account not Activated

See above

Account Disabled

See above

Account in Deletion

See above

License unknown

See above

Device not found

See above

License deleted

See above

License already in use by another user

See above

License has expired

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30214</primarycode>
                <secondarycode></secondarycode>
                <message>License has expired</message>
        </exception>
</teamdrive>

Remove user from license (added in 1.0.003)

The complement to assignusertolicense to remove a user’s license.

Important

This will not remove the license from any installations!

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <command>removeuserfromlicense</command>
        <requesttime></requesttime>
        <username></username>
        <licensekey></licensekey>
        <changeid></changeid>
        <sendmail>$true/false</sendmail>
        <distributor></distributor>
</teamdrive>

Changes to API release 1.0.006:

<changeid> and <sendmail> were added. Both are optional.

Changes to API release 1.0.007:

  • <reference> may be used in place of <username> to specify the user.
  • <licensereference> may be used in place of <licensekey> in order to identify the license.

Reply:

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

Error Cases

User Unknown

See above

Account not Activated

See above

Account Disabled (added in 1.0.003)

See above

Account in Deletion (added in 1.0.003)

See above

License unknown

See above

Invalid distributor

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30114</primarycode>
                <secondarycode></secondarycode>
                <message>Invalid Distributor</message>
        </exception>
</teamdrive>

Deactivate license (added in 1.0.003)

Request:

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

Changes to API release 1.0.006:

<changeid> and <sendmail> were added. Both are optional.

Changes to API release 1.0.007:

<licensereference> may be used in place of <licensekey> in order to identify the license.

Reply:

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

Error Cases

License unknown

See above

Invalid distributor

See above

License change failed

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30210</primarycode>
                <secondarycode></secondarycode>
                <message>License already disabled</message>
        </exception>
</teamdrive>

License deleted

See above

Activate license (added in 1.0.003)

Request:

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

Changes to API release 1.0.006:

<changeid> and <sendmail> were added. Both are optional.

Changes to API release 1.0.007:

<licensereference> may be used in place of <licensekey> in order to identify the license.

Reply:

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

Error Cases

License unknown

See above

Invalid distributor

See above

License change failed

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30210</primarycode>
                <secondarycode></secondarycode>
                <message>License not disabled</message>
        </exception>
</teamdrive>

License deleted

See above

Delete license (added in 1.0.006)

Request:

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

Changes to API release 1.0.007:

<licensereference> may be used in place of <licensekey> in order to identify the license.

Reply:

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

Error Cases

License unknown

See above

Invalid distributor

See above

License deleted

See above

Upgrade license

Fixed in version 1.0.004: The current feature was ignored.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <command>upgradelicense</command>
        <requesttime></requesttime>
        <username></username>
        <licensekey></licensekey>
        <featurevalue></featurevalue>
        <limit></limit>
        <sendmail>$true/false</sendmail>
        <distributor></distributor>
</teamdrive>

Changes to API release 1.0.006:

<changeid> and <sendmail> were added. Both are optional.

Changes to API release 1.0.007:

  • <reference> may be used in place of <username> to specify the user.
  • <licensereference> may be used in place of <licensekey> in order to identify the license.

Reply:

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

Error Cases

User Unknown

See above

Account not Activated

See above

License unknown

See above

License deleted

See above

License upgrade not possible

Note

This error occurs in cases such as when the license is deactivated or deleted.

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30202</primarycode>
                <secondarycode></secondarycode>
                <message>License upgrade failed</message>
        </exception>
</teamdrive>

Upgrade default-license

Note

<featurevalue> expected the internal integer value as featurevalue. You could now also send the feature strings.

Request:

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

Changes to API release 1.0.007:

<reference> may be used in place of <username> to specify the user.

Reply:

For form of reply and possible errors see upgradelicense.

Downgrade license

Fixed in version 1.0.004: Downgrading a license was not working

Note

<username> is optional

Request:

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

Changes to API release 1.0.006:

  • <changeid>, <licensereference> and <sendmail> was added. Parameters are optional.
  • <forcedecrease> was added. Parameter is optional. Default value is $false. If a licenselimit will be downgraded and the current license usage is greater than the downgraded limit, the API will return an error. If forcedecrease = $true, the current users will be removed from the license, so that downgrading the license will be possible. Removing the license from a user will begin with the oldest active user and will only downgrade as many users, so that the license limit will not exceed the license usage.

Changes to API release 1.0.007:

  • <reference> may be used in place of <username> to specify the user.
  • <licensereference> may be used in place of <licensekey> in order to identify the license.

Reply:

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

Error Cases

User Unknown

See above

Account not Activated

See above

License unknown

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30201</primarycode>
                <secondarycode></secondarycode>
                <message>Unknown License</message>
        </exception>
</teamdrive>

Downgrade not possible

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30208</primarycode>
                <secondarycode></secondarycode>
                <message>License downgrade failed</message>
        </exception>
</teamdrive>

License deleted

See above

Downgrade default-license

Note

<featurevalue> expected the internal integer value as featurevalue. You could now also send the feature strings.

Request:

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

Changes to API release 1.0.007:

<reference> may be used in place of <username> to specify the user.

Reply:

For reply and errors see downgradelicense.

Show used client licenses

Note

<licensekey> is optional.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <command>getusedlicense</command>
        <requesttime></requesttime>
        <username></username>
        <licensekey></licensekey>
        <distributor></distributor>
</teamdrive>

Changes to API release 1.0.007:

  • <reference> may be used in place of <username> to specify the user.
  • <licensereference> may be used in place of <licensekey> in order to identify the license.

Reply:

Note

<userlist> is a comma separated list of user names. If no license data can be found, an error -30201 will be returned (see below).

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

Changes to API release 1.0.006:

  • <status> was added (enabled, disabled, deleted)
  • deleted licenses will be returned

Changes to API for Registration Server release 3.5.10:

The <licensekey> tag is returned in addition to <number>. The content is the same. <number> is deprecated and will be removed in a future version.

Error Cases

User Unknown

See above

Account not Activated

See above

License unknown, deactivated or deleted

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30201</primarycode>
                <secondarycode></secondarycode>
                <message>Unknown License</message>
        </exception>
</teamdrive>

Set license reference (added in 1.0.004)

Request:

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

Reply:

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

Error Cases

License unknown, deactivated or deleted

See above

Remove license from a user

To remove a license you must be the Provider of the user, or of the license to be removed. 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, as determined by the value of the DEFAULT_LICENSEKEY Provider settting.

An attempt to remove a user’s default license is ignored.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <command>removelicense</command>
        <requesttime></requesttime>
        <username></username>
        <licensekey></licensekey>
        <distributor></distributor>
</teamdrive>

Changes to API release 1.0.007:

  • <reference> may be used in place of <username> to specify the user.
  • <licensereference> may be used in place of <licensekey> in order to identify the license.

Reply:

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

Note

<devicelist> added in 1.0.004, is no longer used in Registration Server 3.6 or later.

Error Cases

User Unknown

See above

Account not Activated

See above

License unknown, deactivated or deleted

See above

Delete / cancel license

Note

If no license data can be found, an “Unknown License” error will be returned. Use the field <decreaselimit> to define the amount of licenses. To delete / cancel the license completely, send 0 in the field, otherwise a value > 0.

Note

Cancel a license will now just deactivate the license otherwise there is no chance to enable the license again. Deleting a license must be done explicitly using deletelicense Delete license (added in 1.0.006)

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <command>cancellicense</command>
        <requesttime></requesttime>
        <username></username>
        <licensekey></licensekey>
        <decreaselimit></decreaselimit>
        <changeid></changeid>
        <sendmail>$true/false</sendmail>
        <distributor></distributor>
</teamdrive>

Changes to API release 1.0.006:

<changeid> and <sendmail> were added. Both are optional.

Changes to API release 1.0.007:

  • <reference> may be used in place of <username> to specify the user.
  • <licensereference> may be used in place of <licensekey> in order to identify the license.

Reply:

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

Error Cases

User Unknown

See above

Account not Activated

See above

License can not be reduced, because they are still in use

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30207</primarycode>
                <secondarycode></secondarycode>
                <message>Cancel license failed</message>
        </exception>
</teamdrive>

License deleted

See above

Set distributor

Note

This function can currently only be accessed by the default distributor. Only registered distributors can be used.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <command>setdistributor</command>
        <requesttime></requesttime>
        <username></username>
        <distributor></distributor>
        <switchdepot>$true/$false</switchdepot>
        <switchlicense>$true/$false</switchlicense>
        <licensereference></licensereference>
</teamdrive>

Reply:

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

Error Cases

Access denied

See above

Invalid Distributor

See above

Set user capabilities

Note

<action>: Allowed values: set or unset

<capability>: Allowed values: keyrepository, newsletter, mailbounced, webportal.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <command>setcapability</command>
        <requesttime></requesttime>
        <username></username>
        <distributor></distributor>
        <action></action>
        <capability></capability>
</teamdrive>

Reply:

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

Error Cases

User Unknown

See above

Account not Activated

See above

Invalid parameter

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.006</apiversion>
        <exception>
                <primarycode>-30125</primarycode>
                <secondarycode></secondarycode>
                <message>Action must be set or unset</message>
        </exception>
</teamdrive>

Capability type unkown

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.006</apiversion>
        <exception>
                <primarycode>-30204</primarycode>
                <secondarycode></secondarycode>
                <message>Capability type ... is unknown</message>
        </exception>
</teamdrive>

Wipe device

Note

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

Request:

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

Reply:

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

Error Cases

User Unknown

See above

Account not Activated

See above

Set license contract

Note

<changeid>: An optional change id for license changes

<sendmail>: Functionality activated with version 1.0.006. If true, a license confirmation mail will be send to the user. Parameter is optional.

Request:

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

Changes to API release 1.0.007:

<licensereference> may be used in place of <licensekey> in order to identify the license.

Reply:

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

Error Cases

License unknown

See above

Invalid distributor

See above

License deleted

See above

Set license email

Note

<changeid>: An optional change id for license changes

<sendmail>: Functionality activated with version 1.0.006. If true, a license confirmation mail will be send to the user. Parameter is optional.

Request:

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

Changes to API release 1.0.007:

<licensereference> may be used in place of <licensekey> in order to identify the license.

Reply:

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

Error Cases

License unknown

See above

Invalid distributor

See above

Email invalid

See above

License deleted

See above

Set license language

Note

<changeid>: An optional change id for license changes

<sendmail>: Functionality activated with version 1.0.006. If true, a license confirmation mail will be send to the user. Parameter is optional.

Request:

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

Changes to API release 1.0.007:

<licensereference> may be used in place of <licensekey> in order to identify the license.

Reply:

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

Error Cases

License unknown

See above

Invalid distributor

See above

Invalid language

See above

License deleted

See above

Set license type

Note

<type>: Allowed values: permanent, monthly, yearly, nfr (not for resale) (one-off-trial and 1-year-professional could not be set over the API)

<changeid>: An optional change id for license changes

<sendmail>: Functionality activated with version 1.0.006. If true, a license confirmation mail will be send to the user. Parameter is optional.

Request:

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

Changes to API release 1.0.007:

<licensereference> may be used in place of <licensekey> in order to identify the license.

Reply:

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

Error Cases

License unknown

See above

Invalid distributor

See above

Type unknown

See above

License deleted

See above

License creation of the given type is not permitted (added in 1.0.007)

See above

Set license valid until date

Note

<validuntil>: Must be a valid date using the format MM/DD/YYYY or for removing the date the string: ‘remove’

<changeid>: An optional change id for license changes

<sendmail>: Functionality activated with version 1.0.006. If true, a license confirmation mail will be send to the user. Parameter is optional.

Request:

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

Changes to API release 1.0.007:

<licensereference> may be used in place of <licensekey> in order to identify the license.

Reply:

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

Error Cases

License unknown

See above

Invalid distributor

See above

Invalid date

See above

License deleted

See above

Setting license expiry date is not permitted in this phase (added in 1.0.007)

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30125</primarycode>
                <secondarycode></secondarycode>
                <message>Setting license expiry date is not permitted in this phase</message>
        </exception>
</teamdrive>

Reset license password

Note

Will reset the current password of a license and send an email using the template ‘web-newlicensepassword’ with a temporary password to the license holder email.

Request:

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

Changes to API release 1.0.007:

<licensereference> may be used in place of <licensekey> in order to identify the license.

Reply:

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

Error Cases

License unknown

See above

Invalid distributor

See above

License deleted

See above

Set license password

Note

Will set a new password for a license. The temporary password from the above ‘resetlicensepassword’ call must be sent in <tmppassword>.

Request:

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

Changes to API release 1.0.007:

<licensereference> may be used in place of <licensekey> in order to identify the license.

Reply:

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

Change license password

Note

Changes the current license password. The current password must be sent in the <password> tag, and the new password in <newpassword>.

Request:

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

Changes to API release 1.0.007:

<licensereference> may be used in place of <licensekey> in order to identify the license.

Reply:

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

Error Cases

License unknown

See above

Invalid distributor

See above

License deleted

See above

Send Template Email (added in 3.6)

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

Note

<username>: This is an optional username of a registered user. If not specified, the email will be send by default to the Provider.

<template>: Must contain the name of a standard email template.

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

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

<recipient>: This is an email address or the name of an email Provider setting. Currently this may only be support which refers to the SUPPORT_EMAIL Provider setting (see SUPPORT_EMAIL).

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

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <command>sendtemplatemail</command>
        <requesttime></requesttime>
        <username></username>
        <distributor></distributor>
        <template></template>
        <language></language>
        <sender>user</sender>
        <recipient>support</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>

<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.

Reply:

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

Error Cases

User Unknown

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30100</primarycode>
                <secondarycode></secondarycode>
                <message>Username does not exists</message>
        </exception>
</teamdrive>

Template not found

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30216</primarycode>
                <secondarycode></secondarycode>
                <message>Template not found: <template></message>
        </exception>
</teamdrive>

Provider setting/email not specified

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <apiversion>1.0.007</apiversion>
        <exception>
                <primarycode>-30110</primarycode>
                <secondarycode></secondarycode>
                <message>Provider setting <recipient>_EMAIL is not specified/No email address specified</message>
        </exception>
</teamdrive>