4.0.0 • Published 5 years ago

@datafire/dracoon_team v4.0.0

Weekly downloads
1
License
MIT
Repository
github
Last release
5 years ago

@datafire/dracoon_team

Client library for DRACOON API

Installation and Usage

npm install --save @datafire/dracoon_team
let dracoon_team = require('@datafire/dracoon_team').create({
  access_token: "",
  refresh_token: "",
  client_id: "",
  client_secret: "",
  redirect_uri: ""
});

.then(data => {
  console.log(data);
});

Description

REST Web Services for DRACOONbuilt at: 2020-11-17 08:47:09This page provides an overview of all available and documented DRACOON APIs, which are grouped by tags.Each tag provides a collection of APIs that are intended for a specific area of the DRACOON.Developer InformationGet SDKs on GitHubTerms of service

Actions

oauthCallback

Exchange the code passed to your redirect URI for an access_token

dracoon_team.oauthCallback({
  "code": ""
}, context)

Input

  • input object
    • code required string

Output

  • output object
    • access_token string
    • refresh_token string
    • token_type string
    • scope string
    • expiration string

oauthRefresh

Exchange a refresh_token for an access_token

dracoon_team.oauthRefresh(null, context)

Input

This action has no parameters

Output

  • output object
    • access_token string
    • refresh_token string
    • token_type string
    • scope string
    • expiration string

login

Description:

Authenticates user and provides an authentication token (X-Sds-Auth-Token) that is required for the most operations.

Precondition:

Existing user that is NOT locked.

Postcondition:

User is logged in.

Further Information:

The provided token is valid for two hours, every usage resets this period to two full hours again.
Logging off invalidates the token.

Available authentication methods:

Authentication Method (authType)Description
basicLog in with credentials stored in the database Formerly known as sql.
active_directoryLog in with Active Directory credentials
radiusLog in with RADIUS username, PIN and token password.Token (request parameter) may be set, otherwise this parameter is ignored. If token is set, password is optional.
openidPlease use POST /auth/openid/login API to login with OpenID Connect identity
dracoon_team.login({
  "body": {
    "password": ""
  }
}, context)

Input

Output

initiateOpenIdLogin

Description:

This is the first step of the OpenID Connect authentication.
The user is send to the OpenID Connect identity provider to authenticate himself and retrieve an authorization code.

Precondition:

None.

Postcondition:

User is redirected to OpenID Connect identity provider to authenticate himself.

Further Information:

None.

dracoon_team.initiateOpenIdLogin({
  "issuer": "",
  "redirect_uri": "",
  "language": "",
  "test": true
}, context)

Input

  • input object
    • issuer required string: Issuer identifier of the OpenID Connect identity provider
    • redirect_uri required string: Redirect URI to complete the OpenID Connect authentication
    • language required string: Language ID or ISO 639-1 code
    • test required boolean: Flag to test the authentication parameters.

Output

Output schema unknown

completeOpenIdLogin

Description:

This is the second step of the OpenID Connect authentication.
The user hands over the authorization code and is logged in.

Precondition:

Existing user with activated OpenID Connect authentication that is NOT locked.

Postcondition:

User is logged in.

Further Information:

None.

dracoon_team.completeOpenIdLogin({
  "code": "",
  "state": ""
}, context)

Input

  • input object
    • code required string: Authorization code
    • id_token string: Identity token
    • state required string: Authentication state

Output

requestOpenIdAuthResources

Description:

Provides information about OpenID Connect authentication options.

Precondition:

None.

Postcondition:

List of available OpenID Connect Providers is returned.

Further Information:

Empty list is returned if OpenID Connect is NOT configured.

dracoon_team.requestOpenIdAuthResources(null, context)

Input

This action has no parameters

Output

ping

Description:

Test connection to DRACOON Core Service.

Precondition:

None.

Postcondition:

200 OK with current date string is returned if successful.

Further Information:

None.

dracoon_team.ping(null, context)

Input

This action has no parameters

Output

  • output string

recoverUserName

Description:

Request an email with the user names of all accounts connected to the email.

Precondition:

Valid email address.

Postcondition:

An email is sent to the provided address, with a list of account user names connected to it.

Further Information:

None.

dracoon_team.recoverUserName({
  "body": {
    "email": ""
  }
}, context)

Input

Output

Output schema unknown

requestPasswordReset

Description:

Request an email with a password reset token for a certain user to reset password.

Precondition:

Registered user account.

Postcondition:

Provided user receives email with password reset token.

Further Information:

None.

dracoon_team.requestPasswordReset({
  "body": {}
}, context)

Input

Output

Output schema unknown

validateResetPasswordToken

Description:

Request all information for a password change dialogue e.g. real name of user.

Precondition:

User received a password reset token.

Postcondition:

Context information is returned.

Further Information:

None.

dracoon_team.validateResetPasswordToken({
  "token": ""
}, context)

Input

  • input object
    • token required string: Password reset token

Output

resetPassword

Description:

Resets user's password.

Precondition:

User received a password reset token.

Postcondition:

User's password is reset to the provided password.

Further Information:

Forbidden characters in passwords: &, ', <, >

dracoon_team.resetPassword({
  "token": "",
  "body": {
    "password": ""
  }
}, context)

Input

Output

Output schema unknown

requestSystemDefaultsInfo

Description:

Returns a list of configurable system default values.

Precondition:

Authenticated user.

Postcondition:

List of configurable default settings is returned.

Further Information:

None.

Configurable default values:

SettingDescriptionValue
languageDefaultDefines which language should be default.ISO 639-1 code
downloadShareDefaultExpirationPeriodDefault expiration period for Download Shares in days.Integer between 0 and 9999
uploadShareDefaultExpirationPeriodDefault expiration period for Upload Shares in days.Integer between 0 and 9999
fileDefaultExpirationPeriodDefault expiration period for all uploaded files in days.Integer between 0 and 9999
nonmemberViewerDefaultDefines if new users get the role Non Member Viewer by defaulttrue or false
dracoon_team.requestSystemDefaultsInfo({}, context)

Input

  • input object
    • X-Sds-Auth-Token string: Authentication token

Output

requestGeneralSettingsInfo

Description:

Returns a list of configurable general settings.

Precondition:

Authenticated user.

Postcondition:

List of configurable general settings is returned.

Further Information:

None.

Configurable general settings:

SettingDescriptionValue
sharePasswordSmsEnabledDetermines whether sending of share passwords via SMS is allowed.true or false
cryptoEnabledDetermines whether client-side encryption is enabled.Can only be enabled once; disabling is NOT possible.true or false
emailNotificationButtonEnabledDetermines whether email notification button is enabled.true or false
eulaEnabledDetermines whether EULA is enabled.Each user has to confirm the EULA at first login.true or false
useS3StorageDefines if S3 is used as storage backend.Can only be enabled once; disabling is NOT possible.true or false
s3TagsEnabledDetermines whether S3 tags are enabledtrue or false
homeRoomsActiveDetermines whether each AD user has a personal home roomtrue or false
homeRoomParentIdDefines a node under which all personal home rooms are located. NULL if homeRoomsActive is falseLong

Deprecated general settings:

SettingDescriptionValue
mediaServerEnabledDetermines whether media server is enabled.Returns boolean value dependent on conjunction of mediaServerConfigEnabled AND mediaServerEnabledtrue or false
weakPasswordEnabledDetermines whether weak password is allowed.Use GET /system/config/policies/passwords API to get configured password policies.true or false
dracoon_team.requestGeneralSettingsInfo({}, context)

Input

  • input object
    • X-Sds-Auth-Token string: Authentication token

Output

requestInfrastructurePropertiesInfo

Description:

Returns a list of read-only infrastructure properties.

Precondition:

Authenticated user.

Postcondition:

List of infrastructure properties is returned.

Further Information:

Source: api.properties

Read-only infrastructure properties:

SettingDescriptionValue
smsConfigEnabledDetermines whether sending of share passwords via SMS is system-wide enabled.true or false
mediaServerConfigEnabledDetermines whether media server is system-wide enabled.true or false
s3DefaultRegionSuggested S3 regionRegion name
s3EnforceDirectUploadEnforce direct upload to S3true or false
dracoonCloudDetermines if the DRACOON Core is deployed in the cloud environmenttrue or false
tenantUuidCurrent tenant UUIDUUID
dracoon_team.requestInfrastructurePropertiesInfo({}, context)

Input

  • input object
    • X-Sds-Auth-Token string: Authentication token

Output

requestNotificationChannelsInfo

Description:

Retrieve a list of configured notification channels.

Precondition:

Authenticated user.

Postcondition:

List of notification channels is returned.

Further Information:

None.

dracoon_team.requestNotificationChannelsInfo({}, context)

Input

  • input object
    • X-Sds-Auth-Token string: Authentication token

Output

requestPasswordPoliciesConfigInfo

Description:

Retrieve a list of configured password policies for all password types:

  • login
  • shares
  • encryption

Precondition:

Authenticated user.

Postcondition:

List of configured password policies is returned.

Further Information:

None.

Available password policies:

NameDescriptionValuePassword Type
mustContainCharactersCharacters which a password must contain:alpha - at least one alphabetical character (uppercase OR lowercase)a b c d e f g h i j k l m n o p q r s t u v w x y zA B C D E F G H I J K L M N O P Q R S T U V W X Y Zuppercase - at least one uppercase characterA B C D E F G H I J K L M N O P Q R S T U V W X Y Zlowercase - at least one lowercase charactera b c d e f g h i j k l m n o p q r s t u v w x y znumeric - at least one numeric character0 1 2 3 4 5 6 7 8 9special - at least one special character (letters and digits excluded)! " # $ % & ' ( ) * + , - . / : ; = ? @ \ ^ _ { | } ~none - none of the abovealphauppercaselowercasenumericspecialnoneloginsharesencryption
numberOfCharacteristicsToEnforceNumber of characteristics to enforce.e.g. from ["uppercase", "lowercase", "numeric", "special"]all 4 character sets can be enforced; but also only 2 of themInteger between 0 and 4loginsharesencryption
minLengthMinimum number of characters a password must contain.Integer between 1 and 1024loginsharesencryption
rejectDictionaryWordsDetermines whether a password must NOT contain word(s) from a dictionary.In api.properties a path to directory with dictionary files (*.txt) can be definedcf. policies.passwords.dictionary.directory.If this rule gets enabled policies.passwords.dictionary.directory must be defined and contain dictionary files.Otherwise, the rule will not have any effect on password validation process.true or falseloginshares
rejectUserInfoDetermines whether a password must NOT contain user info.Affects user's first name, last name, email and user name.true or falseloginsharesencryption
rejectKeyboardPatternsDetermines whether a password must NOT contain keyboard patterns.e.g. qwertz, asdf (min. 4 character pattern)true or falseloginsharesencryption
numberOfArchivedPasswordsNumber of passwords to archive.Value 0 means that password history is disabled.Integer between 0 and 10login
passwordExpiration.enabledDetermines whether password expiration is enabled.true or falselogin
maxPasswordAgeMaximum allowed password age (in days)positive Integerlogin
userLockout.enabledDetermines whether user lockout is enabled.true or falselogin
maxNumberOfLoginFailuresMaximum allowed number of failed login attempts.positive Integerlogin
lockoutPeriodAmount of minutes a user has to wait to make another login attemptafter maxNumberOfLoginFailures has been exceeded.positive Integerlogin
dracoon_team.requestPasswordPoliciesConfigInfo({}, context)

Input

  • input object
    • X-Sds-Auth-Token string: Authentication token

Output

requestS3TagsInfo

Description:

Retrieve all configured S3 tags.

Precondition:

Authenticated user.

Postcondition:

List of configured S3 tags is returned.

Further Information:

An empty list is returned if no S3 tags are found / configured.

dracoon_team.requestS3TagsInfo({}, context)

Input

  • input object
    • X-Sds-Auth-Token string: Authentication token

Output

requestSystemSettings

Description:

Returns a list of configurable system settings.

Precondition:

Right 🔓 read global config required.

Postcondition:

List of configurable settings is returned.

Further Information:

Check for every settings key new corresponding API and key below.

If eula_active is true, but NOT accepted yet, or password MUST be changed, only the following two values are returned:

  • allow_system_global_weak_password
  • eula_active

Configurable settings

SettingDescriptionValue
branding_server_branding_idThe branding UUID, which corresponds to BRANDING-QUALIFIER in the new branding server.cf. GET /system/config/settings/branding BrandingConfig.brandingQualifierString
branding_portal_urlAccess URL to to the Branding PortalOnly visible for Config Manager of Provider Customer.cf. GET /system/config/settings/branding BrandingConfig.brandingProviderUrlString
dblogWrite logs to local database.Only visible for Config Manager of Provider Customer.cf. GET /system/config/settings/eventlog EventlogConfig.enabledtrue or false
default_downloadshare_expiration_periodDefault expiration period for Download Shares in dayscf. GET /system/config/settings/defaults SystemDefaults.downloadShareDefaultExpirationPeriodInteger between 0 and 9999
default_file_upload_expiration_dateDefault expiration period for all uploaded files in dayscf. GET /system/config/settings/defaults SystemDefaults.fileDefaultExpirationPeriodInteger between 0 and 9999
default_languageDefine which language should be default.cf. GET /system/config/settings/defaults SystemDefaults.languageDefaultcf. GET /public/system/info - SystemInfo.languageDefault
default_uploadshare_expiration_periodDefault expiration period for Upload Shares in dayscf. GET /system/config/settings/defaults SystemDefaults.uploadShareDefaultExpirationPeriodInteger between 0 and 9999
enable_client_side_cryptoActivation status of client-side encryptionCan only be enabled once; disabling is NOT possible.cf. GET /system/config/settings/general GeneralSettings.cryptoEnabledtrue or falsedefault: false
eula_activeEach user has to confirm the EULA at first login.cf. GET /system/config/settings/general GeneralSettings.eulaEnabledtrue or false
eventlog_retention_periodRetention period (in days) of event log entriesAfter that period, all entries are deleted.cf. GET /system/config/settings/eventlog EventlogConfig.retentionPeriodInteger between 0 and 9999If set to 0: no logs are deletedRecommended value: 7
ip_address_loggingDetermines whether a user's IP address is logged.Only visible for Config Manager of Provider Customer.cf. GET /system/config/settings/eventlog EventlogConfig.logIpEnabledcf. GET /system/config/settings/syslog SyslogConfig.logIpEnabledtrue or false
mailserverEmail server to send emails.Only visible for Config Manager of Provider Customer.cf. GET /system/config/settings/mail_server MailServerConfig.hostDNS name or IPv4 of an email server
mailserver_authentication_necessarySet to true if the email server requires authentication.Only visible for Config Manager of Provider Customer.cf. GET /system/config/settings/mail_server MailServerConfig.authenticationEnabledtrue or false
mailserver_passwordPassword is no longer returned.Check mailserver_password_set to determine whether password is set.
mailserver_password_setIndicates if a password is set for the mailserver (because mailserver_password is always returned empty).Only visible for Config Manager of Provider Customer.cf. GET /system/config/settings/mail_server MailServerConfig.passwordDefinedtrue or false
mailserver_portEmail server portOnly visible for Config Manager of Provider Customer.cf. GET /system/config/settings/mail_server MailServerConfig.portValid port number
mailserver_usernameUser ame for email serverOnly visible for Config Manager of Provider Customer.cf. GET /system/config/settings/mail_server MailServerConfig.usernameUsername for authentication
mailserver_use_sslEmail server requires SSL connection?Only visible for Config Manager of Provider Customer.Requires mailserver_use_starttls to be falsecf. GET /system/config/settings/mail_server MailServerConfig.usernametrue or false
mailserver_use_starttlsEmail server requires StartTLS connection?Only visible for Config Manager of Provider Customer.Requires mailserver_use_ssl to be falsecf. GET /system/config/settings/mail_server MailServerConfig.starttlsEnabledtrue or false
syslogWrite logs to a syslog interface.Only visible for Config Manager of Provider Customer.cf. GET /system/config/settings/syslog SyslogConfig.enabledtrue or false
syslog_hostSyslog server (IP or FQDN)Only visible for Config Manager of Provider Customer.cf. GET /system/config/settings/syslog SyslogConfig.hostDNS name or IPv4 of a syslog server
syslog_portSyslog server portOnly visible for Config Manager of Provider Customer.cf. GET /system/config/settings/syslog SyslogConfig.portValid port number
syslog_protocolProtocol to connect to syslog server.Only visible for Config Manager of Provider Customer.cf. GET /system/config/settings/syslog SyslogConfig.protocolTCP or UDP
enable_email_notification_buttonEnable mail notification button.cf. GET /system/config/settings/general GeneralSettings.emailNotificationButtonEnabledtrue or false
allow_share_password_smsAllow sending of share passwords via SMS.cf. GET /system/config/settings/general GeneralSettings.sharePasswordSmsEnabledtrue or false
globally_allow_share_password_smsAllow sending of share passwords via SMS system-wide (read-only).cf. GET /system/config/settings/infrastructure InfrastructureProperties.smsConfigEnabledtrue or false
use_s3_storageDefines if S3 is used as storage backend.Can only be enabled once; disabling is NOT possible.cf. GET /system/config/settings/general GeneralSettings.useS3Storagetrue or false
s3_default_regionSuggested S3 region (read-only)cf. GET /system/config/settings/infrastructure InfrastructureProperties.s3DefaultRegionRegion name

Deprecated settings

SettingDescriptionValue
allow_system_global_weak_passwordDetermines whether weak password (cf. Password Policy below) is allowed.cf. GET /system/config/settings/general GeneralSettings.weakPasswordEnabledUse GET /system/config/policies/passwords API to get configured password policies.true or false
branding_server_customerThe UUID of the branding server customer, which corresponds to customer key in the branding server.String
branding_server_urlAccess URL to to the Branding Server.Only visible for Config Manager of Provider Customer.String
email_fromSender of system-generated emailsOnly visible for Config Manager of Provider Customer.Moved to brandingValid email address
email_to_salesContact email address for customers to request more user licenses or data volume.Moved to brandingValid email address
email_to_supportSupport email address for usersMoved to brandingValid email address
file_size_jsMaximum file size (in bytes) for downloads of encrypted files with JavaScript.Bigger files will require a JavaApplet.IntegerRecommended value: 10485760 (=10MB)
system_nameSystem nameMoved to branding use product.titleDisplay name of the DRACOON
dracoon_team.requestSystemSettings({}, context)

Input

  • input object
    • X-Sds-Auth-Token string: Authentication token

Output

updateSystemSettings

Description:

Update configurable settings.

Precondition:

Right 🔓 change global config and role 👤 Config Manager of the Provider Customer required.

Postcondition:

One or more global settings gets changed.

Further Information:

This API is deprecated and will be removed in the future.
Check for every settings key new corresponding API and key below.

Configurable settings:

SettingDescriptionValue
branding_server_branding_idThe branding UUID, which corresponds to BRANDING-QUALIFIER in the new branding server.cf. PUT /system/config/settings/branding BrandingConfig.brandingQualifierString
branding_portal_urlAccess URL to to the Branding PortalOnly visible for Config Manager of Provider Customer.cf. PUT /system/config/settings/branding BrandingConfig.brandingProviderUrlString
dblogWrite logs to local database.Only visible for Config Manager of Provider Customer.cf. PUT /system/config/settings/eventlog EventlogConfig.enabledtrue or false
default_downloadshare_expiration_periodDefault expiration period for Download Shares in dayscf. PUT /system/config/settings/defaults SystemDefaults.downloadShareDefaultExpirationPeriodInteger between 0 and 9999Set 0 to disable.
default_file_upload_expiration_dateDefault expiration period for all uploaded files in dayscf. PUT /system/config/settings/defaults SystemDefaults.fileDefaultExpirationPeriodInteger between 0 and 9999Set 0 to disable.
default_languageDefine which language should be default.cf. PUT /system/config/settings/defaults SystemDefaults.languageDefaultcf. GET /public/system/info - SystemInfo.languageDefault
default_uploadshare_expiration_periodDefault expiration period for Upload Shares in dayscf. PUT /system/config/settings/defaults SystemDefaults.uploadShareDefaultExpirationPeriodInteger between 0 and 9999Set 0 to disable.
enable_client_side_cryptoActivation status of client-side encryptionCan only be enabled once; disabling is NOT possible.cf. PUT /system/config/settings/general GeneralSettings.cryptoEnabledtrue or falsedefault: false
eula_activeEach user has to confirm the EULA at first login.cf. PUT /system/config/settings/general GeneralSettings.eulaEnabledtrue or false
eventlog_retention_periodRetention period (in days) of event log entriesAfter that period, all entries are deleted.cf. PUT /system/config/settings/eventlog EventlogConfig.retentionPeriodInteger between 0 and 9999If set to 0: no logs are deletedRecommended value: 7
ip_address_loggingDetermines whether a user's IP address is logged.Only visible for Config Manager of Provider Customer.cf. PUT /system/config/settings/eventlog EventlogConfig.logIpEnabledcf. PUT /system/config/settings/syslog SyslogConfig.logIpEnabledtrue or false
mailserverEmail server to send emails.Only visible for Config Manager of Provider Customer.cf. PUT /system/config/settings/mail_server MailServerConfig.hostDNS name or IPv4 of an email server
mailserver_authentication_necessarySet to true if the email server requires authentication.Only visible for Config Manager of Provider Customer.cf. PUT /system/config/settings/mail_server MailServerConfig.authenticationEnabledtrue or false
mailserver_passwordPassword for email servercf. PUT /system/config/settings/mail_server MailServerConfig.passwordPassword for authentication
mailserver_portEmail server portOnly visible for Config Manager of Provider Customer.cf. PUT /system/config/settings/mail_server MailServerConfig.portValid port number
mailserver_usernameUsername for email serverOnly visible for Config Manager of Provider Customer.cf. PUT /system/config/settings/mail_server MailServerConfig.usernameUsername for authentication
mailserver_use_sslEmail server requires SSL connection?Only visible for Config Manager of Provider Customer.Requires mailserver_use_starttls to be falsecf. PUT /system/config/settings/mail_server MailServerConfig.usernametrue or false
mailserver_use_starttlsEmail server requires StartTLS connection?Only visible for Config Manager of Provider Customer.Requires mailserver_use_ssl to be falsecf. PUT /system/config/settings/mail_server MailServerConfig.starttlsEnabledtrue or false
syslogWrite logs to a syslog interface.Only visible for Config Manager of Provider Customer.cf. PUT /system/config/settings/syslog SyslogConfig.enabledtrue or false
syslog_hostSyslog server (IP or FQDN)Only visible for Config Manager of Provider Customer.cf. PUT /system/config/settings/syslog SyslogConfig.hostDNS name or IPv4 of a syslog server
syslog_portSyslog server portOnly visible for Config Manager of Provider Customer.cf. PUT /system/config/settings/syslog SyslogConfig.portValid port number
syslog_protocolProtocol to connect to syslog server.Only visible for Config Manager of Provider Customer.cf. PUT /system/config/settings/syslog SyslogConfig.protocolTCP or UDP
enable_email_notification_buttonEnable mail notification button.cf. PUT /system/config/settings/general GeneralSettings.emailNotificationButtonEnabledtrue or false
allow_share_password_smsAllow sending of share passwords via SMS.cf. PUT /system/config/settings/general GeneralSettings.sharePasswordSmsEnabledtrue or false

Deprecated settings:

SettingDescriptionValue
allow_system_global_weak_passwordDetermines whether weak password (cf. Password Policy below) is allowed.cf. PUT /system/config/settings/general GeneralSettings.weakPasswordEnabledUse PUT /system/config/policies/passwords API to change configured password policies.true or false
branding_server_customerThe UUID of the branding server customer, which corresponds to customer key in the branding server.String
branding_server_urlAccess URL to to the Branding Server.Only visible for Config Manager of Provider Customer.String
email_fromSender of system-generated emailsOnly visible for Config Manager of Provider Customer.Moved to brandingValid email address
email_to_salesContact email address for customers to request more user licenses or data volume.Moved to brandingValid email address
email_to_supportSupport email address for usersMoved to brandingValid email address
file_size_jsMaximum file size (in bytes) for downloads of encrypted files with JavaScript.Bigger files will require a JavaApplet.IntegerRecommended value: 10485760 (=10MB)
system_nameSystem nameMoved to branding use product.titleDisplay name of the DRACOON
dracoon_team.updateSystemSettings({
  "body": {
    "items": []
  }
}, context)

Input

  • input object

Output

Output schema unknown

downloadAvatar

Description:

Download avatar for given user ID and UUID.

Precondition:

Valid UUID.

Postcondition:

Stream is returned.

Further Information:

None.

dracoon_team.downloadAvatar({
  "user_id": 0,
  "uuid": ""
}, context)

Input

  • input object
    • user_id required integer: User ID
    • uuid required string: UUID of the avatar

Output

  • output string

downloadZipArchiveViaToken

Description:

Download multiple files in a ZIP archive.

Precondition:

Valid download token.

Postcondition:

Stream is returned.

Further Information:

Create a download token with POST /nodes/zip API.

dracoon_team.downloadZipArchiveViaToken({
  "token": ""
}, context)

Input

  • input object
    • token required string: Download token

Output

Output schema unknown

downloadFileViaToken

Description:

Download a file.

Precondition:

Valid download token.

Postcondition:

Stream is returned.

Further Information:

Range requests are supported.

dracoon_team.downloadFileViaToken({
  "token": ""
}, context)

Input

  • input object
    • token required string: Download token
    • Range string: Range
    • generic_mimetype boolean: Always return application/octet-stream instead of specific mimetype
    • inline boolean: Use Content-Disposition: inline instead of attachment

Output

Output schema unknown

downloadFileViaToken_1

Description:

Download a file.

Precondition:

Valid download token.

Postcondition:

Stream is returned.

Further Information:

Range requests are supported.

dracoon_team.downloadFileViaToken_1({
  "token": ""
}, context)

Input

  • input object
    • token required string: Download token
    • Range string: Range
    • generic_mimetype boolean: Always return application/octet-stream instead of specific mimetype
    • inline boolean: Use Content-Disposition: inline instead of attachment

Output

Output schema unknown

requestAuditNodeUserData

Description:

Retrieve a list of all nodes of type room, and the room assignment users with permissions.

Precondition:

Right 🔓 read audit log required.

Postcondition:

List of rooms and their assigned users is returned.

Further Information:

Filtering:

All filter fields are connected via logical conjunction (AND)
Except for userName, userFirstName and userLastName - these are connected via logical disjunction (OR)
Filter string syntax: FIELD_NAME:OPERATOR:VALUE[:VALUE...]

userName:cn:searchString_1|userFirstName:cn:searchString_2|nodeId:eq:2
Filter by user login containing searchString_1 OR first name containing searchString_2 AND node ID equals 2.

Filtering options:

FIELD_NAMEFilter DescriptionOPERATOROperator DescriptionVALUE
nodeIdNode ID filtereqNode ID equals value.positive Integer
nodeNameNode name filtercn, eqNode name contains / equals value.search String
nodeParentIdNode parent ID filtereqParent ID equals value.positive IntegerParent ID 0 is the root node.
userIdUser ID filtereqUser ID equals value.positive Integer
userNameUsername (login) filtercn, eqUsername contains / equals value.search String
userFirstNameUser first name filtercn, eqUser first name contains / equals value.search String
userLastNameUser last name filtercn, eqUser last name contains / equals value.search String
permissionsManageFilter the users that do (not) have manage permissions in this roomeqtrue or false
nodeIsEncryptedEncrypted node filtereqtrue or false
nodeHasActivitiesLogActivities log filtereqtrue or false

Deprecated filtering options:

FIELD_NAMEFilter DescriptionOPERATOROperator DescriptionVALUE
nodeHasRecycleBinRecycle bin filterFilter has no effect!eqtrue or false

Sorting:

Sort string syntax: FIELD_NAME:ORDER
ORDER can be asc or desc.
Multiple sort fields are supported.

nodeName:asc
Sort by nodeName ascending.

Sorting options:

FIELD_NAMEDescription
nodeIdNode ID
nodeNameNode name
nodeParentIdNode parent ID
nodeSizeNode size
nodeQuotaNode quota
dracoon_team.requestAuditNodeUserData({}, context)

Input

  • input object
    • X-Sds-Date-Format string (values: UTC, LOCAL, OFFSET, EPOCH, LEET): Date time format (cf. RFC 3339 & leettime.de)
    • offset integer: Range offset
    • limit integer: Range limit.
    • filter string: Filter string
    • sort string: Sort string
    • X-Sds-Auth-Token string: Authentication token

Output

requestLogEventsAsJson

Description:

Retrieve eventlog (audit log) events.

Precondition:

Role 👤 Log Auditor required.

Postcondition:

List of audit log events is returned.

Further Information:

Output is limited to 500 entries.
For more results please use filter criteria and paging (offset + limit).

Allowed Accept-Header:

  • Accept: application/json
  • Accept: text/csv

Sort string syntax: FIELD_NAME:ORDER
ORDER can be asc or desc.
Multiple sort fields are supported.

time:desc
Sort by time descending (default sort option).

Sorting options:

FIELD_NAMEDescription
timeEvent timestamp
dracoon_team.requestLogEventsAsJson({}, context)

Input

  • input object
    • X-Sds-Date-Format string (values: UTC, LOCAL, OFFSET, EPOCH, LEET): Date time format (cf. RFC 3339 & leettime.de)
    • sort string: Sort string
    • offset integer: Range offset
    • limit integer: Range limit.
    • date_start string: Filter events from given date
    • date_end string: Filter events until given date
    • type integer: Operation ID
    • user_id integer: User ID
    • status string (values: 0, 2): Operation status:
    • user_client string: User client
    • X-Sds-Auth-Token string: Authentication token

Output

requestLogOperations

Description:

Retrieve eventlog (audit log) operation IDs and the associated log operation description.

Precondition:

Role 👤 Log Auditor required.

Postcondition:

List of available log operations is returned.

Further Information:

None.

dracoon_team.requestLogOperations({}, context)

Input

  • input object
    • is_deprecated boolean: Show only deprecated operations
    • X-Sds-Auth-Token string: Authentication token

Output

requestGroups

Description:

Returns a list of user groups.

Precondition:

Right 🔓 read groups required.

Postcondition:

List of user groups is returned.

Further Information:

Filtering:

All filter fields are connected via logical conjunction (AND)
Filter string syntax: FIELD_NAME:OPERATOR:VALUE

name:cn:searchString
Filter by group name containing searchString.

Filtering options:

FIELD_NAMEFilter DescriptionOPERATOROperator DescriptionVALUE
nameGroup name filtercnGroup name contains value.search String
hasRole(NEW) Group role filterFor more information about roles check GET /roles APIeqGroup role equals value.CONFIG_MANAGER - Manages global configurationUSER_MANAGER - Manages usersGROUP_MANAGER - Manages user groupsROOM_MANAGER - Manages top level roomsLOG_AUDITOR - Reads audit logsNONMEMBER_VIEWER - Views users and groups when having room "manage" permission

Sorting:

Sort string syntax: FIELD_NAME:ORDER
ORDER can be asc or desc.
Multiple sort fields are supported.

name:asc|expireAt:desc
Sort by name ascending AND by expireAt descending.

Sorting options:

FIELD_NAMEDescription
nameGroup name
createdAtCreation date
expireAtExpiration date
cntUsersAmount of users
dracoon_team.requestGroups({}, context)

Input

  • input object
    • X-Sds-Date-Format string (values: UTC, LOCAL, OFFSET, EPOCH, LEET): Date time format (cf. RFC 3339 & leettime.de)
    • offset integer: Range offset
    • limit integer: Range limit.
    • filter string: Filter string
    • sort string: Sort string
    • X-Sds-Auth-Token string: Authentication token

Output

createGroup

Description:

Create a new user group.

Precondition:

Right 🔓 change groups required.

Postcondition:

A new user group is created.

Further Information:

  • If a group should NOT expire, leave expireAt empty.
  • Group names are limited to 150 characters
  • All characters are allowed.
dracoon_team.createGroup({
  "body": {
    "name": ""
  }
}, context)

Input

  • input object
    • X-Sds-Date-Format string (values: UTC, LOCAL, OFFSET, EPOCH, LEET): Date time format (cf. RFC 3339 & leettime.de)
    • X-Sds-Auth-Token string: Authentication token
    • body required CreateGroupRequest

Output

removeGroup

Description:

Delete a user group.

Precondition:

Right 🔓 delete groups required.

Postcondition:

User group is deleted.

Further Information:

None.

dracoon_team.removeGroup({
  "group_id": 0
}, context)

Input

  • input object
    • group_id required integer: Group ID
    • X-Sds-Auth-Token string: Authentication token

Output

Output schema unknown

requestGroup

Description:

Retrieve detailed information about a user group.

Precondition:

Right 🔓 read groups required.

Postcondition:

User group is returned.

Further Information:

None.

dracoon_team.requestGroup({
  "group_id": 0
}, context)

Input

  • input object
    • X-Sds-Date-Format string (values: UTC, LOCAL, OFFSET, EPOCH, LEET): Date time format (cf. RFC 3339 & leettime.de)
    • group_id required integer: Group ID
    • X-Sds-Auth-Token string: Authentication token

Output

updateGroup

Description:

Update user group's metadata .

Precondition:

Right 🔓 change groups required.

Postcondition:

User group's metadata is changed.

Further Information:

  • If a group should NOT expire, leave expireAt empty.
  • Group names are limited to 150 characters
  • All characters are allowed.
dracoon_team.updateGroup({
  "group_id": 0,
  "body": {}
}, context)

Input

  • input object
    • X-Sds-Date-Format string (values: UTC, LOCAL, OFFSET, EPOCH, LEET): Date time format (cf. RFC 3339 & leettime.de)
    • group_id required integer: Group ID
    • X-Sds-Auth-Token string: Authentication token
    • body required UpdateGroupRequest

Output

requestLastAdminRoomsGroups

Description:

Retrieve a list of all rooms where the group is defined as last admin group.

Precondition:

Right 🔓 change groups required.

Postcondition:

List of rooms is returned.

Further Information:

An empty list is returned if no rooms were found where the group is defined as last admin group.

dracoon_team.requestLastAdminRoomsGroups({
  "group_id": 0
}, context)

Input

  • input object
    • group_id required integer: Group ID
    • X-Sds-Auth-Token string: Authentication token

Output

requestGroupRoles

Description:

Retrieve a list of all roles granted to a group.

Precondition:

Right 🔓 read groups required.

Postcondition:

List of granted roles is returned.

Further Information:

None.

dracoon_team.requestGroupRoles({
  "group_id": 0
}, context)

Input

  • input object
    • group_id required integer: Group ID
    • X-Sds-Auth-Token string: Authentication token

Output

requestGroupRooms

Description:

Retrieves a list of rooms granted to the group and / or that can be granted.

Precondition:

Right 🔓 read groups required.

Postcondition:

List of rooms is returned.

Further Information:

Filtering:

All filter fields are connected via logical conjunction (AND)
Filter string syntax: FIELD_NAME:OPERATOR:VALUE

isGranted:eq:false|name:cn:searchString
Get all rooms where the group is NOT granted AND whose name is like searchString.

Filtering options:

FIELD_NAMEFilter DescriptionOPERATOROperator DescriptionVALUE
nameRoom name filtercnRoom name contains value.search String
isGrantedFilter rooms which the group is (not) grantedeqtruefalseanydefault: true
effectivePermFilter rooms with DIRECT or DIRECT AND EFFECTIVE permissionsfalse: DIRECT permissionstrue: DIRECT AND EFFECTIVE permissionsDIRECT means: e.g. room administrator grants read permissions to group of users directly on desired room.EFFECTIVE means: e.g. group of users gets read permissions on desired room through inheritance.eqtrue or falsedefault: true
dracoon_team.requestGroupRooms({
  "group_id": 0
}, context)

Input

  • input object
    • X-Sds-Date-Format string (values: UTC, LOCAL, OFFSET, EPOCH, LEET): Date time format (cf. RFC 3339 & leettime.de)
    • group_id required integer: Group ID
    • offset integer: Range offset
    • limit integer: Range limit.
    • filter string: Filter string
    • X-Sds-Auth-Token string: Authentication token

Output

removeGroupMembers

Description:

Remove group members.

Precondition:

Right 🔓 change groups required.

Postcondition:

Provided users are removed from the user group.

Further Information:

Batch function.
The provided users are removed from the user group.

dracoon_team.removeGroupMembers({
  "group_id": 0,
  "body": {
    "ids": []
  }
}, context)

Input

  • input object
    • X-Sds-Date-Format string (values: UTC, LOCAL, OFFSET, EPOCH, LEET): Date time format (cf. RFC 3339 & leettime.de)
    • group_id required integer: Group ID
    • X-Sds-Auth-Token string: Authentication token
    • body required ChangeGroupMembersRequest

Output

requestGroupMembers

Description:

Retrieve a list of group member users or / and users who can become a member.

Precondition:

Right 🔓 read groups required.

Postcondition:

List of users is returned.

Further Information:

Filtering:

All filter fields are connected via logical conjunction (AND)
Filter string syntax: FIELD_NAME:OPERATOR:VALUE

isMember:eq:false|user:cn:searchString
Get all users that are NOT in this group AND whose (firstName OR lastName OR email OR username) is like searchString.

Filtering options:

FIELD_NAMEFilter DescriptionOPERATOROperator DescriptionVALUE
userUser filtercnUser contains value (firstName OR lastName OR email OR username).search String
isMemberFilter group memberseqtruefalseanydefault: true

Deprecated filtering options:

FIELD_NAMEFilter DescriptionOPERATOROperator DescriptionVALUE
displayNameUser display name filter (use user filter)cnUser display name contains value (firstName OR lastName OR email).search String
dracoon_team.requestGroupMembers({
  "group_id": 0
}, context)

Input

  • input object
    • group_id required integer: Group ID
    • offset integer: Range offset
    • limit integer: Range limit.
    • filter string: Filter string
    • X-Sds-Auth-Token string: Authentication token

Output

addGroupMembers

Description:

Add members to a group.

Precondition:

Right 🔓 change groups required.

Postcondition:

New members are added to the group.

Further Information:

Batch function.
The newly provided members will be added to the existing ones.

dracoon_team.addGroupMembers({
  "group_id": 0,
  "body": {
    "ids": []
  }
}, context)

Input

  • input object
    • X-Sds-Date-Format string (values: UTC, LOCAL, OFFSET, EPOCH, LEET): Date time format (cf. RFC 3339 & leettime.de)
    • group_id required integer: Group ID
    • X-Sds-Auth-Token string: Authentication token
    • body required ChangeGroupMembersRequest

Output

removeNodes

Description:

Delete nodes (room, folder or file).

Precondition:

Authenticated user with 🔓 delete permissions on supplied nodes (for folders or files) or on superordinated node (for rooms).

Postcondition:

Nodes are deleted.

Further Information:

Nodes MUST be in same parent.

dracoon_team.removeNodes({
  "body": {
    "nodeIds": []
  }
}, context)

Input

Output

Output schema unknown

requestNodes

Description:

Provides a hierarchical list of file system nodes (rooms, folders or files) of a given parent that are accessible by the current user.

Precondition:

Authenticated user.

Postcondition:

List of nodes is returned.

Further Information:

EncryptionInfo is NOT provided.

Filtering:

All filter fields are connected via logical conjunction (AND)
Filter string syntax: FIELD_NAME:OPERATOR:VALUE[:VALUE...]

type:eq:room:folder|perm:eq:read
Get nodes where type equals (room OR folder) AND user has read permissions.

Filtering options:

FIELD_NAMEFilter DescriptionOPERATOROperator DescriptionVALUE
typeNode type filtereqNode type equals value.Multiple values are allowed and will be connected via logical disjunction (OR).e.g. type:eq:room:folderroomfolderfile
permPermission filtereqPermission equals value.Multiple values are allowed and will be connected via logical disjunction (OR).e.g. perm:eq:read:create:deletemanagereadchangecreatedeletemanageDownloadSharemanageUploadSharecanReadRecycleBincanRestoreRecycleBincanDeleteRecycleBin
childPermSame as perm, but less restrictive (applies to child nodes only).Child nodes of the parent node which do not meet the filter conditionare NOT returned.eqcf. permcf. perm
nameNode name filtercn, eqNode name contains / equals value.search String
encryptedNode encryption status filtereqtrue or false
branchVersionNode branch version filterge, leBranch version is greater / less equals than value.Multiple operator values are allowed and will be connected via logical conjunction (AND).e.g. branchVersion:ge:1423280937404|branchVersion:le:1523280937404version number
timestampCreationCreation timestamp filterge, leCreation timestamp is greater / less equals than value.Multiple operator values are allowed and will be connected via logical conjunction (AND).e.g. timestampCreation:ge:2016-12-31T23:00:00.123|timestampCreation:le:2018-01-01T11:00:00.540Date (yyyy-MM-dd)
timestampModificationModification timestamp filterge, leModification timestamp is greater / less equals than value.Multiple operator values are allowed and will be connected via logical conjunction (AND).e.g. timestampModification:ge:2016-12-31T23:00:00.123|timestampModification:le:2018-01-01T11:00:00.540Date (yyyy-MM-dd)

Sorting:

Sort string syntax: FIELD_NAME:ORDER
ORDER can be asc or desc.
Multiple sort fields are NOT supported.
Nodes are sorted by type first, then by sent sort string.

name:desc
Sort by name descending.

Sorting options:

FIELD_NAMEDescription
nameNode name
createdAtCreation date
createdByCreator first name, last name
updatedAtLast modification date
updatedByLast modifier first name, last name
fileTypeFile type (extension)
classificationClassification ID:1 - public2 - internal3 - confidential4 - strictly confidential
sizeNode size
cntDeletedVersionsNumber of deleted versions of this file / folder (NOT recursive; for files and folders only)

| `timestam