UNPKG

498 kBJSONView Raw
1{"openapi":"3.0.0","info":{"contact":{"email":"develop@ssp-europe.eu","x-twitter":"dracoongmbh"},"description":"REST Web Services for DRACOON.<br> Version. 4.5.0 - built at: 1517571015562","termsOfService":"https://www.dracoon.com/terms/general-terms-and-conditions/","title":"DRACOON","version":"4.5.0","x-apisguru-categories":["cloud"],"x-logo":{"url":"https://twitter.com/dracoongmbh/profile_image?size=original"},"x-origin":[{"format":"swagger","url":"https://dracoon.team/api/spec_v4/","version":"2.0"}],"x-providerName":"dracoon.team"},"tags":[{"description":"File download without auth headers","name":"downloads"},{"description":"User groups","name":"groups"},{"description":"Upload and Download Shares","name":"shares"},{"description":"Current user operations","name":"user"},{"description":"Authentication","name":"auth"},{"description":"System events log","name":"eventlog"},{"description":"User management","name":"users"},{"description":"System settings","name":"system"},{"description":"File system objects (rooms, folders, files)","name":"nodes"},{"description":"Configuration","name":"config"},{"description":"System events log (DEPRECATED: use eventlog)","name":"syslog"},{"description":"Provisioning interface","name":"provisioning"},{"description":"Public: shares upload/download, software info","name":"public"},{"description":"Role user managment","name":"roles"},{"description":"File upload without auth headers","name":"uploads"}],"paths":{"/v4/auth/login":{"post":{"description":"### Functional Description:\nAuthenticates user and provides an authentication token that is required for most operations.\n\n### Precondition:\nExisting user that is not locked.\n\n### Effects:\nUser is logged in.\n\n### Further Information:\nThe provided token is valid for **2 hours**, every usage resets this period to 2 full hours again. \nLogging off invalidates the token. \n\n### Important: \n* If auth type `radius` is used, a token (request parameter) may be set, otherwise this parameter is ignored. \n* If the token is set, `password` is optional for this auth type.\n\n### Currently supported languages (with ISO 639-1 code):\n* German (de)\n* English (en)\n* Spanish (es)\n* French (fr)","operationId":"login","requestBody":{"content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/LoginRequest"}}},"description":"User credentials","required":true},"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/LoginResponse"}}}},"400":{"description":"Bad Request\n\n* [-10010] Provided language is not supported.\n* [-10100] Invalid authentication method.\n* [-80000] Mandatory fields cannot be empty.\n* [-90057] The domain has to be provided with the user name in the following way: domain\\\\username.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10011] Wrong username or password.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n\n* [-10003] User is locked by an administrator.\n* [-10004] User has expired.\n* [-10005] User is temporarily locked. (Unlock time will be delivered in ISO 8601 format [2014-12-23T13:24:00Z]).\n* [-10007] Customer for this user is locked.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict\n\n* [-40010] Could not create Home Room.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10108] RADIUS Access-Challenge required.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/RadiusChallengeResponse"}}}},"502":{"description":"Bad Gateway\n\n* [-90055] Invalid Active Directory Configuration.\n* [-90070] RADIUS connection failed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Authenticate user","tags":["auth"]}},"/v4/auth/openid/login":{"post":{"description":"### Functional Description: \nThis is the second step of the OpenID Connect authentication. \nThe user hands over the authorization code and is logged in.\n\n### Precondition:\nExisting user with activated OpenID Connect authentication that is not locked.\n\n### Effects:\nUser is logged in.\n\n### Further Information:\nSee [http://openid.net/developers/specs](http://openid.net/developers/specs) for further information.","operationId":"completeOpenIdLogin","parameters":[{"description":"Authorization code","in":"query","name":"code","required":true,"schema":{"type":"string"}},{"description":"Authentication state","in":"query","name":"state","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/LoginResponse"}}}},"400":{"description":"Bad Request\n\n* [-10100] Invalid authentication method.\n* [-80000] Mandatory fields cannot be empty.\n* [-90043] Invalid authentication state."},"403":{"description":"Forbidden\n\n* [-10003] User is locked by an administrator.\n* [-10004] User has expired.\n* [-10005] User is temporarily locked. (Unlock time will be delivered in ISO 8601 format [2014-12-23T13:24:00Z]).\n* [-10007] Customer for this user is locked.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-70501] User not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway\n\n* [-90044] Identity retrieval failed.\n* [-90045] Identity validation failed.\n* [-90046] User information retrieval failed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Complete OpenID Connect authentication","tags":["auth"]}},"/v4/auth/openid/resources":{"get":{"deprecated":true,"description":"### Functional Description: \nProvides information about OpenID Connect authentication options.\n\n### Precondition:\nNone.\n\n### Effects:\nNone.\n\n### Further Information:\nNone.","operationId":"getOpenIdAuthResources","responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/OpenIdAuthResources"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get OpenID Connect authentication resources","tags":["auth"]}},"/v4/auth/ping":{"get":{"description":"### Functional Description:\nTest connection to DRACOON Server.\n\n### Precondition:\nNone.\n\n### Effects:\n`200 OK` with current date string is returned if successful.\n\n### Further Information:\nNone.","operationId":"ping","responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"string"}}}},"406":{"description":"Not Acceptable\n","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Ping","tags":["auth"]}},"/v4/auth/reset_password":{"post":{"description":"### Functional Description: \nRequest an email with a request token for a certain user to reset his / her password.\n\n### Precondition:\nRegistered user account.\n\n### Effects:\nProvided user receives email with reset token.\n\n### Further Information:\nNone.\n\n### Currently supported languages (with ISO 639-1 code):\n* German (de)\n* English (en)\n* Spanish (es)\n* French (fr)","operationId":"requestPasswordReset","requestBody":{"content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ResetPasswordRequest"}}},"description":"body","required":true},"responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request\n\n* [-10010] Provided language is not supported.\n* [-10105] Password cannot be reset for this user.\n* [-10107] Password can only be reset every 5 minutes.\n* [-80000] Mandatory fields cannot be empty.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-70501] User not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Request password reset","tags":["auth"]}},"/v4/auth/reset_password/{token}":{"get":{"description":"### Functional Description: \nRequest all information for a password change dialogue e.g. real name of user.\n\n### Precondition:\nUser received a password reset token.\n\n### Effects:\nNone.\n\n### Further Information:\nNone.","operationId":"validateResetPasswordToken","parameters":[{"description":"Password reset token","in":"path","name":"token","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ResetPasswordTokenValidateResponse"}}}},"400":{"description":"Bad Request\n\n* [-10001] Password reset token is modified.\n* [-80000] Mandatory fields cannot be empty.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* Token not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get information for password reset","tags":["auth"]},"put":{"description":"### Functional Description: \nResets a user's password to a new value.\n\n### Precondition:\nUser received a password reset token.\n\n### Effects:\nNewly transmitted password is set.\n\n### Further Information:\nNone.","operationId":"resetPassword","parameters":[{"description":"Password reset token","in":"path","name":"token","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ResetPasswordWithTokenRequest"}}},"description":"body","required":true},"responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request\n\n* [-10002] Password is not secure.\n* [-80000] Mandatory fields cannot be empty.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* Token not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Reset password","tags":["auth"]}},"/v4/auth/resources":{"get":{"deprecated":true,"description":"### Functional Description: \nProvides information about authentication options.\n\n### Precondition: \nNone.\n\n### Effects: \nNone.\n\n### Further Information:\nThe server identifies the relevant customer by the passed HTTP header `Origin`. \nUse this call to customize the log-on form. \n\n### Important: \nThe default language and authentication method are always provided as topmost entry.\n\n### Currently supported languages (with ISO 639-1 code):\n* German (de)\n* English (en)\n* Spanish (es)\n* French (fr)","operationId":"getAuthInitResources","responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/AuthInitResources"}}}},"404":{"description":"Not Found\n\n* [-90103] Customer not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get authentication resources","tags":["auth"]}},"/v4/config/authSettings":{"get":{"description":"### Functional Description: \nRetrieve the settings of authentication configuration.\n\n### Precondition:\nRight _\"read global config\"_ required.\n\n### Effects:\nNone.\n\n### Further Information:\nNone.\n\n### Configuration settings for various authentication methods\n\n### Authentication Methods\n\n* **sql** \n **Basic Authentication globally allowed** \n This option must be activated to allow users to log in with their credentials stored in the database. \n VALUE: `[true|false]`\n\n* **active_directory** \n **Active Directory Authentication globally allowed** \n This option must be activated to allow users to log in with their Active Directory credentials. \n VALUE: `[true|false]`\n\n* **radius** \n **RADIUS Authentication globally allowed** \n This option must be activated to allow users to log in with their RADIUS username, their PIN and a token password. \n VALUE: `[true|false]`\n\n* **openid** \n **OpenID Connect Authentication globally allowed** \n This option must be activated to allow users to log in with their OpenID Connect identity. \n VALUE: `[true|false]`\n\n* **default_auth_method** \n **Default authentication method without user context** \n If this option is set, the chosen method will be provided as default authentication method if no user context is available. \n Only one authentication method can be set and it must be allowed (see above). \n If no value is set, there is no guarantee about the order of the returned methods. \n Only activated authentication methods may be set as default authentication method. \n VALUE: `[sql|active_directory|radius|openid]`\n\n### Configurable settings for RADIUS authentication\n\n### `DEPRECATED`\n\nThese settings will be ignored. \nPlease use `/system/config/auth/radius` API.\n\n* **radius-ip** \n IP address of the RADIUS server \n VALUE: `IPv4 address`\n\n* **radius-port** \n Port of the RADIUS server (usually 1812) \n VALUE: `Port`\n\n* **radius-sharedsec** \n Shared Secret to access the RADIUS server \n VALUE: `Shared Secret`\n\n* **radius-otpPinFirst** \n Sequence order of concatenated PIN and One-Time token \n VALUE: `[true|false]`","operationId":"getAuthSettings","parameters":[{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ConfigOptionList"}}}},"401":{"description":"Unauthorized\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get authentication settings","tags":["config"]},"put":{"description":"### Functional Description:\nChange one or more settings of authentication configuration.\n\n### Precondition:\nRight _\"change global config\"_ required.\n\n### Effects:\nOne or more global authentication setting gets changed.\n\n### Further Information:\nNone.\n\n### Configuration settings for various authentication methods\n\n### Authentication Methods\n\n* **sql** \n **Basic Authentication globally allowed** \n This option must be activated to allow users to log in with their credentials stored in the database. \n VALUE: `[true|false]`\n\n* **active_directory** \n **Active Directory Authentication globally allowed** \n This option must be activated to allow users to log in with their Active Directory credentials. \n VALUE: `[true|false]`\n\n* **radius** \n **RADIUS Authentication globally allowed** \n This option must be activated to allow users to log in with their RADIUS username, their PIN and a token password. \n VALUE: `[true|false]`\n\n* **openid** \n **OpenID Connect Authentication globally allowed** \n This option must be activated to allow users to log in with their OpenID Connect identity. \n VALUE: `[true|false]`\n\n* **default_auth_method** \n **Default authentication method without user context** \n If this option is set, the chosen method will be provided as default authentication method if no user context is available. \n Only one authentication method can be set and it must be allowed (see above). \n If no value is set, there is no guarantee about the order of the returned methods. \n Only activated authentication methods may be set as default authentication method. \n VALUE: `[sql|active_directory|radius|openid]`\n\n### Configurable settings for RADIUS authentication\n\n### `DEPRECATED`\n\nThese settings will be ignored. \nPlease use `PUT /system/config/auth/radius` API.\n\n* **radius-ip** \n IP address of the RADIUS server \n VALUE: `IPv4 address`\n\n* **radius-port** \n Port of the RADIUS server (usually 1812) \n VALUE: `Port`\n\n* **radius-sharedsec** \n Shared Secret to access the RADIUS server \n VALUE: `Shared Secret`\n\n* **radius-otpPinFirst** \n Sequence order of concatenated PIN and One-Time token \n VALUE: `[true|false]`","operationId":"setAuthSettings","parameters":[{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/ConfigOptionList"},"responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request\n\n* [-10100] Invalid authentication method.\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80005] Not valid boolean value.\n* [-80020] Not valid IP address.\n* [-90071] Cannot enable RADIUS. No Valid Configuration.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-90000] Settings key not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Change authentication setting","tags":["config"]}},"/v4/config/settings":{"get":{"description":"### Functional Description: \nDRACOON configuration entry point. \nReturns a list of configurable system settings.\n\n### Precondition:\nRight _\"read global config\"_ required.\n\n### Effects:\nNone.\n\n### Further Information:\n\n### Attention\nIf `eula_active` is true, but not accepted yet, or password must be changed, only the following two values are returned:\n* **allow_system_global_weak_password**\n* **eula_active**\n\n### Configurable settings\n\n* **allow_system_global_weak_password** \n Allow weak password\n * A weak password has to fulfill the following criteria: \n * is at least 8 characters long \n * contains letters and numbers\n * A strong password has to fulfill the following criteria in addition: \n * contains at least one special character \n * contains upper and lower case characters\n\n VALUE: `[true|false]`\n\n* **branding_server_branding_id** **`NEW`** \n The branding UUID, which corresponds to _BRANDING-QUALIFIER_ in the new branding server. \n VALUE: `String`\n\n* **branding_portal_url** **`NEW`** \n Access URL to to the Branding Portal. \n Only visible for _Config Manager_ of Provider Customer \n VALUE: `String`\n\n* **branding_server_customer** \n The UUID of the branding server customer, which corresponds to customer key in the branding server. \n VALUE: `String`\n\n* **branding_server_url** \n Access URL to to the Branding Server. \n Only visible for _Config Manager_ of Provider Customer \n VALUE: `String`\n\n* **connect_as_drive** \n Rooms can be mounted by WebDAV. \n VALUE: `[true|false]`\n\n* **dblog** \n Write logs to local database \n Only visible for _Config Manager_ of Provider Customer \n VALUE: `[true|false]`\n\n* **default_downloadshare_expiration_period** \n Default expiration period for Download Shares in days. \n VALUE: `Integer between 0 and 9999`\n\n* **default_file_upload_expiration_date** \n Default expiration period for all uploaded files in days. \n VALUE: `Integer between 0 and 9999` (set 0 to disable)\n\n* **default_language** \n Define which language should be default. \n VALUE: `cf. GET /auth/resources Model \"Language\"`\n\n* **default_uploadshare_expiration_period** \n Default expiration period for Upload Shares in days. \n VALUE: `Integer between 0 and 9999`\n\n* **email_from** \n Sender of system-generated emails \n Only visible for _Config Manager_ of Provider Customer \n VALUE: `Valid email address`\n\n* **email_to_sales** \n Contact email address for customers to request more user licenses or data volume. \n VALUE: `Valid email address`\n\n* **email_to_support** \n Support email address for users. \n VALUE: `Valid email address`\n\n* **enable_client_side_crypto** \n Activation status of **TripleCrypt™ Technology**. \n Can only be enabled once; disabling is not possible. \n VALUE: `[true|false]` (default: `false`)\n\n* **eula_active** \n Each user has to confirm the EULA at first login. \n VALUE: `[true|false]`\n\n* **eventlog_retention_period** \n Retention period (in days) of event log entries. \n After that period, all entries are deleted. \n Recommended value: 7 \n VALUE: `Integer between 0 and 9999` (if set to 0: no logs are deleted)\n\n* **file_size_js** \n Maximum file size (in bytes) for downloads of encrypted files with JavaScript. \n Bigger files will require a JavaApplet. \n Recommended value: 10485760 (= 10MB) \n VALUE: `Integer`\n\n* **ip_address_logging** \n Determines whether a user's IP address is logged on login. \n Only visible for _Config Manager_ of Provider Customer \n VALUE: `[true|false]`\n\n* **mailserver** \n Email server to send emails \n Only visible for _Config Manager_ of Provider Customer \n VALUE: `DNS name or IPv4 of an email server`\n\n* **mailserver_authentication_necessary** \n Set to true if the email server requires authentication. \n Only visible for _Config Manager_ of Provider Customer \n VALUE: `[true|false]`\n\n* **mailserver_password** \n**Password is no longer returned.**\n\n* **mailserver_password_set** \n Indicates if a password is set for the mailserver (because `mailserver_password` is always returned empty) \n Only visible for _Config Manager_ of Provider Customer \n VALUE: `[true|false]`\n\n* **mailserver_port** \n Email server port \n Only visible for _Config Manager_ of Provider Customer \n VALUE: `Positive number`\n\n* **mailserver_username** \n User name for email server \n Only visible for _Config Manager_ of Provider Customer \n VALUE: `User name for authentication`\n\n* **mailserver_use_ssl** \n Email server requires SSL connection? \n Only visible for _Config Manager_ of Provider Customer \n Requires mailserver_use_starttls to be false \n VALUE: `[true|false]`\n\n* **mailserver_use_starttls** \n Email server requires StartTLS connection? \n Only visible for _Config Manager_ of Provider Customer \n Requires mailserver_use_ssl to be false \n VALUE: `[true|false]`\n\n* **syslog** \n Write logs to a syslog interface \n Only visible for _Config Manager_ of Provider Customer \n VALUE: `[true|false]`\n\n* **syslog_host** \n Syslog Server (IP or FQDN) \n Only visible for _Config Manager_ of Provider Customer \n VALUE: `DNS name or IPv4 of a syslog server`\n\n* **syslog_port** \n Syslog server port \n Only visible for _Config Manager_ of Provider Customer \n VALUE: `Positive Number`\n\n* **syslog_protocol** \n Protocol to connect to syslog server \n Only visible for _Config Manager_ of Provider Customer \n VALUE: `[TCP|UDP]`\n\n* **system_name** \n System name \n VALUE: `Display name of the DRACOON`\n\n* **enable_email_notification_button** \n Enable mail notification button \n VALUE: `[true|false]`\n\n* **allow_share_password_sms** \n Allow sending of share passwords via SMS \n VALUE: `[true|false]`\n\n* **globally_allow_share_password_sms** \n Allow sending of share passwords via SMS \n Read only \n VALUE: `[true|false]`\n\n* **use_s3_storage** \n Defines if S3 is used as storage backend \n Read only \n VALUE: `[true|false]`\n\n* **s3_default_region** \n Suggested S3 region \n Read only \n VALUE: `Region name`","operationId":"getSystemSettings","parameters":[{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ConfigOptionList"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get system settings","tags":["config"]},"put":{"description":"### Functional Description:\nDRACOON configuration entry point. \nReturns a list of configurable settings.\n\n### Precondition:\nRight _\"change global config\"_ required.\n\n### Effects:\nOne or more global authentication setting gets changed.\n\n### Further Information:\n\n### Attention\nOnly visible for _Config Manager_ of Provider Customer.\n\n### Settings\n\n### Configurable settings\n\n* **allow_system_global_weak_password** \n Allow weak password\n * A weak password has to fulfill the following criteria: \n * is at least 8 characters long \n * contains letters and numbers\n * A strong password has to fulfill the following criteria in addition: \n * contains at least one special character \n * contains upper and lower case characters\n\n VALUE: `[true|false]`\n\n* **branding_server_branding_id** **`NEW`** \n The branding UUID, which corresponds to _BRANDING-QUALIFIER_ in the new branding server. \n VALUE: `String`\n\n* **branding_portal_url** **`NEW`** \n Access URL to to the Branding Portal. \n Only visible for _Config Manager_ of Provider Customer \n VALUE: `String`\n\n* **branding_server_customer** \n The UUID of the branding server customer, which corresponds to customer key in the branding server. \n VALUE: `String`\n\n* **branding_server_url** \n Access URL to to the Branding Server. \n Only visible for _Config Manager_ of Provider Customer \n VALUE: `String`\n\n* **connect_as_drive** \n Rooms can be mounted by WebDAV. \n VALUE: `[true|false]`\n\n* **dblog** \n Write logs to local database \n Only visible for _Config Manager_ of Provider Customer \n VALUE: `[true|false]`\n\n* **default_downloadshare_expiration_period** \n Default expiration period for Download Shares in days. \n VALUE: `Integer between 0 and 9999`\n\n* **default_file_upload_expiration_date** \n Default expiration period for all uploaded files in days. \n VALUE: `Integer between 0 and 9999` (set 0 to disable)\n\n* **default_language** \n Define which language should be default. \n VALUE: `cf. GET /auth/resources Model \"Language\"`\n\n* **default_uploadshare_expiration_period** \n Default expiration period for Upload Shares in days. \n VALUE: `Integer between 0 and 9999`\n\n* **email_from** \n Sender of system-generated emails \n Only visible for _Config Manager_ of Provider Customer \n VALUE: `Valid email address`\n\n* **email_to_sales** \n Contact email address for customers to request more user licenses or data volume. \n VALUE: `Valid email address`\n\n* **email_to_support** \n Support email address for users. \n VALUE: `Valid email address`\n\n* **enable_client_side_crypto** \n Activation status of **TripleCrypt™ technology**. \n Can only be enabled once; disabling is not possible. \n VALUE: `[true|false]` (default: `false`)\n\n* **eula_active** \n Each user has to confirm the EULA at first login. \n VALUE: `[true|false]`\n\n* **eventlog_retention_period** \n Retention period (in days) of event log entries. \n After that period, all entries are deleted. \n Recommended value: 7 \n VALUE: `Integer between 0 and 9999` (if set to 0: no logs are deleted)\n\n* **file_size_js** \n Maximum file size (in bytes) for downloads of encrypted files with JavaScript. \n Bigger files will require a JavaApplet. \n Recommended value: 10485760 (= 10MB) \n VALUE: `Integer`\n\n* **ip_address_logging** \n Determines whether a user's IP address is logged on login. \n Only visible for _Config Manager_ of Provider Customer \n VALUE: `[true|false]`\n\n* **mailserver** \n Email server to send emails \n Only visible for _Config Manager_ of Provider Customer \n VALUE: `DNS name or IPv4 of an email server`\n\n* **mailserver_authentication_necessary** \n Set to true if the email server requires authentication. \n Only visible for _Config Manager_ of Provider Customer \n VALUE: `[true|false]`\n\n* **mailserver_password** \n Password for email server \n VALUE: `Password for authentication`\n\n* **mailserver_port** \n Email server port \n Only visible for _Config Manager_ of Provider Customer \n VALUE: `Positive number`\n\n* **mailserver_username** \n User name for email server \n Only visible for _Config Manager_ of Provider Customer \n VALUE: `User name for authentication`\n\n* **mailserver_use_ssl** \n Email server requires SSL connection? \n Only visible for _Config Manager_ of Provider Customer \n Requires mailserver_use_starttls to be false \n VALUE: `[true|false]`\n\n* **mailserver_use_starttls** \n Email server requires StartTLS connection? \n Only visible for _Config Manager_ of Provider Customer \n Requires mailserver_use_ssl to be false \n VALUE: `[true|false]`\n\n* **syslog** \n Write logs to a syslog interface \n Only visible for _Config Manager_ of Provider Customer \n VALUE: `[true|false]`\n\n* **syslog_host** \n Syslog Server (IP or FQDN) \n Only visible for _Config Manager_ of Provider Customer \n VALUE: `DNS name or IPv4 of a syslog server`\n\n* **syslog_port** \n Syslog server port \n Only visible for _Config Manager_ of Provider Customer \n VALUE: `Positive Number`\n\n* **syslog_protocol** \n Protocol to connect to syslog server \n Only visible for _Config Manager_ of Provider Customer \n VALUE: `[TCP|UDP]`\n\n* **system_name** \n System name \n VALUE: `Display name of the DRACOON`\n\n* **enable_email_notification_button** \n Enable mail notification button \n VALUE: `[true|false]`\n\n* **allow_share_password_sms** \n Allow sending of share passwords via SMS \n VALUE: `[true|false]`","operationId":"setSystemSetting","parameters":[{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/ConfigOptionList"},"responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request\n\n* [-10010] Provided language is not supported.\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.\n* [-80005] Not valid boolean value.\n* [-80009] Not a valid email address.\n* [-80012] Not allowed protocol.\n* [-80013] Not a valid hostname or IP address.\n* [-80018] Not between 0 and 9999.\n* [-80019] Not between 1 and 9999.\n* [-80029] Global configuration value cannot be overwritten.\n* [-90001] Cannot use both SSL and STARTTLS for mail.\n* [-90010] TripleCrypt™ technology is already active and can not be deactivated.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-90000] Settings key not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Change system settings","tags":["config"]}},"/v4/downloads/zip/{token}":{"get":{"description":"### Functional Description: \nDownload multiple files in a ZIP archive.\n\n### Precondition:\nValid download token.\n\n### Effects:\nNone.\n\n### Further Information:\nCreate a download token with `POST /nodes/zip`.","operationId":"getZipFileByToken","parameters":[{"description":"Download token","in":"path","name":"token","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/octet-stream":{"schema":{"format":"byte","type":"string"}}}},"400":{"description":"Bad Request\n\n* [-80000] Mandatory fields cannot be empty.","content":{"application/octet-stream":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-50001] Download token not found.","content":{"application/octet-stream":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/octet-stream":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/octet-stream":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Download ZIP file","tags":["downloads"]}},"/v4/downloads/{token}":{"get":{"description":"### Functional Description: \nDownload a file.\n\n### Precondition:\nValid download token.\n\n### Effects:\nNone.\n\n### Further Information:\nRange requests are supported (please cf. [RCF 7233](https://tools.ietf.org/html/rfc7233) for details).","operationId":"getFileDataByToken","parameters":[{"description":"Download token","in":"path","name":"token","required":true,"schema":{"type":"string"}},{"description":"Range","in":"header","name":"Range","required":false,"schema":{"type":"string"}},{"description":"Always return 'application/octet-stream' instead of specific mimetype","in":"query","name":"generic_mimetype","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"OK","content":{"application/octet-stream":{"schema":{"format":"byte","type":"string"}}}},"206":{"description":"Partial Content","content":{"application/octet-stream":{"schema":{"format":"byte","type":"string"}}}},"400":{"description":"Bad Request\n\n* [-80000] Mandatory fields cannot be empty.","content":{"application/octet-stream":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-50001] Download token not found.","content":{"application/octet-stream":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/octet-stream":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/octet-stream":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"416":{"description":"Range Not Satisfiable"}},"summary":"Download file","tags":["downloads"]},"head":{"description":"### Functional Description: \nDownload a file.\n\n### Precondition:\nValid download token.\n\n### Effects:\nNone.\n\n### Further Information:\nRange requests are supported (please cf. [RCF 7233](https://tools.ietf.org/html/rfc7233) for details).","operationId":"getFileDataByToken_1","parameters":[{"description":"Download token","in":"path","name":"token","required":true,"schema":{"type":"string"}},{"description":"Range","in":"header","name":"Range","required":false,"schema":{"type":"string"}},{"description":"Always return 'application/octet-stream' instead of specific mimetype","in":"query","name":"generic_mimetype","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"OK","content":{"application/octet-stream":{"schema":{"format":"byte","type":"string"}}}},"206":{"description":"Partial Content","content":{"application/octet-stream":{"schema":{"format":"byte","type":"string"}}}},"400":{"description":"Bad Request\n\n* [-80000] Mandatory fields cannot be empty.","content":{"application/octet-stream":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-50001] Download token not found.","content":{"application/octet-stream":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/octet-stream":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/octet-stream":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"416":{"description":"Range Not Satisfiable"}},"summary":"Download file","tags":["downloads"]}},"/v4/eventlog/audits/nodes":{"get":{"description":"### Functional Description: \nRetrieve a list of all nodes of type `room` and the room assignment users with permissions.\n\n### Precondition:\nRight _\"read audit log\"_ required.\n\n### Effects:\nNone.\n\n### Further Information:\nNone.\n\n### Filter\n\nFilter string syntax: `FIELD_NAME:OPERATOR:VALUE` \nMultiple fields are supported.\n\n### Filter fields:\n\n* **nodeId** \n Node ID \n OPERATOR: `eq` (Node ID equal value) \n VALUE: `Search string`\n\n* **nodeName** \n Node name (Login) \n OPERATOR: `cn|eq` (Node name contains value | equal value) \n VALUE: `Search string`\n\n* **nodeParentId** \n Node parent ID \n OPERATOR: `eq` (Parent ID equal value; parent ID 0 is the root node.) \n VALUE: `Search string`\n\n* **userId** \n User ID \n OPERATOR: `eq` (User ID equal value) \n VALUE: `Search string`\n\n* **userName** \n User name (Login) \n OPERATOR: `cn|eq` (User name contains value | equal value) \n VALUE: `Search string`\n\n* **userFirstName** \n User first name \n OPERATOR: `cn|eq` (User first name contains value | equal value) \n VALUE: `Search string`\n\n* **userLastName** \n User last name \n OPERATOR: `cn|eq` (User last name contains value | equal value) \n VALUE: `Search string`\n\n* **permissionsManage** \n Filter the users that (don't) have manage right in this room \n OPERATOR: `eq` (multiple values not allowed) \n VALUE: `[true|false]`\n\n* **nodeIsEncrypted** \n Encrypted node filter \n OPERATOR: `eq` (multiple values not allowed) \n VALUE: `[true|false]`\n\n* **nodeHasRecycleBin** \n Recycle bin filter \n OPERATOR: `eq` (multiple values not allowed) \n VALUE: `[true|false]`\n \n* **nodeHasActivitiesLog** \n Activities log filter \n OPERATOR: `eq` (multiple values not allowed) \n VALUE: `[true|false]`\n\n### Logical grouping:\nFiltering according first three fields (`login`, `lastName`, `firstName`) is intrinsically processed by the API as logical _OR_. \nIn opposite, filtering according to is processed intrinsically as logical _AND_.\n\n### Example:\n* `userName:cn:searchString_1|userFirstName:cn:searchString_2|nodeId:eq:2` \nFilter by user login containing `searchString_1` OR first name containing `searchString_2` and node ID equal 2.\n\n### Sort\n\nSort string syntax: `FIELD_NAME:ORDER` \nOrder can be `asc` or `desc`. \nMultiple fields are supported.\n\n### Sort fields:\n\n* **nodeId**: Node ID\n* **nodeName**: Node name\n* **nodeParentId**: Node parent ID\n* **nodeSize**: Node size\n* **nodeQuota**: Node quota\n\n### Example:\n* `nodeName:asc` \nSort by `nodeName` ascending.","operationId":"getAuditNodeUserData","parameters":[{"description":"Filter string","in":"query","name":"filter","required":false,"schema":{"type":"string"}},{"description":"Sort string","in":"query","name":"sort","required":false,"schema":{"type":"string"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"items":{"$ref":"#/components/schemas/AuditNodeResponse"},"type":"array"}}}},"400":{"description":"Bad Request\n\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get node assigned users with permissions","tags":["eventlog"]}},"/v4/eventlog/events":{"get":{"description":"### Functional Description: \nRetrieve eventlog (= audit log) events.\n\n### Precondition:\nRole _\"Log Auditor\"_ required.\n\n### Effects:\nNone.\n\n### Further Information:\nOutput may be limited to a certain number of entries. \nPlease use filter criteria and paging.","operationId":"getLogEvents","parameters":[{"description":"Range offset","in":"query","name":"offset","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Range limit","in":"query","name":"limit","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Start date\ne.g. 2015-12-31T23:59:00","in":"query","name":"date_start","required":false,"schema":{"type":"string"}},{"description":"End date\ne.g. 2015-12-31T23:59:00","in":"query","name":"date_end","required":false,"schema":{"type":"string"}},{"description":"Operation ID\ncf. `GET /eventlog/operations`","in":"query","name":"type","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"User ID","in":"query","name":"user_id","required":false,"schema":{"type":"integer","format":"int64"}},{"description":"Operation status:\n* 0 - Success\n* 2 - Error","in":"query","name":"status","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"User client","in":"query","name":"user_client","required":false,"schema":{"type":"string"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/LogEventList"}},"text/csv":{"schema":{"$ref":"#/components/schemas/LogEventList"}}}},"400":{"description":"Bad Request\n\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.\n* [-80024] Invalid range parameters.\n* [-80026] Not a valid operation ID.\n* [-80027] Not a valid operation status.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}},"text/csv":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}},"text/csv":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}},"text/csv":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}},"text/csv":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}},"text/csv":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get system events","tags":["eventlog"]}},"/v4/eventlog/operations":{"get":{"description":"### Functional Description: \nRetrieve eventlog (= audit log) operation IDs and the associated log operation description.\n\n### Precondition:\nRole _\"Log Auditor\"_ required.\n\n### Effects:\nNone.\n\n### Further Information:\nNone.","operationId":"getLogOperations","parameters":[{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/LogOperationList"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get allowed Log Operations","tags":["eventlog"]}},"/v4/groups":{"get":{"description":"### Functional Description: \nReturns a list of user groups.\n\n### Precondition:\nRight _\"read groups\"_ required.\n\n### Effects:\nNone.\n\n### Further Information:\nNone.\n\n### Filters\n\nFilter string syntax: `FIELD_NAME:OPERATOR:VALUE`\n\n### Filter fields:\n\n* **name** \n Group name \n OPERATOR: `cn` (Group name contains value; multiple values not allowed) \n VALUE: `Search string`\n\n### Example: \n* `name:cn:searchString` \nFilter by group `name` containing `searchString`.\n\n### Sorting\n\nSort string syntax: `FIELD_NAME:ORDER` \nOrder can be `asc` or `desc`. \nMultiple fields are supported.\n\n### Sort fields:\n\n* **name**: Group name\n* **createdAt**: Creation date\n* **expireAt**: Expiration date\n* **cntUsers**: Amount of users\n\n### Example:\n* `name:asc|expireAt:desc` \nSort by `name` ascending and by `expireAt` descending.","operationId":"getGroups","parameters":[{"description":"Range offset","in":"query","name":"offset","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Range limit","in":"query","name":"limit","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Filter string","in":"query","name":"filter","required":false,"schema":{"type":"string"}},{"description":"Sort string","in":"query","name":"sort","required":false,"schema":{"type":"string"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/GroupList"}}}},"400":{"description":"Bad Request\n\n* [-80024] Invalid range parameters.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get user groups","tags":["groups"]},"post":{"description":"### Functional Description:\nCreate a new user group.\n\n### Precondition:\nRight _\"change groups\"_ required.\n\n### Effects:\nA new group is created.\n\n### Further Information:\n* If a group should not expire, leave `expireAt` empty.\n* Group names are limited to **150** characters\n* Allowed characters: **All**","operationId":"createGroup","parameters":[{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/CreateGroupRequest"}}},"description":"body","required":true},"responses":{"201":{"description":"Created","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/Group"}}}},"400":{"description":"Bad Request\n\n* [-30020] Group must have at least 'read' right in parent room.\n* [-70510] User already in the group.\n* [-80000] Mandatory fields cannot be empty.\n* [-80005] Not valid boolean value.\n* [-80006] Expiration date is in the past.\n* [-80007] Maximum allowed length is exceeded.\n* [-80008] The year is too far in the future. Max year is limited to 9999.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict\n\n* Specified group name already exists.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Create new user group","tags":["groups"]}},"/v4/groups/{group_id}":{"delete":{"description":"### Functional Description:\nDelete a user group.\n\n### Precondition:\nRight _\"delete groups\"_ required.\n\n### Effects:\nUser group is deleted.\n\n### Further Information:\nNone.","operationId":"deleteGroup","parameters":[{"description":"Group ID","in":"path","name":"group_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request\n\n* [-30040] A group which is defined as AD Import Group can not be deleted.\n* [-40006] At least one admin user/group required.\n* [-71006] At least one role user/group required.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-30000] Group not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Delete user group","tags":["groups"]},"get":{"description":"### Functional Description: \nRetrieve detailed information about one user group.\n\n### Precondition:\nRight _\"read groups\"_ required.\n\n### Effects:\nNone.\n\n### Further Information:\nNone.","operationId":"getGroup","parameters":[{"description":"Group ID","in":"path","name":"group_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/Group"}}}},"400":{"description":"Bad Request\n\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-30000] Group not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get user group","tags":["groups"]},"put":{"description":"### Functional Description: \nUpdate the meta data of a user group.\n\n### Precondition:\nRight _\"change groups\"_ required.\n\n### Effects:\nMeta data of a user group is updated.\n\n### Further Information:\n* If a group should not expire, leave `expireAt` empty.\n* Group names are limited to **150** characters\n* Allowed characters: **All**","operationId":"updateGroup","parameters":[{"description":"Group ID","in":"path","name":"group_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/UpdateGroupRequest"}}},"description":"body","required":true},"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/Group"}}}},"400":{"description":"Bad Request\n\n* [-30020] Group must have at least 'read' right in parent room.\n* [-40006] At least one admin user/group required.\n* [-71006] At least one role user/group required.\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.\n* [-80005] Not valid boolean value.\n* [-80006] Expiration date is in the past.\n* [-80007] Maximum allowed length is exceeded.\n* [-80008] The year is too far in the future. Max year is limited to 9999.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-30000] Group not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict\n\n* Specified group name already exists.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Update user group","tags":["groups"]}},"/v4/groups/{group_id}/roles":{"get":{"description":"### Functional Description: \nRetrieve a list of all roles and the role assignment rights of a group.\n\n### Precondition:\nRight _\"read groups\"_ required.\n\n### Effects:\nNone.\n\n### Further Information:\nNone.","operationId":"getGroupRoles","parameters":[{"description":"Group ID","in":"path","name":"group_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/RoleList"}}}},"400":{"description":"Bad Request\n\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-30000] Group not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get group roles","tags":["groups"]}},"/v4/groups/{group_id}/rooms":{"get":{"description":"### Functional Description: \nRetrieve a list of rooms, that are granted or may be granted to the group.\n\n### Precondition:\nRight _\"read groups\"_ required.\n\n### Effects:\nNone.\n\n### Further Information:\nNone.\n\n### Filter\n\n### Filter fields:\n\n* **name** \n Room name \n OPERATOR: `cn` (multiple values not allowed) \n VALUE: `search string`\n\n* **isGranted** \n Filter rooms which the group is or is not granted \n OPERATOR: `eq` (multiple values not allowed) \n VALUE: `[true|false|any]` (default: `true`)\n\n* **effectivePerm** \n Filter rooms with _DIRECT_ or _DIRECT_ **AND** _EFFECTIVE_ permissions \n * `false`: _DIRECT_ permissions \n * `true`: _DIRECT_ **AND** _EFFECTIVE_ permissions \n \n > _DIRECT_ means: e.g. room administrator grants read permissions to group of users **directly** on desired room. \n _EFFECTIVE_ means: e.g. group of users gets read permissions on desired room through **inheritance**. \n\n OPERATOR: `eq` (multiple values not allowed) \n VALUE: `[true|false]` (default: `true`)\n\n### Example:\n* `isGranted:eq:false|name:cn:searchString` \nGet all rooms where the group is not granted AND whose `name` is like `searchString`.","operationId":"getGroupRooms","parameters":[{"description":"Group ID","in":"path","name":"group_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Range offset","in":"query","name":"offset","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Range limit","in":"query","name":"limit","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Filter string","in":"query","name":"filter","required":false,"schema":{"type":"string"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/RoomTreeDataList"}}}},"400":{"description":"Bad Request\n\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.\n* [-80024] Invalid range parameters.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-30000] Group not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get rooms granted to the group or/and rooms that can be granted","tags":["groups"]}},"/v4/groups/{group_id}/users":{"delete":{"description":"### Functional Description: \nRemove group members.\n\n### Precondition:\nRight _\"change groups\"_ required.\n\n### Effects:\nProvided users are removed from the user group.\n\n### Further Information:\nBatch function. \nThe provided users are removed from the user group.","operationId":"deleteGroupMembers","parameters":[{"description":"Group ID","in":"path","name":"group_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/ChangeGroupMembersRequest"},"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/Group"}}}},"400":{"description":"Bad Request\n\n* [-71006] At least one role user/group required.\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-30000] Group not found.\n* [-70501] User not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Delete group members","tags":["groups"]},"get":{"description":"### Functional Description: \nRetrieve a list of group members.\n\n### Precondition:\nRight _\"read groups\"_ required.\n\n### Effects:\nNone.\n\n### Further Information:\nNone.\n\n### Filter\n\n### Filter fields:\n\n* **displayName** \n User display name (`firstName`, `lastName`, `login`) \n OPERATOR: `cn` (multiple values not allowed) \n VALUE: `search string`\n\n* **isMember** \n Filter the group members AND / OR users \n OPERATOR: `eq` (multiple values not allowed) \n VALUE: `[true|false|any]` (default: `true`)\n\n### Example:\n* `is_member:eq:false|displayName:cn:searchString` \nGet all users that are not in this group AND whose display name is like `searchString`.","operationId":"getGroupUsers","parameters":[{"description":"Group ID","in":"path","name":"group_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Range offset","in":"query","name":"offset","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Range limit","in":"query","name":"limit","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Filter string","in":"query","name":"filter","required":false,"schema":{"type":"string"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/GroupUserList"}}}},"400":{"description":"Bad Request\n\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.\n* [-80024] Invalid range parameters.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-30000] Group not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get group member users or/and users who can become a member","tags":["groups"]},"post":{"description":"### Functional Description:\nAdd members to a group.\n\n### Precondition:\nRight _\"change groups\"_ required.\n\n### Effects:\nNew members are added to the group.\n\n### Further Information:\nBatch function. \nThe newly provided members will be added to the existing ones.","operationId":"addGroupMembers","parameters":[{"description":"Group ID","in":"path","name":"group_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/ChangeGroupMembersRequest"},"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/Group"}}}},"400":{"description":"Bad Request\n\n* [-70510] User already in the group.\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-30000] Group not found.\n* [-70501] User not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Add group members","tags":["groups"]}},"/v4/nodes":{"delete":{"description":"### Functional Description:\nDelete nodes (room, folder, file).\n\n### Precondition:\nAuthenticated user with _\"delete\"_ permissions on supplied nodes.\n\n### Effects:\nNodes are deleted.\n\n### Further Information:\nNodes must be in same parent.","operationId":"deleteNodes","parameters":[{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/DeleteNodesRequest"}}},"description":"body","required":true},"responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request\n\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n\n* [-10006] User has no permissions to delete file(s).","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/NodeBatchOperationErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-41000] Node not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Delete file system nodes","tags":["nodes"]},"get":{"description":"### Functional Description: \nProvides a hierarchical list of file system nodes (rooms, folders, files) of a given parent that are accessible by the current user.\n\n### Precondition:\nAuthenticated user.\n\n### Effects:\nNone.\n\n### Further Information:\n`EncryptionInfo` is not provided.\n\n### Filter\n\nFilter string syntax: `FIELD_NAME:OPERATOR:VALUE[:VALUE...]`\n\n### Fields:\n\n* **type** \n Node type filter \n OPERATOR: `eq` (multiple values allowed) \n VALUE: `[room|folder|file]`\n\n* **perm** \n Permissions filter \n OPERATOR: `eq` (multiple values allowed) \n VALUE: `[manage|read|change|create|delete|manageDownloadShare|manageUploadShare|canReadRecycleBin|canRestoreRecycleBin|canDeleteRecycleBin]`\n\n* **childPerm** \n The same as **perm**, but less restrictive (applied to child nodes only) \n OPERATOR: `eq` (multiple values allowed) \n VALUE: `[manage|read|change|create|delete|manageDownloadShare|manageUploadShare|canReadRecycleBin|canRestoreRecycleBin|canDeleteRecycleBin]`\n\n* **name** \n Node name filter \n OPERATOR: `cn` (name contains value, multiple values not allowed) \n VALUE: `Search string`\n\n* **encrypted** \n Node encryption status filter \n OPERATOR: `eq` (Node is encrypted, multiple values not allowed) \n VALUE: `[true|false]`\n\n* **branchVersion** \n Node branch version \n OPERATOR: `ge|le` \n VALUE: `version number`\n\n### Example:\n* `type:eq:room:folder|perm:eq:read` \nGet nodes where type equals `room` OR `folder` AND user has `read` permissions.\n\n### Sort\n\nSort string syntax: `FIELD_NAME:ORDER` \nOrder can be `asc` or `desc`. \nMultiple fields not supported.\n\n### Sort fields:\n\n* **name**: Node name\n* **createdBy**: Creator user name\n* **createdAt**: Creation date\n* **updatedBy**: Modifier user name\n* **updatedAt**: Modification date\n* **fileType**: File type (extension)\n* **classification**: Classification ID (for files only): \n * 1 - public\n * 2 - for internal use only\n * 3 - confidential\n * 4 - strictly confidential\n* **size**: Node size\n* **cntAdmins**: **DEPRECATED (No effect)** For rooms only: Number of admins\n* **cntUsers**: **DEPRECATED (No effect)** For rooms only: Number of users\n* **nodeCntChildren**: For rooms / folders only: Number of direct children (not recursive)\n* **cntDeletedVersions**: For files / folders only: Number of deleted versions of this file / folder (not recursive)\n\n### Example:\n* `name:desc` \nSort by `name` descending.","operationId":"getFsNodes","parameters":[{"description":"* 0 - top level nodes only\n* n (any positive number) - include n levels starting from the current node\n* -1 - full tree (**DEPRECATED**: will be removed)","in":"query","name":"depth_level","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Parent node ID.\nOnly rooms and folders can be parents.\nParent ID 0 or empty is the root node.","in":"query","name":"parent_id","required":false,"schema":{"type":"integer","format":"int64"}},{"description":"Show all rooms for management perspective.\nOnly posible for _Rooms Managers_.\nFor all other users, it will be ignored.","in":"query","name":"room_manager","required":false,"schema":{"type":"boolean"}},{"description":"Filter string","in":"query","name":"filter","required":false,"schema":{"type":"string"}},{"description":"Sort string","in":"query","name":"sort","required":false,"schema":{"type":"string"}},{"description":"Range offset","in":"query","name":"offset","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Range limit","in":"query","name":"limit","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/NodeList"}}}},"400":{"description":"Bad Request\n\n* [-80024] Invalid range parameters.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-41000] Node not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get file system nodes","tags":["nodes"]}},"/v4/nodes/deleted_nodes":{"delete":{"description":"### Functional Description:\nPermanently remove a list of nodes from the Recycle Bin.\n\n### Precondition:\nUser has _\"delete recycle bin\"_ permissions in parent room.\n\n### Effects:\nAll provided nodes are removed.\n\n### Further Information:\nThe removal of deleted nodes from the Recycle Bin is irreversible.","operationId":"deleteDeletedNodes","parameters":[{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/DeleteDeletedNodesRequest"}}},"description":"body","required":true},"responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request\n\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-41100] Deleted node not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Delete nodes from Recycle Bin","tags":["nodes"]}},"/v4/nodes/deleted_nodes/actions/restore":{"post":{"description":"### Functional Description: \nRestore a list of deleted nodes.\n\n### Precondition:\nUser has _\"create\"_ permissions in parent room and _\"restore recycle bin\"_ permissions.\n\n### Effects:\nThe selected files are moved from the Recycle Bin to the chosen productive container.\n\n### Further Information:\nIf no parent ID is provided, the node is restored to its previous location. \nThe default resolution strategy is `autorename` that adds numbers to the file name until the conflict is solved. \nIf an existing file is overwritten, it is moved to the Recycle Bin instead of the restored one.","operationId":"restoreNodes","parameters":[{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/RestoreDeletedNodesRequest"}}},"description":"body","required":true},"responses":{"204":{"description":"No Content","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/NotRestoredNodeList"}}}},"400":{"description":"Bad Request\n\n* [-40002] (Target) room is encrypted.\n* [-40013] Encrypted file cannot be restored inside another than its original room.\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.\n* [-80034] 'keepShareLinks' is only allowed with conflict mode 'overwrite'.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-41000] Node not found.\n* [-41100] Deleted node not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Restore deleted nodes","tags":["nodes"]}},"/v4/nodes/deleted_nodes/{deleted_node_id}":{"get":{"description":"### Functional Description: \nGet the meta data of one deleted node.\n\n### Precondition:\nUser can access parent room and has _\"read recycle bin\"_ permissions.\n\n### Effects:\nNone.\n\n### Further Information:\nNone.","operationId":"getFsDeletedNode","parameters":[{"description":"Deleted node ID","in":"path","name":"deleted_node_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/DeletedNode"}}}},"400":{"description":"Bad Request\n\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-41100] Deleted node not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get deleted node","tags":["nodes"]}},"/v4/nodes/files/keys":{"post":{"description":"### Functional Description: \nSets symmetric file keys for several users and files.\n\n### Precondition:\nUser has file keys for the files.\n\n### Effects:\nStores new file keys for other users.\n\n### Further Information:\nOnly users with copies of the file key (encrypted with their public keys) can access a certain file. \nThis endpoint is used for the distribution of file keys amongst an authorized user base.","operationId":"setUserFileKeys","parameters":[{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/UserFileKeySetBatchRequest"}}},"description":"body","required":true},"responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request\n\n* [-40001] (Target) room is not encrypted.\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.\n* [-80007] Maximum allowed length is exceeded.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n\n* [-40761] User does not have a file key.\n* [-70020] User does not have a key pair.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-40751] File not found.\n* [-70501] User not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Set FileKeys for a list of users and files","tags":["nodes"]}},"/v4/nodes/files/uploads":{"post":{"description":"### Functional Description:\nThis endpoint creates a new upload channel which is the first step in any file upload workflow.\n\n### Precondition:\nUser has _\"create\"_ permissions in the parent container (room or folder).\n\n### Effects:\nA new upload channel for a file is created. \nIts ID and an upload token are returned.\n\n### Further Information:\nThe upload ID is used for uploads with `X-Sds-Auth-Token` header, the upload token can be used for uploads without authentication header.\n\nPlease provide the size of the intended upload so that the quota can be checked in advanced and no data is transferred unnecessarily.\n\n### Node naming convention\n\n* Node (room, folder, file) names are limited to 150 characters.\n\n* Not allowed names: \n`'CON', 'PRN', 'AUX', 'NUL', 'COM1', 'COM2', 'COM3', 'COM4', 'COM5', 'COM6', 'COM7', 'COM8', 'COM9', 'LPT1', 'LPT2', 'LPT3', 'LPT4', 'LPT5', 'LPT6', 'LPT7', 'LPT8', 'LPT9','.','/'`\n\n* Not allowed characters in names: \n`'../', '\\\\', '<','>', ':', '\\\"', '|', '?', '*', '/'`\n","operationId":"createFileUpload","parameters":[{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/CreateFileUploadRequest"}}},"description":"body","required":true},"responses":{"201":{"description":"Created","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/CreateFileUploadResponse"}}}},"400":{"description":"Bad Request\n\n* [-40755] Bad node name.\n* [-40756] Illegal classification code.\n* [-41200] Path is too long.\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.\n* [-80005] Not valid boolean value.\n* [-80006] Expiration date is in the past.\n* [-80007] Maximum allowed length is exceeded.\n* [-80008] The year is too far in the future. Max year is limited to 9999.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-40000] Parent node not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"507":{"description":"Insufficient Storage\n\n* [-40200] Exceeds the free node quota in room.\n* [-90200] Exceeds the free customer quota.\n* [-90201] Exceeds the free customer physical disk space.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Create new file upload channel","tags":["nodes"]}},"/v4/nodes/files/uploads/{upload_id}":{"delete":{"description":"### Functional Description:\nCancel an upload and destroy the Upload Channel.\n\n### Precondition:\nAn Upload Channel has been created.\n\n### Effects:\nThe Upload Channel is removed and all temporary uploaded data is purged.\n\n### Further Information:\nIt is recommended to notify the API about cancelled uploads if possible.","operationId":"cancelFileUpload","parameters":[{"description":"Upload channel ID","in":"path","name":"upload_id","required":true,"schema":{"type":"string"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request\n\n* [-80000] Mandatory fields cannot be empty.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-20501] Upload not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Cancel file upload","tags":["nodes"]},"post":{"description":"### Functional Description: \nUploads a file or parts of it in an active Upload Channel.\n\n### Precondition:\nAn Upload Channel has been created.\n\n### Effects:\nA file or parts of it are uploaded to a temporary location.\n\n### Further Information:\nThis endpoints supports chunked upload. \nPlease cf. [RFC 7233](https://tools.ietf.org/html/rfc7233) for further information.","operationId":"uploadFile","parameters":[{"description":"Upload channel ID","in":"path","name":"upload_id","required":true,"schema":{"type":"string"}},{"description":"Content-Range\ne.g. \"bytes 0-999/3980\"\ncf. [RFC 7233](https://tools.ietf.org/html/rfc7233)","in":"header","name":"Content-Range","required":false,"schema":{"type":"string"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/uploadFile"},"responses":{"201":{"description":"Created","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ChunkUploadResponse"}}}},"400":{"description":"Bad Request\n\n* [-80000] Mandatory fields cannot be empty.\n* [-80021] Incorrect upload 'Content-Range'.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-20501] Upload not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"507":{"description":"Insufficient Storage\n\n* [-40200] Exceeds the free node quota in room.\n* [-90200] Exceeds the free customer quota.\n* [-90201] Exceeds the free customer physical disk space.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Upload file","tags":["nodes"]},"put":{"description":"### Functional Description:\nFinishes an upload and closes the corresponding Upload Channel.\n\n### Precondition:\nAn Upload Channel has been created and data has been transmitted.\n\n### Effects:\nThe upload is finished and the temporary file is moved to the productive environment.\n\n### Further Information:\nThe provided file name might be changed in accordance with the resolution strategy: \n* **autorename**: changes the file name and adds a number to avoid conflicts.\n* **overwrite**: deletes any old file with the same file name.\n* **fail**: returns an error; in this case, another `PUT` request with a different file name may be sent.\n\nPlease ensure that all chunks have been transferred correctly before finishing the upload.\n\n### 200 OK is not used by this API","operationId":"completeFileUpload","parameters":[{"description":"Upload channel ID","in":"path","name":"upload_id","required":true,"schema":{"type":"string"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompleteUploadRequest"}}},"description":"body"},"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/Node"}}}},"201":{"description":"Created","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/Node"}}}},"202":{"description":"Accepted"},"400":{"description":"Bad Request\n\n* [-40763] File key must be set for upload into encrypted room.\n* [-80000] Mandatory fields cannot be empty.\n* [-80034] 'keepShareLinks' is only allowed with conflict mode 'overwrite'.\n* [-80005] Not valid boolean value.\n* [-80006] Expiration date is in the past.\n* [-80007] Maximum allowed length is exceeded.\n* [-80008] The year is too far in the future. Max year is limited to 9999.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-20501] Upload not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict\n\n* Specified file name already exists. Node of existing file is returned.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/Node"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"508":{"description":"Loop Detected"}},"summary":"Complete file upload","tags":["nodes"]}},"/v4/nodes/files/{file_id}":{"put":{"description":"### Functional Description: \nUpdates a file's meta data.\n\n### Precondition:\nUser has _\"change\"_ permissions in parent room.\n\n### Effects:\nMeta data changed.\n\n### Further Information:\nNone.\n\n### Node naming convention\n\n* Node (room, folder, file) names are limited to 150 characters.\n\n* Not allowed names: \n`'CON', 'PRN', 'AUX', 'NUL', 'COM1', 'COM2', 'COM3', 'COM4', 'COM5', 'COM6', 'COM7', 'COM8', 'COM9', 'LPT1', 'LPT2', 'LPT3', 'LPT4', 'LPT5', 'LPT6', 'LPT7', 'LPT8', 'LPT9','.','/'`\n\n* Not allowed characters in names: \n`'../', '\\\\', '<','>', ':', '\\\"', '|', '?', '*', '/'`\n","operationId":"updateFile","parameters":[{"description":"File ID","in":"path","name":"file_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/UpdateFileRequest"}}},"description":"body","required":true},"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/Node"}}}},"400":{"description":"Bad Request\n\n* [-40755] Bad node name.\n* [-40756] Illegal classification code.\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.\n* [-80005] Not valid boolean value.\n* [-80006] Expiration date is in the past.\n* [-80007] Maximum allowed length is exceeded.\n* [-80008] The year is too far in the future. Max year is limited to 9999.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-40751] File not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict\n\n* Specified file name already exists.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Update file meta data","tags":["nodes"]}},"/v4/nodes/files/{file_id}/data_room_file_key":{"get":{"description":"### Functional Description: \nReturns the file key for the room emergency password of a certain file (if available).\n\n### Precondition:\nUser with _\"read\"_ permissions in parent room.\n\n### Effects:\nNone.\n\n### Further Information:\nNone.","operationId":"getDataRoomFileKey","parameters":[{"description":"File ID","in":"path","name":"file_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/FileKey"}}}},"400":{"description":"Bad Request\n\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-40751] File not found.\n* [-40761] User does not have a file key.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get room emergency password","tags":["nodes"]}},"/v4/nodes/files/{file_id}/data_space_file_key":{"get":{"description":"### Functional Description: \nReturns the file key for the system emergency password of a certain file (if available).\n\n### Precondition:\nUser with _\"read\"_ permissions in parent room.\n\n### Effects:\nNone.\n\n### Further Information:\nNone.","operationId":"getDataSpaceFileKey","parameters":[{"description":"File ID","in":"path","name":"file_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/FileKey"}}}},"400":{"description":"Bad Request\n\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-40751] File not found.\n* [-40761] User does not have a file key.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get system emergency password","tags":["nodes"]}},"/v4/nodes/files/{file_id}/downloads":{"get":{"deprecated":true,"description":"### Use `downloads` API\n\n### Functional Description:\nDownload a file.\n\n### Precondition:\nUser with _\"read\"_ permissions in parent room.\n\n### Effects:\nNone.\n\n### Further Information:\nRange requests are supported (please cf. [RFC 7233](https://tools.ietf.org/html/rfc7233) for details).","operationId":"getFileData","parameters":[{"description":"File ID","in":"path","name":"file_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Range","in":"header","name":"Range","required":false,"schema":{"type":"string"}},{"description":"Always return 'application/octet-stream' instead of specific mimetype","in":"query","name":"generic_mimetype","required":false,"schema":{"type":"boolean"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/octet-stream":{"schema":{"format":"byte","type":"string"}}}},"206":{"description":"Partial Content","content":{"application/octet-stream":{"schema":{"format":"byte","type":"string"}}}},"400":{"description":"Bad Request\n\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.","content":{"application/octet-stream":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/octet-stream":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/octet-stream":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-40751] File not found.","content":{"application/octet-stream":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/octet-stream":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/octet-stream":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"416":{"description":"Range Not Satisfiable"}},"summary":"Download file","tags":["nodes"]},"head":{"deprecated":true,"description":"### Use `downloads` API\n\n### Functional Description:\nDownload a file.\n\n### Precondition:\nUser with _\"read\"_ permissions in parent room.\n\n### Effects:\nNone.\n\n### Further Information:\nRange requests are supported (please cf. [RFC 7233](https://tools.ietf.org/html/rfc7233) for details).","operationId":"getFileData_1","parameters":[{"description":"File ID","in":"path","name":"file_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Range","in":"header","name":"Range","required":false,"schema":{"type":"string"}},{"description":"Always return 'application/octet-stream' instead of specific mimetype","in":"query","name":"generic_mimetype","required":false,"schema":{"type":"boolean"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/octet-stream":{"schema":{"format":"byte","type":"string"}}}},"206":{"description":"Partial Content","content":{"application/octet-stream":{"schema":{"format":"byte","type":"string"}}}},"400":{"description":"Bad Request\n\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.","content":{"application/octet-stream":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/octet-stream":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/octet-stream":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-40751] File not found.","content":{"application/octet-stream":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/octet-stream":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/octet-stream":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"416":{"description":"Range Not Satisfiable"}},"summary":"Download file","tags":["nodes"]},"post":{"description":"### Functional Description:\nCreate a download token to retrieve a file without `X-Sds-Auth-Token` Header.\n\n### Precondition:\nUser with _\"read\"_ permissions in parent room.\n\n### Effects:\nDownload token is generated and returned.\n\n### Further Information:\nThe token is necessary to access `downloads` ressources.","operationId":"createFileDownloadToken","parameters":[{"description":"File ID","in":"path","name":"file_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/DownloadTokenGenerateResponse"}}}},"400":{"description":"Bad Request\n\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-40751] File not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Generate download token","tags":["nodes"]}},"/v4/nodes/files/{file_id}/user_file_key":{"get":{"description":"### Functional Description: \nReturns the file key for the current user (if available).\n\n### Precondition:\nUser with _\"read\"_, _\"create\"_ or _\"manage download share\"_ permissions in parent room.\n\n### Effects:\nNone.\n\n### Further Information:\nThe symmetric file key is encrypted with the user's public key. \nFile keys are generated with the workflow _\"Generate file keys\"_ that starts at `GET /nodes/missingFileKeys`.","operationId":"getUserFileKey","parameters":[{"description":"File ID","in":"path","name":"file_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/FileKey"}}}},"400":{"description":"Bad Request\n\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-40751] File not found.\n* [-40761] User does not have a file key.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get user's file key","tags":["nodes"]}},"/v4/nodes/folders":{"post":{"description":"### Functional Description:\nCreates a new folder.\n\n### Precondition:\nUser has _\"create\"_ permissions in current room.\n\n### Effects:\nA new folder is created.\n\n### Further Information:\nFolders cannot be created on top level (without parent element).\n\n### Node naming convention\n\n* Node (room, folder, file) names are limited to 150 characters.\n\n* Not allowed names: \n`'CON', 'PRN', 'AUX', 'NUL', 'COM1', 'COM2', 'COM3', 'COM4', 'COM5', 'COM6', 'COM7', 'COM8', 'COM9', 'LPT1', 'LPT2', 'LPT3', 'LPT4', 'LPT5', 'LPT6', 'LPT7', 'LPT8', 'LPT9','.','/'`\n\n* Not allowed characters in names: \n`'../', '\\\\', '<','>', ':', '\\\"', '|', '?', '*', '/'`\n","operationId":"createFolder","parameters":[{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/CreateFolderRequest"}}},"description":"body","required":true},"responses":{"201":{"description":"Created","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/Node"}}}},"400":{"description":"Bad Request\n\n* [-40755] Bad node name.\n* [-41200] Path is too long.\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.\n* [-80007] Maximum allowed length is exceeded.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-41000] Node not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict\n\n* Specified folder name already exists.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Create new folder","tags":["nodes"]}},"/v4/nodes/folders/{folder_id}":{"put":{"description":"### Functional Description: \nRenames an existing folder.\n\n### Precondition:\nUser has _\"change\"_ permissions in current room.\n\n### Effects:\nThe folder is renamed.\n\n### Further Information:\nNone.\n\n### Node naming convention\n\n* Node (room, folder, file) names are limited to 150 characters.\n\n* Not allowed names: \n`'CON', 'PRN', 'AUX', 'NUL', 'COM1', 'COM2', 'COM3', 'COM4', 'COM5', 'COM6', 'COM7', 'COM8', 'COM9', 'LPT1', 'LPT2', 'LPT3', 'LPT4', 'LPT5', 'LPT6', 'LPT7', 'LPT8', 'LPT9','.','/'`\n\n* Not allowed characters in names: \n`'../', '\\\\', '<','>', ':', '\\\"', '|', '?', '*', '/'`\n","operationId":"updateFolder","parameters":[{"description":"Folder ID","in":"path","name":"folder_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/UpdateFolderRequest"}}},"description":"body","required":true},"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/Node"}}}},"400":{"description":"Bad Request\n\n* [-40755] Bad node name.\n* [-41200] Path is too long.\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.\n* [-80007] Maximum allowed length is exceeded.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-41000] Node not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict\n\n* Specified folder name already exists.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Update folder","tags":["nodes"]}},"/v4/nodes/missingFileKeys":{"get":{"description":"### Functional Description: \nRequests a list of missing file keys that may be generated by the current user.\n\n### Precondition:\nUser has a key pair.\n\n### Effects:\nNone.\n\n### Further Information:\nClients should regularly request missing file keys to provide access to files for other users. \nThe returned list is ordered by priority (emergency passwords are returned first). \n### Please note: \nThis API returns **1024** entries at maximum. \nThere might be more entries even if a total of 1024 is returned.","operationId":"missingFileKeys","parameters":[{"description":"Range offset","in":"query","name":"offset","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Range limit","in":"query","name":"limit","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Room ID","in":"query","name":"room_id","required":false,"schema":{"type":"integer","format":"int64"}},{"description":"File ID","in":"query","name":"file_id","required":false,"schema":{"type":"integer","format":"int64"}},{"description":"User ID","in":"query","name":"user_id","required":false,"schema":{"type":"integer","format":"int64"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/MissingKeysResponse"}}}},"400":{"description":"Bad Request\n\n* [-40001] (Target) room is not encrypted.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.\n* [-80024] Invalid range parameters.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-40751] File not found.\n* [-41000] Node not found.\n* [-70501] User not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get files where the user has no filekey","tags":["nodes"]}},"/v4/nodes/rooms":{"post":{"description":"### Functional Description:\nCreates a new room at the provided parent node. \nCreation of top level rooms provided.\n\n### Precondition:\nUser has _\"create\"_ permissions in the parent room.\n\n### Effects:\nA new room is created.\n\n### Further Information: \nRooms may only have other rooms as parent. \nRooms on top level do not have any parent. \nRooms may have rooms as children on n hierarchy levels. \nIf permission inheritance is disabled, there must be at least one admin user / group (with neither the group nor the user having an expiration date).","operationId":"createRoom","parameters":[{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/CreateRoomRequest"}}},"description":"body","required":true},"responses":{"201":{"description":"Created","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/Node"}}}},"400":{"description":"Bad Request\n\n* [-40006] At least one admin user/group required.\n* [-40017] For the top level room can not set inheritPermissions: true\n* [-40755] Bad node name.\n* [-41200] Path is too long.\n* [-70520] The user must have at least 'read' right in parent room.\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.\n* [-80003] Not valid positive number or zero.\n* [-80005] Not valid boolean value.\n* [-80007] Maximum allowed length is exceeded.\n* [-80018] Not between 0 and 9999.\n* [-80025] Invalid 'newGroupMemberAcceptance' value.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-41000] Node not found.\n* [-70501] User not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict\n\n* Specified room name already exists.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Create new room","tags":["nodes"]}},"/v4/nodes/rooms/pending":{"get":{"description":"### Functional Description: \nRequests a list of user-room assignments by groups that have not been approved yet \nThese can have the state:\n* **WAITING** \n* **DENIED** \n* **ACCEPTED** \n\n**ACCEPTED** assignments are already removed from the list.\n\n### Precondition:\nNone.\n\n### Effects:\nNone.\n\n### Further Information:\nRoom administrators should regularly request pending assingments to provide access to rooms for other users.\n\n### Filter\n\nFilter string syntax: `FIELD_NAME:OPERATOR:VALUE[:VALUE...]`\n\n### Fields:\n\n* **userId** \n User ID filter \n OPERATOR: `eq` \n VALUE: `Positive Integer`\n\n* **groupId** \n Group ID filter \n OPERATOR: `eq` \n VALUE: `Positive Integer`\n\n* **roomId** \n Room ID filter \n OPERATOR: `eq` \n VALUE: `Positive Integer`\n\n* **state** \n Assignment state \n OPERATOR: `eq` \n VALUE: `[WAITING|DENIED]`\n\n### Sort\n\nSort string syntax: `FIELD_NAME:ORDER` \nOrder can be `asc` or `desc`. \nMultiple fields not supported.\n\n### Sort fields:\n\n* **userId**: User ID\n* **groupId**: Group ID\n* **roomId**: Room ID\n* **state**: State\n\n### Example:\n* `userId:desc` \nSort by user ID descending.","operationId":"getPendingAssignments","parameters":[{"description":"Range offset","in":"query","name":"offset","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Range limit","in":"query","name":"limit","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Filter string","in":"query","name":"filter","required":false,"schema":{"type":"string"}},{"description":"Sort string","in":"query","name":"sort","required":false,"schema":{"type":"string"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/PendingAssignmentList"}}}},"400":{"description":"Bad Request\n\n* [-40301] Invalid pending assignment status.\n* [-80024] Invalid range parameters.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get user-room assignments per group that have not been accepted yet","tags":["nodes"]},"put":{"description":"### Functional Description: \nHandles a list of user-room assignments by groups that have not been approved yet \n**WAITING** or **DENIED** assignments can be **ACCEPTED**.\n\n### Precondition:\nNone.\n\n### Effects:\nUser-room assignment is approved and the user gets access to the group.\n\n### Further Information:\nRoom administrators should regularly handle pending assignments to provide access to rooms for other users.","operationId":"changePendingAssignments","parameters":[{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/PendingAssignmentsRequest"}}},"description":"body","required":true},"responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request\n\n* [-40301] Invalid pending assignment status.\n* [-80000] Mandatory fields cannot be empty.\n* [-80024] Invalid range parameters.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-30000] Group not found.\n* [-40300] Pending assignment not found.\n* [-41000] Node not found.\n* [-70501] User not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Handle user-room assignments per group that have not been accepted yet","tags":["nodes"]}},"/v4/nodes/rooms/{room_id}":{"put":{"description":"### Functional Description: \nUpdate a room's meta data.\n\n### Precondition:\nUser is admin in superordinated level.\n\n### Effects:\nRoom's meta data is changed.\n\n### Further Information:\nNone.\n\n### Node naming convention\n\n* Node (room, folder, file) names are limited to 150 characters.\n\n* Not allowed names: \n`'CON', 'PRN', 'AUX', 'NUL', 'COM1', 'COM2', 'COM3', 'COM4', 'COM5', 'COM6', 'COM7', 'COM8', 'COM9', 'LPT1', 'LPT2', 'LPT3', 'LPT4', 'LPT5', 'LPT6', 'LPT7', 'LPT8', 'LPT9','.','/'`\n\n* Not allowed characters in names: \n`'../', '\\\\', '<','>', ':', '\\\"', '|', '?', '*', '/'`","operationId":"updateRoom","parameters":[{"description":"Room ID","in":"path","name":"room_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/UpdateRoomRequest"}}},"description":"body","required":true},"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/Node"}}}},"400":{"description":"Bad Request\n\n* [-40755] Bad node name.\n* [-41200] Path is too long.\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.\n* [-80007] Maximum allowed length is exceeded.\n* [-80019] Not between 1 and 9999.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-41000] Node not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict\n\n* Specified room name already exists.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Update room","tags":["nodes"]}},"/v4/nodes/rooms/{room_id}/activities_log":{"get":{"deprecated":true,"description":"### Use `nodes/rooms/{room_id}/events` API\n\n### Functional Description:\nRetrieve syslog (= audit log) events related to a room.\n\n### Precondition:\nRequires _\"read\"_ permissions on that room.\n\n### Effects:\nNone.\n\n### Further Information:\nOutput may be limited to a certain number of entries. \nPlease use filter criteria and paging.","operationId":"getRoomActivitiesLog_1","parameters":[{"description":"Room ID","in":"path","name":"room_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Range offset","in":"query","name":"offset","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Range limit","in":"query","name":"limit","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Start date\ne.g. 2015-12-31T23:59:00","in":"query","name":"date_start","required":false,"schema":{"type":"string"}},{"description":"End date\ne.g. 2015-12-31T23:59:00","in":"query","name":"date_end","required":false,"schema":{"type":"string"}},{"description":"Operation ID\ncf. `GET /eventlog/operations`","in":"query","name":"type","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"User ID","in":"query","name":"user_id","required":false,"schema":{"type":"integer","format":"int64"}},{"description":"Operation status:\n* 0 - Success\n* 2 - Error","in":"query","name":"status","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/SyslogEventList"}},"text/csv":{"schema":{"$ref":"#/components/schemas/SyslogEventList"}}}},"400":{"description":"Bad Request\n\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.\n* [-80024] Invalid range parameters.\n* [-80026] Not a valid operation ID.\n* [-80027] Not a valid operation status.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}},"text/csv":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}},"text/csv":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}},"text/csv":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-41000] Node not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}},"text/csv":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}},"text/csv":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}},"text/csv":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get events of a room","tags":["nodes"]}},"/v4/nodes/rooms/{room_id}/config":{"put":{"description":"### Functional Description:\nUpdates a room.\n\n### Precondition:\nUser needs to be room administrator.\n\n### Effects:\nRoom's configuration is changed.\n\n### Further Information:\nNone.","operationId":"configRoom","parameters":[{"description":"Room ID","in":"path","name":"room_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ConfigRoomRequest"}}},"description":"body","required":true},"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/Node"}}}},"400":{"description":"Bad Request\n\n* [-40011] Recycle Bin can not be disabled because it is not empty.\n* [-40015] Room inheritance already enabled.\n* [-40016] Room inheritance already disabled.\n* [-40017] For the top level room can not set inheritPermissions: true\n* [-40019] For the top level room can not set takeOverPermissions.\n* [-40755] Bad node name.\n* [-41200] Path is too long.\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.\n* [-80007] Maximum allowed length is exceeded.\n* [-80018] Not between 0 and 9999.\n* [-80028] Due to existing dependency the input must be null.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-41000] Node not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict\n\n* Specified room name already exists.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Config room","tags":["nodes"]}},"/v4/nodes/rooms/{room_id}/encrypt":{"put":{"description":"### Functional Description: \nActivates the client-side encryption for a room.\n\n### Precondition:\nUser needs to be room administrator.\n\n### Effects:\nEncryption of room is activated.\n\n### Further Information:\nOnly empty rooms at the top level may be encrypted. \nThis endpoint may also be used to disable encryption of an empty room.","operationId":"encryptRoom","parameters":[{"description":"Room ID","in":"path","name":"room_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/EncryptRoomRequest"}}},"description":"body","required":true},"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/Node"}}}},"400":{"description":"Bad Request\n\n* [-40002] (Target) room is encrypted.\n* [-40003] Room with files cannot be unencrypted.\n* [-40004] Only one room emergency password is allowed.\n* [-40008] Room with files cannot be encrypted.\n* [-40012] Room with not empty Recycle Bin cannot be encrypted.\n* [-70020] User does not have a key pair.\n* [-70022] Public key format is not valid.\n* [-70023] Private key format is not valid.\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.\n* [-80005] Not valid boolean value.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-41000] Node not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Encrypt room","tags":["nodes"]}},"/v4/nodes/rooms/{room_id}/events":{"get":{"description":"### Use `nodes/rooms/{room_id}/events` API\n\n### Functional Description:\nRetrieve syslog (= audit log) events related to a room.\n\n### Precondition:\nRequires _\"read\"_ permissions on that room.\n\n### Effects:\nNone.\n\n### Further Information:\nOutput may be limited to a certain number of entries. \nPlease use filter criteria and paging.","operationId":"getRoomActivitiesLog","parameters":[{"description":"Room ID","in":"path","name":"room_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Range offset","in":"query","name":"offset","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Range limit","in":"query","name":"limit","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Start date\ne.g. 2015-12-31T23:59:00","in":"query","name":"date_start","required":false,"schema":{"type":"string"}},{"description":"End date\ne.g. 2015-12-31T23:59:00","in":"query","name":"date_end","required":false,"schema":{"type":"string"}},{"description":"Operation ID\ncf. `GET /eventlog/operations`","in":"query","name":"type","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"User ID","in":"query","name":"user_id","required":false,"schema":{"type":"integer","format":"int64"}},{"description":"Operation status:\n* 0 - Success\n* 2 - Error","in":"query","name":"status","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/LogEventList"}},"text/csv":{"schema":{"$ref":"#/components/schemas/LogEventList"}}}},"400":{"description":"Bad Request\n\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.\n* [-80024] Invalid range parameters.\n* [-80026] Not a valid operation ID.\n* [-80027] Not a valid operation status.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}},"text/csv":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}},"text/csv":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}},"text/csv":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-41000] Node not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}},"text/csv":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}},"text/csv":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}},"text/csv":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get events of a room","tags":["nodes"]}},"/v4/nodes/rooms/{room_id}/groups":{"delete":{"description":"### Functional Description: \nBatch function. \nRevoke groups from room.\n\n### Precondition:\nUser needs to be room administrator.\n\n### Effects:\nGroup's permissions are revoked.\n\n### Further Information:\nNone.","operationId":"deleteRoomGroupsBatch","parameters":[{"description":"Room ID","in":"path","name":"room_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/RoomGroupsDeleteBatchRequest"}}},"description":"body","required":true},"responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request\n\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-30000] Group not found.\n* [-41000] Node not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Revoke group permissions from room","tags":["nodes"]},"get":{"description":"### Functional Description: \nRetrieve a list of groups that are and / or can be granted to the room.\n\n### Precondition:\nAny permissions on target room.\n\n### Effects:\nNone.\n\n### Further Information:\nNone.\n\n### Filter\n\n### Filter fields:\n\n* **name** \n Group name \n OPERATOR: `cn` (multiple values not allowed) \n VALUE: `search string`\n\n* **isGranted** \n Filter the groups that have (no) access to this room \n **Attention! This filter is only available for room administrators. \n Other users can only look for groups in their rooms, so this filter is true and cannot be overridden.** \n OPERATOR: `eq` (multiple values not allowed) \n VALUE: `[true|false|any]` (default: `true`)\n\n* **permissionsManage** \n Filter the groups that (don't) have manage right in this room \n OPERATOR: `eq` (multiple values not allowed) \n VALUE: `[true|false]`.\n\n* **effectivePerm** \n Filter groups with _DIRECT_ or _DIRECT_ **AND** _EFFECTIVE_ permissions \n * `false`: _DIRECT_ permissions \n * `true`: _DIRECT_ **AND** _EFFECTIVE_ permissions \n \n > _DIRECT_ means: e.g. room administrator grants read permissions to group of users **directly** on desired room. \n _EFFECTIVE_ means: e.g. group of users gets read permissions on desired room through **inheritance**. \n\n OPERATOR: `eq` (multiple values not allowed) \n VALUE: `[true|false]` (default: `true`)\n\n* **groupId** \n Filter the groups by ID \n OPERATOR: `eq` (multiple values not allowed) \n VALUE: `Positive Integer`\n\n### Example:\n* `isGranted:eq:false|name:cn:searchString` \nGet all groups that have no rights to this room of AND whose name is like `searchString`.","operationId":"getRoomGroups","parameters":[{"description":"Room ID","in":"path","name":"room_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Range offset","in":"query","name":"offset","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Range limit","in":"query","name":"limit","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Filter string","in":"query","name":"filter","required":false,"schema":{"type":"string"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/RoomGroupList"}}}},"400":{"description":"Bad Request\n\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.\n* [-80024] Invalid range parameters.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-41000] Node not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get room granted groups or/and groups that can be granted","tags":["nodes"]},"put":{"description":"### Functional Description:\nBatch function. \nAll existing group permissions will be overwritten.\n\n### Precondition:\nUser needs to be room administrator.\n\n### Effects:\nGroup's permissions are changed.\n\n### Further Information:\nNone.","operationId":"setRoomGroupsBatch","parameters":[{"description":"Room ID","in":"path","name":"room_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/RoomGroupsAddBatchRequest"}}},"description":"body","required":true},"responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request\n\n* [-30020] Group must have at least 'read' right in parent room.\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.\n* [-80025] Invalid 'newGroupMemberAcceptance' value.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-30000] Group not found.\n* [-41000] Node not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Add or change room granted groups","tags":["nodes"]}},"/v4/nodes/rooms/{room_id}/keypair":{"get":{"description":"### Functional Description: \nRetrieve the room emergency password.\n\n### Precondition:\nUser has _\"read\"_ permissions in that room.\n\n### Effects:\nNone.\n\n### Further Information:\nNone.","operationId":"roomRescueKey","parameters":[{"description":"Room ID","in":"path","name":"room_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/UserKeyPairContainer"}}}},"400":{"description":"Bad Request\n\n* [-40001] (Target) room is not encrypted.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-40007] No room emergency password found.\n* [-41000] Node not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get room emergency password","tags":["nodes"]}},"/v4/nodes/rooms/{room_id}/users":{"delete":{"description":"### Functional Description: \nBatch function. \nRevoke users from room.\n\n### Precondition:\nUser needs to be room administrator.\n\n### Effects:\nUser's permissions are revoked.\n\n### Further Information:\nNone.","operationId":"deleteRoomUsersBatch","parameters":[{"description":"Room ID","in":"path","name":"room_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/RoomUsersDeleteBatchRequest"}}},"description":"body","required":true},"responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request\n\n* [-40006] At least one admin user/group required.\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-41000] Node not found.\n* [-70501] User not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Revoke user permissions from room","tags":["nodes"]},"get":{"description":"### Functional Description: \nRetrieve a list of users that are and / or can be granted to the room.\n\n### Precondition:\nAny permissions on target room.\n\n### Effects:\nNone.\n\n### Further Information:\nNone.\n\n### Filter\n\n### Filter fields:\n\n* **displayName** \n User display name (`firstName`, `lastName`, `login`) \n OPERATOR: `cn` (multiple values not allowed) \n VALUE: `search string`\n\n* **isGranted** \n Filter the users that have (no) access to this room \n **Attention! This filter is only available for room administrators. \n Other users can only look for users in their rooms, so this filter is true and cannot be overridden.** \n OPERATOR: `eq` (multiple values not allowed) \n VALUE: `[true|false|any]` (default: `true`)\n\n* **permissionsManage** \n Filter the users that (don't) have manage right in this room \n OPERATOR: `eq` (multiple values not allowed) \n VALUE: `[true|false]`.\n\n* **effectivePerm** \n Filter users with _DIRECT_ or _DIRECT_ **AND** _EFFECTIVE_ permissions \n * `false`: _DIRECT_ permissions \n * `true`: _DIRECT_ **AND** _EFFECTIVE_ permissions \n * `any`: _DIRECT_ **AND** _EFFECTIVE_ **AND** _OVER GROUP_ permissions \n \n > _DIRECT_ means: e.g. room administrator grants read permissions to user **directly** on desired room. \n _EFFECTIVE_ means: e.g. user gets read permissions on desired room through **inheritance**. \n _OVER GROUP_ means: e.g. user gets read permissions on desired room through **group membership**. \n\n OPERATOR: `eq` (multiple values not allowed) \n VALUE: `[true|false|any]` (default: `false`)\n\n* **userId** \n Filter the users by ID \n OPERATOR: `eq` (multiple values not allowed) \n VALUE: `Positive Integer`\n\n### Example:\n* `isGranted:eq:true|displayName:cn:searchString|permissions_manage:eq:true` \nGet all users that have manage rights to this room of AND whose name is like `searchString`.\n\n### The filters are connected by AND","operationId":"getRoomUsers","parameters":[{"description":"Room ID","in":"path","name":"room_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Range offset","in":"query","name":"offset","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Range limit","in":"query","name":"limit","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Filter string","in":"query","name":"filter","required":false,"schema":{"type":"string"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/RoomUserList"}}}},"400":{"description":"Bad Request\n\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.\n* [-80024] Invalid range parameters.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-41000] Node not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get room granted users or/and users that can be granted","tags":["nodes"]},"put":{"description":"### Functional Description:\nBatch function. \nAll existing user permissions will be overwritten.\n\n### Precondition:\nUser needs to be room administrator.\n\n### Effects:\nUser's permissions are changed.\n\n### Further Information:\nNone.","operationId":"setRoomUsersBatch","parameters":[{"description":"Room ID","in":"path","name":"room_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/RoomUsersAddBatchRequest"}}},"description":"body","required":true},"responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request\n\n* [-40006] At least one admin user/group required.\n* [-70520] The user must have at least 'read' right in parent room.\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-41000] Node not found.\n* [-70501] User not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Add or change room granted users","tags":["nodes"]}},"/v4/nodes/search":{"get":{"description":"### Functional Description: \nProvides a flat list of file system nodes (rooms, folders, files) of a given parent that are accessible by the current user.\n\n### Precondition:\nAuthenticated user with _\"read\"_ permissions on parent room.\n\n### Effects:\nNone.\n\n### Further Information: \nA maximum of **500** results is returned. \nFor more results please use paging (`offset` + `limit`). \n`EncryptionInfo` is not provided. \nWildcard character is the asterisk character: `*`.\n\n### Filter\n\nFilter string syntax: `FIELD_NAME:OPERATOR:VALUE[:VALUE...]`\n\n### Fields:\n\n* **type** \n Node type filter \n OPERATOR: `eq` \n VALUE: `[room|folder|file]`\n\n* **fileType** \n File type filter (file extension) \n OPERATOR: `cn` (name contains value, multiple values not allowed) \n VALUE: `Search string`\n\n* **classification** \n File classification filter \n OPERATOR: `eq` \n VALUE: `[1|2|3|4]`\n * 1 - public\n * 2 - for internal use only\n * 3 - confidential\n * 4 - strictly confidential\n\n* **createdBy** \n Creation username filter \n OPERATOR: `cn` (name contains value, multiple values not allowed) \n VALUE: `Search string`\n\n* **createdAt** \n Creation data filter \n OPERATOR: `ge|le` \n VALUE: `Date (yyyy-MM-dd)`\n\n* **updatedBy** \n Last change username filter \n OPERATOR: `cn` (name contains value, multiple values not allowed) \n VALUE: `Search string`\n\n* **updatedAt** \n Last change date filter \n OPERATOR: `ge|le` \n VALUE: `Date (yyyy-MM-dd)`\n\n* **expireAt** \n Expire date filter \n OPERATOR: `ge|le` \n VALUE: `Date (yyyy-MM-dd)`\n\n* **size** \n Size filter \n OPERATOR: `ge|le` \n VALUE: `Size in bytes`\n\n* **isFavorite** \n Favorite filter \n OPERATOR: `eq` \n VALUE: `[true|false]`\n\n* **branchVersion** \n Node branch version \n OPERATOR: `ge|le` \n VALUE: `Version Number`\n\n### Example:\n* `type:eq:file|createdAt:ge:2015-01-01` \nGet nodes where `type` equals `file` AND file was created at or after `2015-01-01`.\n\n### Sort\n\nSort string syntax: `FIELD_NAME:ORDER` \nOrder can be `asc` or `desc`. \nMultiple fields not supported.\n\n### Sort fields:\n\n* **name**: Node name\n* **createdBy**: Creator user name\n* **createdAt**: Creation date\n* **updatedBy**: Modifier user name\n* **updatedAt**: Modification date\n* **fileType**: File type (extension)\n* **classification**: Classification ID (for files only): \n * 1 - public\n * 2 - for internal use only\n * 3 - confidential\n * 4 - strictly confidential\n* **size**: Node size\n* **cntAdmins**: **DEPRECATED (No Effect)** For rooms only: Number of admins\n* **cntUsers**: **DEPRECATED (No Effect)** For rooms only: Number of users\n* **nodeCntChildren**: For rooms / folders only: Number of direct children (not recursive)\n* **cntDeletedVersions**: For files / folders only: Number of deleted versions of this file/folder (not recursive)\n* **type**: Node type (room, folder, file)\n\n### Example:\n* `name:desc` \nSort by `name` descending.","operationId":"searchFsNodes","parameters":[{"description":"Search string","in":"query","name":"search_string","required":true,"schema":{"type":"string"}},{"description":"* 0 - top level nodes only\n* -1 - full tree\n* n (any positive number) - include n levels starting from the current node","in":"query","name":"depth_level","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Parent node ID.\nOnly rooms and folders can be parents.\nParent ID 0 or empty is the root node.","in":"query","name":"parent_id","required":false,"schema":{"type":"integer","format":"int64"}},{"description":"Filter string","in":"query","name":"filter","required":false,"schema":{"type":"string"}},{"description":"Sort string","in":"query","name":"sort","required":false,"schema":{"type":"string"}},{"description":"Range offset","in":"query","name":"offset","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Range limit","in":"query","name":"limit","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/NodeList"}}}},"400":{"description":"Bad Request\n\n* [-80000] Mandatory fields cannot be empty.\n* [-80024] Invalid range parameters.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-41000] Node not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Search file system nodes","tags":["nodes"]}},"/v4/nodes/zip":{"post":{"description":"### Functional Description: \nCreate a download token to retrieve several files in one ZIP archive.\n\n### Precondition:\nUser has _\"read\"_ permissions in parent room.\n\n### Effects:\nDownload token is generated and returned.\n\n### Further Information:\nThe token is necessary to access `downloads` resources. \nZIP download is only available for files and folders.","operationId":"getNodesAsZip","parameters":[{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/ZipDownloadRequest"},"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/DownloadTokenGenerateResponse"}}}},"400":{"description":"Bad Request\n\n* [-40002] (Target) room is encrypted.\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-41000] Node not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Generate download token for zip download","tags":["nodes"]}},"/v4/nodes/zip/download":{"post":{"description":"### Functional Description: \nDownload multiple files in a ZIP archive.\n\n### Precondition:\nNone.\n\n### Effects:\nNone.\n\n### Further Information:\nNone.","operationId":"getNodesAsZipDownload","parameters":[{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/ZipDownloadRequest"},"responses":{"200":{"description":"OK","content":{"application/octet-stream":{"schema":{"format":"byte","type":"string"}}}},"400":{"description":"Bad Request\n\n* [-40002] (Target) room is encrypted.\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.","content":{"application/octet-stream":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/octet-stream":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/octet-stream":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-41000] Node not found.","content":{"application/octet-stream":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/octet-stream":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/octet-stream":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Download files/folders as ZIP","tags":["nodes"]}},"/v4/nodes/{node_id}":{"delete":{"description":"### Functional Description:\nDelete node (room, folder, file).\n\n### Precondition:\nAuthenticated user with _\"delete\"_ permissions on supplied nodes.\n\n### Effects:\nNode gets deleted.\n\n### Further Information:\nNone.","operationId":"deleteNode","parameters":[{"description":"Node ID","in":"path","name":"node_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request\n\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n\n* [-10006] User has no permissions to delete file(s).","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/NodeBatchOperationErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-41000] Node not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Delete file system node","tags":["nodes"]},"get":{"description":"### Functional Description: \nGet node (room, folder, file).\n\n### Precondition:\nUser has _\"read\"_ permissions in auth parent room.\n\n### Effects:\nNone.\n\n### Further Information:\nNone.","operationId":"getFsNode","parameters":[{"description":"Node ID","in":"path","name":"node_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/Node"}}}},"400":{"description":"Bad Request\n\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-41000] Node not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get node","tags":["nodes"]}},"/v4/nodes/{node_id}/copy_to":{"post":{"description":"### Functional Description:\nCopies nodes (folder, file) to another parent.\n\n### Precondition:\nAuthenticated user with _\"read\"_ permissions in the source parent and _\"create\"_ permissions in the target parent node.\n\n### Effects:\nNodes are copied to target parent.\n\n### Further Information:\nNodes must be in same source parent. \nRooms cannot be copied.","operationId":"copyNodes","parameters":[{"description":"Target parent node ID","in":"path","name":"node_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/CopyNodesRequest"}}},"description":"body","required":true},"responses":{"201":{"description":"Created","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/Node"}}}},"400":{"description":"Bad Request\n\n* [-40001] (Target) room is not encrypted.\n* [-40002] (Target) room is encrypted.\n* [-41052] Rooms can not be moved.\n* [-41053] File can not be a target node.\n* [-41303] Node can only be copied to its own place with resolution strategy 'autorename'.\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.\n* [-80034] 'keepShareLinks' is only allowed with conflict mode 'overwrite'.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-40014] User is missing a file key.\n* [-41050] Source node not found.\n* [-41051] Target node not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/NodeBatchOperationErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict\n\n* Some source nodes already exist in target node.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/NodeBatchOperationErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Copy file system nodes","tags":["nodes"]}},"/v4/nodes/{node_id}/deleted_nodes":{"delete":{"description":"### Functional Description: \nEmpty a Recycle Bin.\n\n### Precondition:\nUser has _\"delete recycle bin\"_ permissions in parent room.\n\n### Effects:\nAll files in the Recycle Bin are permanently removed.\n\n### Further Information:\nActually removes the previously deleted files from the system. \nThis action is irreversible.","operationId":"emptyDeletedNodes","parameters":[{"description":"Parent node ID.\nOnly rooms and folders can be parents.\nParent ID 0 or empty is the root node.","in":"path","name":"node_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request\n\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-41000] Node not found.\n* [-40020] Recycle Bin is not active.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Empty Recycle Bin","tags":["nodes"]},"get":{"description":"### Functional Description: \nRetrieve a list of deleted nodes in a Recycle Bin.\n\n### Precondition:\nUser can access parent room and has _\"read recycle bin\"_ permissions.\n\n### Effects:\nNone.\n\n### Further Information:\nOnly room IDs are accepted as node ID since only rooms have Recycle Bins.\n\n### Filter\n\nFilter string syntax: `FIELD_NAME:OPERATOR:VALUE[:VALUE...]`\n\n### Fields:\n\n* **type** \n Node type filter \n OPERATOR: `eq` (multiple values allowed) \n VALUE: `[folder|file]`\n\n* **name** \n Node name filter \n OPERATOR: `cn` (Node name contains value, multiple values not allowed) \n VALUE: `Search string`\n\n* **parentPath** \n Parent path filter \n OPERATOR: `cn` (Parent path contains value, multiple values not allowed) \n VALUE: `Search string`\n\n### Example:\n* `type:eq:file:folder|name:cn:searchString_1|parentPath:cn:searchString_2` \nGet deleted nodes where type equals `file` or `folder` AND deleted node name containing `searchString_1` AND deleted node parent path containing `searchString 2`.\n\n### Sort\n\nSort string syntax: `FIELD_NAME:ORDER` \nOrder can be `asc` or `desc`. \nMultiple fields not supported.\n\n### Sort fields:\n\n* **name**: Node name\n* **cntVersions**: Number of deleted versions of this file\n* **firstDeletedAt**: First deleted version\n* **lastDeletedAt**: Last deleted version\n* **parentPath**: Parent path of deleted node\n\n### Example:\n* `name:desc` \nSort by `name` descending.","operationId":"getFsDeletedNodesSummary","parameters":[{"description":"Auth parent node ID","in":"path","name":"node_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Filter string","in":"query","name":"filter","required":false,"schema":{"type":"string"}},{"description":"Sort string","in":"query","name":"sort","required":false,"schema":{"type":"string"}},{"description":"Range offset","in":"query","name":"offset","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Range limit","in":"query","name":"limit","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/DeletedNodeSummaryList"}}}},"400":{"description":"Bad Request\n\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.\n* [-80024] Invalid range parameters.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-41000] Node not found.\n* [-40020] Recycle Bin is not active.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get deleted nodes","tags":["nodes"]}},"/v4/nodes/{node_id}/deleted_nodes/versions":{"get":{"description":"### Functional Description: \nRetrieve all deleted versions of a node.\n\n### Precondition:\nUser can access parent room and has _\"read recycle bin\"_ permissions.\n\n### Effects:\nNone.\n\n### Further Information:\nThe node is identified by three parameters:\n* parent ID\n* name\n* type (file, folder).\n\n### Sort\n\nSort string syntax: `FIELD_NAME:ORDER` \nOrder can be `asc` or `desc`. \nMultiple fields not supported.\n\n### Sort fields:\n\n* **expireAt**:Expiration date\n* **accessedAt**: Last access date\n* **size**: Node size\n* **classification**: Classification ID (for files only): \n * 1 - public\n * 2 - for internal use only\n * 3 - confidential\n * 4 - strictly confidential\n* **createdAt**: Creation date\n* **createdBy**: Node created by user\n* **updatedAt**: Modification date\n* **updatedBy**: Node modified by user\n* **deletedAt**: Deleted date\n* **deletedBy**: Node deleted by user\n\n### Example:\n* `expireAt:desc` \nSort by `expireAt` descending.","operationId":"getFsDeletedNodeVersions","parameters":[{"description":"Auth parent node ID","in":"path","name":"node_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Node type","in":"query","name":"type","required":true,"schema":{"type":"string","enum":["file","folder"]}},{"description":"Node name","in":"query","name":"name","required":true,"schema":{"type":"string"}},{"description":"Sort string","in":"query","name":"sort","required":false,"schema":{"type":"string"}},{"description":"Range offset","in":"query","name":"offset","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Range limit","in":"query","name":"limit","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/DeletedNodeVersionsList"}}}},"400":{"description":"Bad Request\n\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.\n* [-80024] Invalid range parameters.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-41000] Node not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get deleted versions","tags":["nodes"]}},"/v4/nodes/{node_id}/favorite":{"delete":{"description":"### Functional Description:\nUnmarks a node (room, folder, file) as favorite.\n\n### Precondition:\nUser needs _\"read\"_ permissions on that node.\n\n### Effects:\nA node gets unmarked as favorite.\n\n### Further Information:\nNone.","operationId":"unmarkFavorite","parameters":[{"description":"Node ID","in":"path","name":"node_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request\n\n* [-41301] Node is not set as favorite.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-41000] Node not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Unmark a node (room, folder or file) as favorite","tags":["nodes"]},"post":{"description":"### Functional Description: \nMarks a node (room, folder, file) as favorite.\n\n### Precondition:\nUser needs _\"read\"_ permissions on that node.\n\n### Effects:\nA node gets marked as favorite.\n\n### Further Information:\nNone.","operationId":"addFavorite","parameters":[{"description":"Node ID","in":"path","name":"node_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"responses":{"201":{"description":"Created","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/Node"}}}},"400":{"description":"Bad Request\n\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-41000] Node not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Mark a node (room, folder or file) as favorite","tags":["nodes"]}},"/v4/nodes/{node_id}/move_to":{"post":{"description":"### Functional Description: \nMoves nodes (folder, file) to another parent.\n\n### Precondition:\nAuthenticated user with _\"read\"_ and _\"delete\"_ permissions in the source parent and _\"create\"_ permissions in the target parent node.\n\n### Effects:\nNodes are moved to target parent.\n\n### Further Information:\nNodes must be in same source parent. \nRooms cannot be moved.","operationId":"moveNodes","parameters":[{"description":"Target parent node ID","in":"path","name":"node_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/MoveNodesRequest"}}},"description":"body","required":true},"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/Node"}}}},"400":{"description":"Bad Request\n\n* [-40001] (Target) room is not encrypted.\n* [-40002] (Target) room is encrypted.\n* [-41052] Rooms can not be moved.\n* [-41053] File can not be a target node.\n* [-41054] Source nodes must be in same parent.\n* [-41302] Node cannot be moved to its own place.\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.\n* [-80034] 'keepShareLinks' is only allowed with conflict mode 'overwrite'.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-40014] User is missing a file key.\n* [-41050] Source node not found.\n* [-41051] Target node not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/NodeBatchOperationErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict\n\n* Some source nodes already exist in target node.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/NodeBatchOperationErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Move file system nodes","tags":["nodes"]}},"/v4/provisioning/customers":{"get":{"description":"### Functional Description: \nReceive a list of customers.\n\n### Precondition:\nNone.\n\n### Effects:\nNone.\n\n### Further Information:\nThis list returns a maximum of **1000** entries. \nPlease use filters or searches to specify what you are looking for. \nAuthentication with `X-Sds-Service-Token` required.\n\n### Filter\n\nFilter string syntax: `FIELD_NAME:OPERATOR:VALUE[:VALUE...]`\n\n### Fields:\n\n* **id** \n Customer ID filter \n OPERATOR: `eq` \n VALUE: `Positive Integer`\n\n* **companyName** \n Company name filter \n OPERATOR: `cn` (Company name contains value, multiple values not allowed) \n VALUE: `search string`\n\n* **customerContractType** \n Customer contract type filter \n OPERATOR: `eq` \n VALUE: `demo|free|pay`\n\n* **activationCode** \n Activation code filter \n OPERATOR: `cn|eq` (Activation code contains value | equals value, multiple values not allowed ) \n VALUE: `search string`\n\n* **trialDaysLeft** \n Left trial days filter \n OPERATOR: `ge|le` (Number of trial days is greater or equal | less or equal) \n VALUE: `Positive Integer`\n\n* **providerCustomerId** \n Provider Customer ID filter \n OPERATOR: `cn|eq` (providerCustomerId contains value | equals value, multiple values not allowed ) \n VALUE: `search string`\n\n* **quotaMax** \n Maximum quota filter \n OPERATOR: `ge|le` (Quota is greater or equal | less or equal) \n VALUE: `Positive Integer`\n\n* **quotaUsed** \n Used quota filter \n OPERATOR: `ge|le` (Quota is greater or equal | less or equal) \n VALUE: `Positive Integer`\n\n* **userMax** \n Maximum user filter \n OPERATOR: `ge|le` (User maximum is greater or equal | less or equal) \n VALUE: `Positive Integer`\n\n* **userUsed** \n Used users filter \n OPERATOR: `ge|le` (Number of registered users is greater or equal | less or equal) \n VALUE: `Positive Integer`\n\n* **lockStatus** \n Lock status filter \n OPERATOR: `eq` \n VALUE: `Integer (0 or 1)`\n\n* **createdAt** \n Creation date filter \n OPERATOR: `ge|le` (Date is greater or equal | less or equal) \n VALUE: `Date`\n\n* **updatedAt** \n Update date filter \n OPERATOR: `ge|le` (Date is greater or equal | less or equal) \n VALUE: `Date`\n\n* **lastLoginAt** \n Last login filter \n OPERATOR: `ge|le` (Date is greater or equal | less or equal) \n VALUE: `Date`\n\n* **userLogin** \n User login filter \n OPERATOR: `eq` (Customer user login name equal value, multiple values not allowed) \n Search user all logins e.g. `sql`, `active_directory`, `radius` \n VALUE: `search string`\n \n* **attributeKey** \n Customer attribute key filter \n OPERATOR: `eq` (Customer attribute key equal value, multiple values not allowed) \n Search customers with given customer attribute key. \n VALUE: `search string`\n\n* **attributeValue** \n Customer attribute value filter \n OPERATOR: `eq` (Customer attribute value equal value, multiple values not allowed) \n Search customers with given customer attribute value. \n VALUE: `search string`\n\n### Sort\n\nSort string syntax: `FIELD_NAME:ORDER` \nOrder can be `asc` or `desc`. \nMultiple fields not supported.\n\n### Sort fields:\n\n* **companyName**: Company name\n* **customerContractType**: Customer contract type\n* **trialDaysLeft**: Number of remaining trial days (demo customers)\n* **providerCustomerId**: Provider Customer ID (pay customers)\n* **quotaMax**: Maximum quota\n* **quotaUsed**: Currently used quota\n* **userMax**: Maximum user number\n* **userUsed**: Number of currently active users\n* **lockStatus**: Lock status of customer\n* **createdAt**: Creation date\n* **updatedAt**: Date of last update\n* **lastLoginAt**: Date of last login of any user of this customer\n\n### Example:\n* `companyName:desc` \nSort by company `name` descending.","operationId":"getCustomers","parameters":[{"description":"Range offset","in":"query","name":"offset","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Range limit","in":"query","name":"limit","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Filter string","in":"query","name":"filter","required":false,"schema":{"type":"string"}},{"description":"Sort string","in":"query","name":"sort","required":false,"schema":{"type":"string"}},{"description":"Include custom customer attributes.","in":"query","name":"include_attributes","required":false,"schema":{"type":"boolean"}},{"description":"Service Authentication token","in":"header","name":"X-Sds-Service-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/CustomerList"}}}},"400":{"description":"Bad Request\n\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.\n* [-80024] Invalid range parameters.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get customers","tags":["provisioning"]},"post":{"description":"### Functional Description:\nCreate a new customer.\n\n### Precondition:\nNone.\n\n### Effects:\nA new customer is created.\n\n### Further Information:\nAuthentication with `X-Sds-Service-Token` required. \nIf no company name is set, first name of the first administrator is used. \nMax quota has to be at least 1 GB (= 1 073 741 824 B).\n\n### Authentication Method Options\n\n* **SQL** \n `none`\n\n* **Active Directory** \n (optional) \n key: `\"ad_config_id\"` \n value: \"Active Directory configuration ID\" \n \n key: `\"username\"` \n value: \"Active Directory user name according to auth setting `userFilter`\"\n\n* **RADIUS** \n key: `\"username\"` \n value: \"Radius user name\"\n\n* **OpenID Connect** \n key: `\"openid_config_id\"` \n value: \"OpenID Connect configuration ID\" \n \n key: `\"username\"` \n value: \"OpenID Connect user name according to auth setting `mappingClaim`\"","operationId":"newCustomerRequest","parameters":[{"description":"Service Authentication token","in":"header","name":"X-Sds-Service-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/NewCustomerRequest"}}},"description":"body","required":true},"responses":{"201":{"description":"Created","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/NewCustomerResponse"}}}},"400":{"description":"Bad Request\n\n* [-10100] Invalid authentication method.\n* [-10101] Not valid auth method key.\n* [-10102] At least one authentication method must be enabled.\n* [-70506] Wrong gender.\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.\n* [-80005] Not valid boolean value.\n* [-80006] Expiration date is in the past.\n* [-80007] Maximum allowed length is exceeded.\n* [-80008] The year is too far in the future. Max year is limited to 9999.\n* [-80009] Not a valid email address.\n* [-80015] Not valid key value list because there are duplicate keys present.\n* [-90002] No distinct authentication configuration.\n* [-90509] Illegal customer lock status code.\n* [-90510] Maximum quota must not be less than one GB.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-90035] OpenID Connect IDP not found.\n* [-90039] No valid OpenID Connect IDP found.\n* [-90050] Active Directory configuration not found.\n* [-90059] No valid Active Directory found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict\n\n* [-70560] User with provided basic authentication login already exists.\n* [-70561] User with provided Active Directory user name already exists.\n* [-70562] User with provided RADIUS login already exists.\n* [-70563] User with provided OpenID user name already exists.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Create customer","tags":["provisioning"]}},"/v4/provisioning/customers/{customer_id}":{"delete":{"description":"### Functional Description:\nDelete a customer.\n\n### Precondition:\nNone.\n\n### Effects:\nCustomer is deleted.\n\n### Further Information:\nAuthentication with `X-Sds-Service-Token` required.","operationId":"deleteCustomer","parameters":[{"description":"Customer ID","in":"path","name":"customer_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Service Authentication token","in":"header","name":"X-Sds-Service-Token","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request\n\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-90103] Customer not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Delete customer","tags":["provisioning"]},"get":{"description":"### Functional Description: \nReceive details of a selected customer.\n\n### Precondition:\nExisting customer.\n\n### Effects:\nNone.\n\n### Further Information:\nAuthentication with `X-Sds-Service-Token` required.","operationId":"getCustomer","parameters":[{"description":"Customer ID","in":"path","name":"customer_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Include custom customer attributes.","in":"query","name":"include_attributes","required":false,"schema":{"type":"boolean"}},{"description":"Service Authentication token","in":"header","name":"X-Sds-Service-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/Customer"}}}},"400":{"description":"Bad Request\n\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-90103] Customer not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get customer","tags":["provisioning"]},"put":{"description":"### Functional Description: \nChange selected attributes of a customer.\n\n### Precondition:\nExisting customer.\n\n### Effects:\nUpdate of attributes.\n\n### Further Information:\nAuthentication with `X-Sds-Service-Token` required.","operationId":"updateCustomer","parameters":[{"description":"Customer ID","in":"path","name":"customer_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Service Authentication token","in":"header","name":"X-Sds-Service-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/UpdateCustomerRequest"}}},"description":"body","required":true},"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/UpdateCustomerResponse"}}}},"400":{"description":"Bad Request\n\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.\n* [-80007] Maximum allowed length is exceeded.\n* [-90110] Invalid lock status.\n* [-90111] Invalid 'customerContractType' transition.\n* [-90510] Maximum quota must not be less than one GB.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-90103] Customer not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Update customer","tags":["provisioning"]}},"/v4/provisioning/customers/{customer_id}/customerAttributes":{"post":{"description":"### Functional Description: \nSet custom customer attributes.\n\n### Precondition:\nRight _\"change global config\"_ required.\n\n### Effects:\nCustom customer attributes gets set.\n\n### Further Information:\nBatch function. \nAll existing customer attributes will be deleted. \nAllowed characters for keys are: `[a-zA-Z0-9_-]` \nCharacters are case-insensitive.\n","operationId":"setAllCustomerAttributes","parameters":[{"description":"Customer ID","in":"path","name":"customer_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Service Authentication token","in":"header","name":"X-Sds-Service-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/CustomerAttributes"},"responses":{"201":{"description":"Created","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/Customer"}}}},"400":{"description":"Bad Request\n\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.\n* [-80007] Maximum allowed length is exceeded.\n* [-80015] Not valid key value list because there are duplicate keys present.\n* [-80023] Input contains invalid characters.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-90103] Customer not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Set customer attributes","tags":["provisioning"]},"put":{"description":"### Functional Description: \nAdd or edit custom customer attributes.\n\n### Precondition:\nRight _\"change global config\"_ required.\n\n### Effects:\nCustom customer attributes get added or edited.\n\n### Further Information:\nBatch function. \nIf an entry exists before, it will be overwritten. \nAllowed characters for keys are: `[a-zA-Z0-9_-]` \nCharacters are case-insensitive.","operationId":"setCustomerAttributes","parameters":[{"description":"Customer ID","in":"path","name":"customer_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Service Authentication token","in":"header","name":"X-Sds-Service-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/CustomerAttributes"},"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/Customer"}}}},"400":{"description":"Bad Request\n\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.\n* [-80007] Maximum allowed length is exceeded.\n* [-80015] Not valid key value list because there are duplicate keys present.\n* [-80023] Input contains invalid characters.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-90103] Customer not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Add or edit customer attributes","tags":["provisioning"]}},"/v4/provisioning/customers/{customer_id}/customerAttributes/{key}":{"delete":{"description":"### Functional Description:\nDelete custom customer attribute.\n\n### Precondition:\nRight _\"change global config\"_ required.\n\n### Effects:\nCustom customer attribute gets deleted.\n\n### Further Information:\nAllowed characters for keys are: `[a-zA-Z0-9_-]` \nCharacters are case-insensitive.","operationId":"deleteCustomerAttributes","parameters":[{"description":"Customer ID","in":"path","name":"customer_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Key","in":"path","name":"key","required":true,"schema":{"type":"string"}},{"description":"Service Authentication token","in":"header","name":"X-Sds-Service-Token","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request\n\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.\n* [-80023] Input contains invalid characters.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-70550] Attribute not found.\n* [-90103] Customer not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Delete customer attributes","tags":["provisioning"]}},"/v4/provisioning/customers/{customer_id}/users":{"get":{"description":"### Functional Description: \nReceive a list of users associated with a certain customer.\n\n### Precondition:\nNone.\n\n### Effects:\nNone.\n\n### Further Information:\nAuthentication with `X-Sds-Service-Token` required.\n\n### Filter\n\nFilter string syntax: `FIELD_NAME:OPERATOR:VALUE` \nMultiple fields are supported.\n\n### Filter fields:\n\n* **login** \n Login name \n OPERATOR: `cn` (User login name contains value) \n VALUE: `Search string`\n\n* **firstName** \n First name \n OPERATOR: `cn` (User first name contains value) \n VALUE: `Search string`\n\n* **lastName** \n Last name \n OPERATOR: `cn` (User last name contains value) \n VALUE: `Search string`\n\n* **lockStatus** \n Lock status:\n * 0 - Locked\n * 1 - Web access allowed\n * 2 - Web and mobile access allowed, \n \n OPERATOR: `eq` (User lock status) \n VALUE: `[0|1|2]`.\n\n* **effectiveRoles** \n Filter users with _DIRECT_ or _DIRECT_ **AND** _EFFECTIVE_ roles \n * `false`: _DIRECT_ roles \n * `true`: _DIRECT_ **AND** _EFFECTIVE_ roles \n\n > _DIRECT_ means: e.g. user gets role **directly** granted from someone with _grant permission_ right. \n _EFFECTIVE_ means: e.g. user gets role through **group membership**. \n\n OPERATOR: `eq` (multiple values not allowed) \n VALUE: `[true|false]` (default: `false`)\n\n\n### Logical grouping:\nFiltering according first three fields (`login`, `lastName`, `firstName`) is intrinsically processed by the API as logical _OR_. \nIn opposite, filtering according to last three field (`lockStatus`) is processed intrinsically as logical _AND_.\n\n### Example:\n* `login:cn:searchString_1|firstName:cn:searchString_2|lockStatus:eq:2` \nFilter by `login` contains `searchString_1` or `firstName` contains `searchString_2` and user are not locked.\n\n### Sort\n\nSort string syntax: `FIELD_NAME:ORDER` \nOrder can be `asc` or `desc`. \nMultiple fields are supported.\n\n### Sort fields:\n\n* **login**: Login name\n* **firstName**: First name\n* **lastName**: Last name\n* **gender**: Gender\n* **lockStatus**: User lock status\n* **lastLoginSuccessAt**: Last successful logon date\n* **expireAt**: Expiration date\n\n### Example:\n* `firstName:asc|lastLoginSuccessAt:desc` \nSort by `firstName` ascending and by `lastLoginSuccessAt` descending.","operationId":"getCustomerUsers","parameters":[{"description":"Customer ID","in":"path","name":"customer_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Range offset","in":"query","name":"offset","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Range limit","in":"query","name":"limit","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Filter string","in":"query","name":"filter","required":false,"schema":{"type":"string"}},{"description":"Sort string","in":"query","name":"sort","required":false,"schema":{"type":"string"}},{"description":"Service Authentication token","in":"header","name":"X-Sds-Service-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/UserList"}}}},"400":{"description":"Bad Request\n\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.\n* [-80024] Invalid range parameters.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-90103] Customer not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get customer users","tags":["provisioning"]}},"/v4/public/branding/info":{"get":{"description":"### Functional Description: \nPublic branding information.\n\n### Precondition:\nNone.\n\n### Effects:\nIf `brandingServerBrandingId` is set, `brandingServerCustomer` is not supplied.\n\n### Further Information:\nNone.","operationId":"getBrandingServerInfo","responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/BrandingServerInfo"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get branding info","tags":["public"]}},"/v4/public/shares/downloads/{access_key}":{"get":{"description":"### Functional Description: \nRetrieve the public information of a Download Share.\n\n### Precondition:\nNone.\n\n### Effects:\nNone.\n\n### Further Information:\nNone.","operationId":"getPublicDownloadShare","parameters":[{"description":"Access key","in":"path","name":"access_key","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/PublicDownloadShare"}}}},"400":{"description":"Bad Request\n\n* [-80000] Mandatory fields cannot be empty.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-50009] Wrong password for Download Share link.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-40751] File not found.\n* [-50000] Download access key not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get public Download Share info","tags":["public"]},"post":{"description":"### Functional Description:\nGenerate a download token to retrieve a shared file.\n\n### Precondition:\nNone.\n\n### Effects:\nDownload token is generated and returned.\n\n### Further Information:\nAfter generating the download token a download is possible with:\n* `GET /public/shares/downloads/{access_key}/{token}`","operationId":"createPublicDownloadShareToken","parameters":[{"description":"Access key","in":"path","name":"access_key","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicDownloadTokenGenerateRequest"}}},"description":"body","required":true},"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/PublicDownloadTokenGenerateResponse"}}}},"400":{"description":"Bad Request\n\n* [-80000] Mandatory fields cannot be empty.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-50000] Download access key not found.\n* [-50002] Downloads limit reached.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Generate download token","tags":["public"]}},"/v4/public/shares/downloads/{access_key}/{token}":{"get":{"description":"### Functional Description: \nDownload a file.\n\n### Precondition:\nValid download token.\n\n### Effects:\nNone.\n\n### Further Information:\nRange requests are supported (please cf. [RCF 7233](https://tools.ietf.org/html/rfc7233) for details).","operationId":"getPublicFileData","parameters":[{"description":"Access key","in":"path","name":"access_key","required":true,"schema":{"type":"string"}},{"description":"Download token","in":"path","name":"token","required":true,"schema":{"type":"string"}},{"description":"Range","in":"header","name":"Range","required":false,"schema":{"type":"string"}},{"description":"Always return 'application/octet-stream' instead of specific mimetype","in":"query","name":"generic_mimetype","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"OK","content":{"application/octet-stream":{"schema":{"format":"byte","type":"string"}}}},"400":{"description":"Bad Request\n\n* [-80000] Mandatory fields cannot be empty.\n* [-80022] Range cannot be set at ZIP download.","content":{"application/octet-stream":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-50000] Download access key not found.\n* [-50001] Download token not found.\n* [-50002] Downloads limit reached.","content":{"application/octet-stream":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/octet-stream":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"416":{"description":"Range Not Satisfiable"}},"summary":"Download file","tags":["public"]},"head":{"description":"### Functional Description: \nDownload a file.\n\n### Precondition:\nValid download token.\n\n### Effects:\nNone.\n\n### Further Information:\nRange requests are supported (please cf. [RCF 7233](https://tools.ietf.org/html/rfc7233) for details).","operationId":"getPublicFileData_1","parameters":[{"description":"Access key","in":"path","name":"access_key","required":true,"schema":{"type":"string"}},{"description":"Download token","in":"path","name":"token","required":true,"schema":{"type":"string"}},{"description":"Range","in":"header","name":"Range","required":false,"schema":{"type":"string"}},{"description":"Always return 'application/octet-stream' instead of specific mimetype","in":"query","name":"generic_mimetype","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"OK","content":{"application/octet-stream":{"schema":{"format":"byte","type":"string"}}}},"400":{"description":"Bad Request\n\n* [-80000] Mandatory fields cannot be empty.\n* [-80022] Range cannot be set at ZIP download.","content":{"application/octet-stream":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-50000] Download access key not found.\n* [-50001] Download token not found.\n* [-50002] Downloads limit reached.","content":{"application/octet-stream":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/octet-stream":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"416":{"description":"Range Not Satisfiable"}},"summary":"Download file","tags":["public"]}},"/v4/public/shares/uploads/{access_key}":{"get":{"description":"### Functional Description: \nProvides information about the desired Upload Share.\n\n### Precondition:\nNone.\n\n### Effects:\nNone.\n\n### Further Information:\nIf no password is set, the returned information is reduced to the following attributes (if available):\n\n* **name**\n* **maxSlots**\n* **createdAt**\n* **isProtected**\n* **isEncrypted**\n* **showUploadedFiles**\n* **userUserPublicKeyList** (if parent is end-to-end encrypted)\n\nOnly if the password is transmitted as `X-Sds-Share-Password` header, all values are returned.","operationId":"getPublicUploadShare","parameters":[{"description":"Access key","in":"path","name":"access_key","required":true,"schema":{"type":"string"}},{"description":"Upload share password","in":"header","name":"X-Sds-Share-Password","required":false,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/PublicUploadShare"}}}},"400":{"description":"Bad Request\n\n* [-80000] Mandatory fields cannot be empty.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-50502] Wrong password.\n* [-50505] No room user has a keypair.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-50501] Upload access key not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get public Upload Share info","tags":["public"]},"post":{"description":"### Functional Description: \nCreate a new upload channel.\n\n### Precondition:\nNone.\n\n### Effects:\nUpload channel is created and corresponding token / upload ID returned.\n\n### Further Information:\nThe token from the response can be used at:\n\n* `POST /uploads/{token}`\n* `PUT /uploads/{token}`\n* `DELETE /uploads/{token}`\n\nPlease provide the size of the intended upload so that the quota can be checked in advanced and no data is transferred unnecessarily.\n\n### Node naming convention\n\n* Node (room, folder, file) names are limited to 150 characters.\n\n* Not allowed names: \n`'CON', 'PRN', 'AUX', 'NUL', 'COM1', 'COM2', 'COM3', 'COM4', 'COM5', 'COM6', 'COM7', 'COM8', 'COM9', 'LPT1', 'LPT2', 'LPT3', 'LPT4', 'LPT5', 'LPT6', 'LPT7', 'LPT8', 'LPT9','.','/'`\n\n* Not allowed characters in names: \n`'../', '\\\\', '<','>', ':', '\\\"', '|', '?', '*', '/'`\n","operationId":"createShareUpload","parameters":[{"description":"Access key","in":"path","name":"access_key","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/CreateShareUploadChannelRequest"}}},"description":"body","required":true},"responses":{"201":{"description":"Created","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/CreateShareUploadChannelResponse"}}}},"400":{"description":"Bad Request\n\n* [-40755] Bad node name.\n* [-50506] Exceeds the number of files for this Upload Share.\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.\n* [-80007] Maximum allowed length is exceeded.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-50502] Wrong password.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-50501] Upload access key not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"507":{"description":"Insufficient Storage\n\n* [-40200] Exceeds the free node quota in room.\n* [-50504] Exceeds the quota for this Upload Share.\n* [-90200] Exceeds the free customer quota.\n* [-90201] Exceeds the free customer physical disk space.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Create new file upload channel","tags":["public"]}},"/v4/public/shares/uploads/{access_key}/{upload_id}":{"delete":{"description":"### Functional Description:\nAbort (chunked) upload via Upload Share.\n\n### Precondition:\nValid Upload ID.\n\n### Effects:\nAborts upload and invalidates upload ID / token.\n\n### Further Information:\nNone.","operationId":"cancelShareUpload","parameters":[{"description":"Access key","in":"path","name":"access_key","required":true,"schema":{"type":"string"}},{"description":"Upload channel ID","in":"path","name":"upload_id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request\n\n* [-80000] Mandatory fields cannot be empty.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-20501] Upload not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Cancel file upload","tags":["public"]},"post":{"description":"### Functional Description: \nChunked upload of files via Upload Share.\n\n### Precondition:\nValid upload ID.\n\n### Effects:\nChunk of file is uploaded.\n\n### Further Information:\nChunked uploads (range requests) are supported (please cf. [RCF 7233](https://tools.ietf.org/html/rfc7233) for details).","operationId":"uploadShare","parameters":[{"description":"Access key","in":"path","name":"access_key","required":true,"schema":{"type":"string"}},{"description":"Upload channel ID","in":"path","name":"upload_id","required":true,"schema":{"type":"string"}},{"description":"Content-Range\ne.g. \"bytes 0-999/3980\"\ncf. [RFC 7233](https://tools.ietf.org/html/rfc7233)","in":"header","name":"Content-Range","required":false,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/uploadFile"},"responses":{"201":{"description":"Created","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ChunkUploadResponse"}}}},"400":{"description":"Bad Request\n\n* [-80000] Mandatory fields cannot be empty.\n* [-80021] Incorrect upload 'Content-Range'.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-20501] Upload not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"507":{"description":"Insufficient Storage\n\n* [-40200] Exceeds the free node quota in room.\n* [-90200] Exceeds the free customer quota.\n* [-90201] Exceeds the free customer physical disk space.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Upload file","tags":["public"]},"put":{"description":"### Functional Description:\nFinalize (chunked) upload via Upload Share.\n\n### Precondition:\nValid upload ID.\n\n### Effects:\nFinalizes upload.\n\n### Further Information:\nChunked uploads (range requests) are supported (please cf. [RCF 7233](https://tools.ietf.org/html/rfc7233) for details). \n\nPlease ensure that all chunks have been transferred correctly before finishing the upload. \nIf file hash has been created in time a `201 Created` will be responded and hash will be part of response, otherwise it will be a `202 Accepted` without it.\n\n### 200 OK is not used by this API","operationId":"completeShareUpload","parameters":[{"description":"Access key","in":"path","name":"access_key","required":true,"schema":{"type":"string"}},{"description":"Upload channel ID","in":"path","name":"upload_id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserFileKeyList"}}},"description":"Mandatory for encrypted shares"},"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/PublicUploadedFileData"}}}},"201":{"description":"Created","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/PublicUploadedFileData"}}}},"202":{"description":"Accepted"},"400":{"description":"Bad Request\n\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80007] Maximum allowed length is exceeded.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-20501] Upload not found.\n* [-70501] User not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"508":{"description":"Loop Detected"}},"summary":"Complete file upload","tags":["public"]}},"/v4/public/software/version":{"get":{"description":"### Functional Description: \nPublic software version information.\n\n### Precondition:\nNone.\n\n### Effects:\nNone.\n\n### Further Information:\nThe version of DRACOON Server consists of two components:\n* **API**\n* **Core** (refered to as _\"Server\"_)\n\nthat are versioned individually.","operationId":"getSoftwareVersion","parameters":[{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/SoftwareVersionData"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get software version info","tags":["public"]}},"/v4/public/system/info":{"get":{"description":"### Functional Description: \nProvides information about system.\n\n### Precondition:\nNone.\n\n### Effects:\nNone.\n\n### Further Information:\nNone.","operationId":"getSystemInfo","responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/SystemInfo"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get system information","tags":["public"]}},"/v4/public/system/info/auth/ad":{"get":{"description":"### Functional Description: \nProvides information about Active Directory authentication options.\n\n### Precondition:\nNone.\n\n### Effects:\nNone.\n\n### Further Information:\nNone.","operationId":"getActiveDirectoryAuthInfo","responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ActiveDirectoryAuthInfo"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get Active Directory authentication information","tags":["public"]}},"/v4/public/system/info/auth/openid":{"get":{"description":"### Functional Description: \nProvides information about OpenID Connect authentication options.\n\n### Precondition:\nNone.\n\n### Effects:\nNone.\n\n### Further Information:\nNone.","operationId":"getOpenIdAuthInfo","responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/OpenIdAuthInfo"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get OpenID Connect authentication information","tags":["public"]}},"/v4/public/time":{"get":{"description":"### Functional Description: \nRetrieve the actual server time.\n\n### Precondition:\nNone.\n\n### Effects:\nNone.\n\n### Further Information:\nNone.","operationId":"getSdsServerTime","parameters":[{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/SdsServerTime"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get system time","tags":["public"]}},"/v4/roles":{"get":{"description":"### Functional Description: \nRetrieve a list of all Roles and the role assignment rights.\n\n### Precondition:\nRight _\"read users\"_ required.\n\n### Effects:\nNone.\n\n### Further Information:\nNone.","operationId":"getRoles","parameters":[{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/RoleList"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get all roles and to the role assignment rights","tags":["roles"]}},"/v4/roles/{role_id}/groups":{"delete":{"description":"### Functional Description: \nRemoves one or more groups from a role.\n\n### Precondition:\nRole _\"Group Manager\"_ required. \nFor each role, at least one non-expiring user must remain who keeps the role.\n\n### Effects:\nOne or more groups will be removed from a role.\n\n### Further Information:\nNone.","operationId":"deleteRoleGroups","parameters":[{"description":"Role ID","in":"path","name":"role_id","required":true,"schema":{"type":"integer","format":"int32"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/GroupIds"},"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/RoleGroupList"}}}},"400":{"description":"Bad Request\n\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-30000] Group not found.\n* [-71001] Role not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Revoke groups role","tags":["roles"]},"get":{"description":"### Functional Description: \nGet all groups of a role.\n\n### Precondition:\nRight _\"read groups\"_ required.\n\n### Effects:\nNone.\n\n### Further Information:\nNone.\n\n### Filter\n\n### Filter fields:\n\n* **isMember** \n Filter the groups which are / aren't member of that role \n OPERATOR: `eq` (multiple values not allowed) \n VALUE: `[true|false|any]` (default: `true`)\n\n* **name** \n Group name \n OPERATOR: `cn` (Group name contains value; multiple values not allowed) \n VALUE: `Search string`\n\n### Example:\n* `isMember:eq:false|name:cn:searchString` \nGet all groups that are not a member of that role AND whose `name` contains `searchString`.","operationId":"getRoleGroups","parameters":[{"description":"Role ID","in":"path","name":"role_id","required":true,"schema":{"type":"integer","format":"int32"}},{"description":"Range offset","in":"query","name":"offset","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Range limit","in":"query","name":"limit","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Filter string","in":"query","name":"filter","required":false,"schema":{"type":"string"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/RoleGroupList"}}}},"400":{"description":"Bad Request\n\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.\n* [-80024] Invalid range parameters.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-71001] Role not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get role groups","tags":["roles"]},"post":{"description":"### Functional Description:\nAdds one or more groups to a role.\n\n### Precondition:\nRight _\"grant permission on groups\"_ required.\n\n### Effects:\nOne or more groups will be added to a role.\n\n### Further Information:\nNone.","operationId":"addRoleGroups","parameters":[{"description":"Role ID","in":"path","name":"role_id","required":true,"schema":{"type":"integer","format":"int32"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/GroupIds"},"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/RoleGroupList"}}}},"400":{"description":"Bad Request\n\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-30000] Group not found.\n* [-71001] Role not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Add groups to the role","tags":["roles"]}},"/v4/roles/{role_id}/users":{"delete":{"description":"### Functional Description: \nRemoves one or more users from a role.\n\n### Precondition:\nRole _\"User Manager\"_ required. \nFor each role, at least one non-expiring user must remain who keeps the role.\n\n### Effects:\nOne or more users will be removed from a role.\n\n### Further Information:\nNone.","operationId":"deleteRoleUsers","parameters":[{"description":"Role ID","in":"path","name":"role_id","required":true,"schema":{"type":"integer","format":"int32"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/UserIds"},"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/RoleUserList"}}}},"400":{"description":"Bad Request\n\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-70501] User not found.\n* [-71001] Role not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Revoke users role","tags":["roles"]},"get":{"description":"### Functional Description: \nGet all users of a role.\n\n### Precondition:\nRight _\"read users\"_ required.\n\n### Effects:\nNone.\n\n### Further Information:\nNone.\n\n### Filter\n\n### Filter fields:\n\n* **isMember** \n Filter the users which are / aren't member of that role \n OPERATOR: `eq` (multiple values not allowed) \n VALUE: `[true|false|any]` (default: `true`)\n\n* **displayName** \n User display name (firstName, lastName, login) \n OPERATOR: `cn` (User display name contains value; multiple values not allowed) \n VALUE: `Search string`\n\n### Example:\n* `isMember:eq:false|displayName:cn:searchString` \nGet all users that are not member of that role AND whose display name contains `searchString`.","operationId":"getRoleUsers","parameters":[{"description":"Role ID","in":"path","name":"role_id","required":true,"schema":{"type":"integer","format":"int32"}},{"description":"Range offset","in":"query","name":"offset","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Range limit","in":"query","name":"limit","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Filter string","in":"query","name":"filter","required":false,"schema":{"type":"string"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/RoleUserList"}}}},"400":{"description":"Bad Request\n\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.\n* [-80024] Invalid range parameters.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-71001] Role not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get role users","tags":["roles"]},"post":{"description":"### Functional Description:\nAdds one or more users to a role.\n\n### Precondition:\nRight _\"grant permission on users\"_ required.\n\n### Effects:\nOne or more users will be added to a role.\n\n### Further Information:\nNone.","operationId":"addRoleUsers","parameters":[{"description":"Role ID","in":"path","name":"role_id","required":true,"schema":{"type":"integer","format":"int32"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/UserIds"},"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/RoleUserList"}}}},"400":{"description":"Bad Request\n\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-70501] User not found.\n* [-71001] Role not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Add users to the role","tags":["roles"]}},"/v4/shares/downloads":{"get":{"description":"### Functional Description: \nRetrieve a list of Download Shares.\n\n### Precondition:\nNone.\n\n### Effects:\nNone.\n\n### Further Information:\nNone.\n\n### Filters\n\nFilter string syntax: `FIELD_NAME:OPERATOR:VALUE` \nMultiple fields is supported.\n\n### Filter fields:\n\n* **name** \n Alias Name or File Name \n OPERATOR: `cn` ( name contains value) \n VALUE: `Search string`\n\n* **createdBy** \n Creator info \n OPERATOR: `cn` (Creator info (`login`, `email`, `firstName`, `lastName`) contains value) \n VALUE: `Search string`\n\n* **accessKey** \n Share access key \n OPERATOR: `cn` (Share access key contains value) \n VALUE: `Search string`\n\n* **nodeId** \n Source node ID \n OPERATOR: `eq` (Source file / folder / room ID) \n VALUE: `Search node ID`\n\n* **userId** \n Creator user ID \n OPERATOR: `eq` \n VALUE: `Search user ID`\n\n### Example:\n* `name:cn:searchString_1|createdBy:cn:searchString_2|nodeId:eq:1` \nFilter by file `name` contains `searchString_1` OR creator info (`login`, `email`, `firstName`, `lastName`) contains `searchString_2` OR node ID is equal to `1`.\n\n### Sorting\n\nSort string syntax: `FIELD_NAME:ORDER` \nOrder can be `asc` or `desc`. \nMultiple fields is supported.\n\n### Sort fields:\n\n* **name**: Alias Name or File Name\n* **classification**: Classification ID (for files only): \n * 1 - public\n * 2 - for internal use only\n * 3 - confidential\n * 4 - strictly confidential\n* **notifyCreator**: Notify creator on every download\n* **expireAt**: Expiration date\n* **createdAt**: Creation date\n* **createdBy**: Creator info\n\n### Example:\n* `name:asc|expireAt:desc` \nSort by `name` ascending and by `expireAt` descending.","operationId":"getDownloadShares","parameters":[{"description":"Filter string","in":"query","name":"filter","required":false,"schema":{"type":"string"}},{"description":"Sort string","in":"query","name":"sort","required":false,"schema":{"type":"string"}},{"description":"Range offset","in":"query","name":"offset","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Range limit","in":"query","name":"limit","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/DownloadShareList"}}}},"400":{"description":"Bad Request\n\n* [-80024] Invalid range parameters.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get Download Shares","tags":["shares"]},"post":{"description":"### Functional Description:\nCreate a new Download Share.\n\n### Precondition:\nUser with _\"manage download share\"_ permissions on target node.\n\n### Effects:\nDownload Share created.\n\n### Further Information:\n\n* **Access password:** limited to **150** characters.\n* **Notes:** limited to **255** characters.\n* **Alias names:** limited to **150** characters.","operationId":"createDownloadShare","parameters":[{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/CreateDownloadShareRequest"}}},"description":"body","required":true},"responses":{"201":{"description":"Created","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/DownloadShare"}}}},"400":{"description":"Bad Request\n\n* [-10002] Password is not secure.\n* [-50004] Download Shares of encrypted containers not allowed.\n* [-50005] File key must be set on Download Share in encrypted containers.\n* [-50006] Key pair must be set on Download Share in encrypted containers.\n* [-50007] Download Shares in unencrypted rooms must not have keys.\n* [-70022] Public key format is not valid.\n* [-70023] Private key format is not valid.\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.\n* [-80005] Not valid boolean value.\n* [-80006] Expiration date is in the past.\n* [-80007] Maximum allowed length is exceeded.\n* [-80008] The year is too far in the future. Max year is limited to 9999.\n* [-80009] Not a valid email address.\n* [-80030] SMS disabled.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-41000] Node not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway\n\n* [-90090] Could not send SMS.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Create new Download Share","tags":["shares"]}},"/v4/shares/downloads/{share_id}":{"delete":{"description":"### Functional Description:\nDelete a Download Share.\n\n### Precondition:\nNone.\n\n### Effects:\nDownload Share is deleted.\n\n### Further Information:\nOnly the Download Share is removed; the referenced file or container persists.","operationId":"deleteDownloadShare","parameters":[{"description":"Share ID","in":"path","name":"share_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request\n\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-60000] Download Share not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Delete Download Share","tags":["shares"]},"get":{"description":"### Functional Description: \nRetrieve detailed information about one Download Share.\n\n### Precondition:\nNone.\n\n### Effects:\nNone.\n\n### Further Information:\nNone.","operationId":"getDownloadShare","parameters":[{"description":"Share ID","in":"path","name":"share_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/DownloadShare"}}}},"400":{"description":"Bad Request\n\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-60000] Download Share not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get Download Share","tags":["shares"]}},"/v4/shares/downloads/{share_id}/qr":{"get":{"description":"### Functional Description: \nRetrieve detailed information about one Download Share.\n\n### Precondition:\nNone.\n\n### Effects:\nNone.\n\n### Further Information:\nNone.","operationId":"getDownloadShareQr","parameters":[{"description":"Share ID","in":"path","name":"share_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/DownloadShare"}}}},"400":{"description":"Bad Request\n\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-60000] Download Share not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get Download Share via QR Code","tags":["shares"]}},"/v4/shares/uploads":{"get":{"description":"### Functional Description: \nRetrieve a list of Upload Shares (aka Upload Accounts).\n\n### Precondition:\nNone.\n\n### Effects:\nNone.\n\n### Further Information:\nNone.\n\n### Filters\n\nFilter string syntax: `FIELD_NAME:OPERATOR:VALUE` \nMultiple fields is supported.\n\n### Filter fields:\n\n* **name** \n Alias name \n OPERATOR: `cn` (Alias name contains value) \n VALUE: `search string`\n\n* **createdBy** \n Creator info \n OPERATOR: `cn` (Creator info (`login`, `email`, `firstName`, `lastName`) contains value) \n VALUE: `search string`\n\n* **accessKey** \n Share access key \n OPERATOR: `cn` (Share access key contains value) \n VALUE: `search string`\n\n* **targetId** \n Target node (room, folder) \n **DEPRECATED** OPERATOR: `cn` (Target node contains value) \n **NEW** OPERATOR: `eq` (Target node equal value) \n VALUE: `search string`\n\n* **userId** \n Creator user ID \n OPERATOR: `eq` \n VALUE: `Search user ID`\n\n### Example:\n* `name:cn:searchString_1|createdBy:cn:searchString_2` \nFilter by alias `name` contains `searchString_1` OR creator info (`login`, `email`, `firstName`, `lastName`) contains `searchString_2`.\n\n### Sorting\n\nSort string syntax: `FIELD_NAME:ORDER` \nOrder can be `asc` or `desc`. \nMultiple fields is supported.\n\n### Sort fields:\n\n* **name**: Alias name\n* **expireAt**: Expiration date\n* **notifyCreator**: Notify creator on every upload.\n* **createdAt**: Creation date\n* **createdBy**: Creator info\n\n### Example:\n* `name:asc|expireAt:desc` \nSort by `name` ascending AND by `expireAt` descending.","operationId":"getUploadShares","parameters":[{"description":"Filter string","in":"query","name":"filter","required":false,"schema":{"type":"string"}},{"description":"Sort string","in":"query","name":"sort","required":false,"schema":{"type":"string"}},{"description":"Range offset","in":"query","name":"offset","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Range limit","in":"query","name":"limit","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/UploadShareList"}}}},"400":{"description":"Bad Request\n\n* [-80024] Invalid range parameters.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get Upload Shares","tags":["shares"]},"post":{"description":"### Functional Description:\nCreate a new Upload Share (aka Upload Account).\n\n### Precondition:\nUser has _\"manage upload share\"_ permissions on target container.\n\n### Effects:\nUpload Share is created.\n\n### Further Information:\n\n* **Notes:** limited to **255** characters.\n* **Alias Names:** are limited to **150** characters.\n* **Send Mail:**: \n * If `sendMail` is set to `false`: `mailRecipients`; `mailSubject`; `mailBody` are **optional**. \n * If `sendMail` is set to `true`: `mailRecipients`; `mailSubject`; `mailBody` are **mandatory**.","operationId":"createUploadShare","parameters":[{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/CreateUploadShareRequest"}}},"description":"body","required":true},"responses":{"201":{"description":"Created","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/UploadShare"}}}},"400":{"description":"Bad Request\n\n* [-10002] Password is not secure.\n* [-41200] Path is too long.\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.\n* [-80005] Not valid boolean value.\n* [-80006] Expiration date is in the past.\n* [-80007] Maximum allowed length is exceeded.\n* [-80008] The year is too far in the future. Max year is limited to 9999.\n* [-80009] Not a valid email address.\n* [-80030] SMS disabled.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-41000] Node not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict\n\n* Specified alias name already exists.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway\n\n* [-90090] Could not send SMS.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Create new Upload Share","tags":["shares"]}},"/v4/shares/uploads/{share_id}":{"delete":{"description":"### Functional Description:\nDelete an Upload Share (aka Upload Account).\n\n### Precondition:\nNone.\n\n### Effects:\nUpload Share is deleted.\n\n### Further Information:\nOnly the Upload Share is removed; already uploaded files and the target container persist.","operationId":"deleteUploadShare","parameters":[{"description":"Share ID","in":"path","name":"share_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request\n\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-60500] Upload Share not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Delete Upload Share","tags":["shares"]},"get":{"description":"### Functional Description: \nRetrieve detailed information about one Upload Share (aka Upload Account).\n\n### Precondition:\nNone.\n\n### Effects:\nNone.\n\n### Further Information:\nNone.","operationId":"getUploadShare","parameters":[{"description":"Share ID","in":"path","name":"share_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/UploadShare"}}}},"400":{"description":"Bad Request\n\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-60500] Upload Share not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get Upload Share","tags":["shares"]}},"/v4/shares/uploads/{share_id}/qr":{"get":{"description":"### Functional Description: \nRetrieve detailed information about one Upload Share (aka Upload Account).\n\n### Precondition:\nNone.\n\n### Effects:\nNone.\n\n### Further Information:\nNone.","operationId":"getUploadShareQr","parameters":[{"description":"Share ID","in":"path","name":"share_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/UploadShare"}}}},"400":{"description":"Bad Request\n\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-60500] Upload Share not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get Upload Share via QR Code","tags":["shares"]}},"/v4/syslog/audits/nodes":{"get":{"deprecated":true,"description":"### Functional Description: \nRetrieve a list of all nodes of type `room` and the room assignment users with permissions.\n\n### Precondition:\nRight _\"read audit log\"_ required.\n\n### Effects:\nNone.\n\n### Further Information:\nNone.\n\n### Filter\n\nFilter string syntax: `FIELD_NAME:OPERATOR:VALUE` \nMultiple fields are supported.\n\n### Filter fields:\n\n* **nodeId** \n Node ID \n OPERATOR: `eq` (Node ID equal value) \n VALUE: `Search string`\n\n* **nodeName** \n Node name (Login) \n OPERATOR: `cn|eq` (Node name contains value | equal value) \n VALUE: `Search string`\n\n* **nodeParentId** \n Node parent ID \n OPERATOR: `eq` (Parent ID equal value; parent ID 0 is the root node.) \n VALUE: `Search string`\n\n* **userId** \n User ID \n OPERATOR: `eq` (User ID equal value) \n VALUE: `Search string`\n\n* **userName** \n User name (Login) \n OPERATOR: `cn|eq` (User name contains value | equal value) \n VALUE: `Search string`\n\n* **userFirstName** \n User first name \n OPERATOR: `cn|eq` (User first name contains value | equal value) \n VALUE: `Search string`\n\n* **userLastName** \n User last name \n OPERATOR: `cn|eq` (User last name contains value | equal value) \n VALUE: `Search string`\n\n* **permissionsManage** \n Filter the users that (don't) have manage right in this room \n OPERATOR: `eq` (multiple values not allowed) \n VALUE: `[true|false]`\n\n* **nodeIsEncrypted** \n Encrypted node filter \n OPERATOR: `eq` (multiple values not allowed) \n VALUE: `[true|false]`\n\n* **nodeHasRecycleBin** \n Recycle bin filter \n OPERATOR: `eq` (multiple values not allowed) \n VALUE: `[true|false]`\n \n* **nodeHasActivitiesLog** \n Activities log filter \n OPERATOR: `eq` (multiple values not allowed) \n VALUE: `[true|false]`\n\n### Logical grouping:\nFiltering according first three fields (`login`, `lastName`, `firstName`) is intrinsically processed by the API as logical _OR_. \nIn opposite, filtering according to is processed intrinsically as logical _AND_.\n\n### Example:\n* `userName:cn:searchString_1|userFirstName:cn:searchString_2|nodeId:eq:2` \nFilter by user login containing `searchString_1` OR first name containing `searchString_2` and node ID equal 2.\n\n### Sort\n\nSort string syntax: `FIELD_NAME:ORDER` \nOrder can be `asc` or `desc`. \nMultiple fields are supported.\n\n### Sort fields:\n\n* **nodeId**: Node ID\n* **nodeName**: Node name\n* **nodeParentId**: Node parent ID\n* **nodeSize**: Node size\n* **nodeQuota**: Node quota\n\n### Example:\n* `nodeName:asc` \nSort by `nodeName` ascending.","operationId":"getAuditNodeUserData_1","parameters":[{"description":"Filter string","in":"query","name":"filter","required":false,"schema":{"type":"string"}},{"description":"Sort string","in":"query","name":"sort","required":false,"schema":{"type":"string"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"items":{"$ref":"#/components/schemas/AuditNodeResponse"},"type":"array"}}}},"400":{"description":"Bad Request\n\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get node assigned users with permissions","tags":["syslog"]}},"/v4/syslog/events":{"get":{"deprecated":true,"description":"### Functional Description: \nRetrieve eventlog (= audit log) events.\n\n### Precondition:\nRole _\"Log Auditor\"_ required.\n\n### Effects:\nNone.\n\n### Further Information:\nOutput may be limited to a certain number of entries. \nPlease use filter criteria and paging.","operationId":"getSyslogEvents","parameters":[{"description":"Range offset","in":"query","name":"offset","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Range limit","in":"query","name":"limit","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Start date\ne.g. 2015-12-31T23:59:00","in":"query","name":"date_start","required":false,"schema":{"type":"string"}},{"description":"End date\ne.g. 2015-12-31T23:59:00","in":"query","name":"date_end","required":false,"schema":{"type":"string"}},{"description":"Operation ID\ncf. `GET /eventlog/operations`","in":"query","name":"type","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"User ID","in":"query","name":"user_id","required":false,"schema":{"type":"integer","format":"int64"}},{"description":"Operation status:\n* 0 - Success\n* 2 - Error","in":"query","name":"status","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"User client","in":"query","name":"user_client","required":false,"schema":{"type":"string"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/SyslogEventList"}},"text/csv":{"schema":{"$ref":"#/components/schemas/SyslogEventList"}}}},"400":{"description":"Bad Request\n\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.\n* [-80024] Invalid range parameters.\n* [-80026] Not a valid operation ID.\n* [-80027] Not a valid operation status.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}},"text/csv":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}},"text/csv":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}},"text/csv":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}},"text/csv":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}},"text/csv":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get system events","tags":["syslog"]}},"/v4/syslog/operations":{"get":{"deprecated":true,"description":"### Functional Description: \nRetrieve eventlog (= audit log) operation IDs and the associated log operation description.\n\n### Precondition:\nRole _\"Log Auditor\"_ required.\n\n### Effects:\nNone.\n\n### Further Information:\nNone.","operationId":"getLogOperations_1","parameters":[{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/LogOperationList"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get allowed Log Operations","tags":["syslog"]}},"/v4/system/config/actions/test/ad":{"post":{"description":"### Functional Description: \nTest AD configuration.\n\n### Precondition:\nRole _Config Manager_.\n\n### Effects:\nNone.\n\n### Further Information:\nDRACOON tries to establish a connection with the provided information.","operationId":"testAdConfig","parameters":[{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/TestActiveDirectoryConfigRequest"}}},"description":"body","required":true},"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/TestActiveDirectoryConfigResponse"}}}},"400":{"description":"Bad Request\n\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.\n* [-80007] Maximum allowed length is exceeded.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n\n* [-90051] Active Directory login failed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-90052] Active Directory Connection Failed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict\n\n* [-90056] Active Directory Name already exists.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Test active directory configuration","tags":["system"]}},"/v4/system/config/actions/test/radius":{"post":{"operationId":"testRadiusConfig","parameters":[{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-90072] RADIUS configuration not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Bad Gateway\n\n* [-90070] RADIUS connection failed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Test RADIUS server availability","tags":["system"]}},"/v4/system/config/auth/ads":{"get":{"description":"### Functional Description: \nRetrieve a list of configured ADs.\n\n### Precondition:\nRole _Config Manager_.\n\n### Effects:\nNone.\n\n### Further Information:\nNone.","operationId":"getAdConfigs","parameters":[{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ActiveDirectoryConfigList"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get active directory configuration","tags":["system"]},"post":{"description":"### Functional Description:\nCreate a new AD configuration.\n\n### Precondition:\nRole _Config Manager_.\n\n### Effects:\nNew AD configuration created.\n\n### Further Information:\nNone.","operationId":"createAdConfig","parameters":[{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/CreateActiveDirectoryConfigRequest"}}},"description":"body","required":true},"responses":{"201":{"description":"Created","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ActiveDirectoryConfig"}}}},"400":{"description":"Bad Request\n\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.\n* [-80007] Maximum allowed length is exceeded.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n\n* [-90053] This Homefolder is not allowed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-30000] Group not found.\n* [-40000] Parent node not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict\n\n* [-90056] Active Directory Name already exists.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Create active directory configuration","tags":["system"]}},"/v4/system/config/auth/ads/{ad_id}":{"delete":{"description":"### Functional Description:\nDelete an existing AD configuration.\n\n### Precondition:\nRole _Config Manager_.\n\n### Effects:\nAD configuration removed.\n\n### Further Information:\nNone.","operationId":"deleteAdConfig","parameters":[{"description":"Active Directory ID","in":"path","name":"ad_id","required":true,"schema":{"type":"integer","format":"int32"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request\n\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-90050] Active Directory configuration not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict\n\n* [-90059] No valid Active Directory found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Delete active directory configuration","tags":["system"]},"get":{"description":"### Functional Description: \nRetrieve the configuration of a AD.\n\n### Precondition:\nRole _Config Manager_.\n\n### Effects:\nNone.\n\n### Further Information:\nNone.","operationId":"getAuthAdSetting","parameters":[{"description":"Active Directory ID","in":"path","name":"ad_id","required":true,"schema":{"type":"integer","format":"int32"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ActiveDirectoryConfig"}}}},"400":{"description":"Bad Request\n\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-90050] Active Directory configuration not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get active directory configuration","tags":["system"]},"put":{"description":"### Functional Description: \nUpdate an existing AD configuration.\n\n### Precondition:\nRole _Config Manager_.\n\n### Effects:\nAD configuration updated.\n\n### Further Information:\nNone.","operationId":"updateAuthAdSetting","parameters":[{"description":"Active Directory ID","in":"path","name":"ad_id","required":true,"schema":{"type":"integer","format":"int32"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/UpdateActiveDirectoryConfigRequest"}}},"description":"body","required":true},"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ActiveDirectoryConfig"}}}},"400":{"description":"Bad Request\n\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.\n* [-80007] Maximum allowed length is exceeded.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n\n* [-90053] This Homefolder is not allowed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-30000] Group not found.\n* [-40000] Parent node not found.\n* [-90050] Active Directory configuration not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict\n\n* [-90063] Cannot activate Active Directory import due to active users at other customers.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Update active directory configuration","tags":["system"]}},"/v4/system/config/auth/openid/idps":{"get":{"description":"### Functional Description: \nRetrieve a list of configured OpenID Connect IDPs.\n\n### Precondition:\nRole _Config Manager_ of the Provider Customer.\n\n### Effects:\nNone.\n\n### Further Information:\nNone.","operationId":"getOpenIdIdpConfigs","parameters":[{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"items":{"$ref":"#/components/schemas/OpenIdIdpConfig"},"type":"array"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get OpenID IDP configurations","tags":["system"]},"post":{"description":"### Functional Description:\nCreate a new OpenID Connect IDP configuration.\n\n### Precondition:\nRole _Config Manager_ of the Provider Customer.\n\n### Effects:\nNew OpenID Connect IDP configuration is created.\n\n### Further Information:\nSee [http://openid.net/developers/specs](http://openid.net/developers/specs) for further information.","operationId":"createOpenIdIdpConfig","parameters":[{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/CreateOpenIdIdpConfigRequest"}}},"description":"body","required":true},"responses":{"201":{"description":"Created","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/OpenIdIdpConfig"}}}},"400":{"description":"Bad Request\n\n* [-80000] Mandatory fields cannot be empty.\n* [-80007] Maximum allowed length is exceeded.\n* [-80010] Not a valid URL.\n* [-80032] Not a valid URI.\n* [-90086] Not a valid PKCE code challenge method.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict\n\n* [-90036] OpenID Connect IDP configuration with same name already exists.\n* [-90037] OpenID Connect IDP configuration with same issuer already exists.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Create OpenID IDP configuration","tags":["system"]}},"/v4/system/config/auth/openid/idps/{idp_id}":{"delete":{"description":"### Functional Description:\nDelete an existing OpenID Connect IDP configuration.\n\n### Precondition:\nRole _Config Manager_ of the Provider Customer.\n\n### Effects:\nOpenID Connect IDP configuration removed.\n\n### Further Information:\nNone.","operationId":"deleteOpenIdIdpConfig","parameters":[{"description":"OpenID IDP configuration ID","in":"path","name":"idp_id","required":true,"schema":{"type":"integer","format":"int32"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request\n\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-90035] OpenID Connect IDP not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict\n\n* [-90038] Cannot delete OpenID Connect IDP configuration with active users.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Delete OpenID IDP configuration","tags":["system"]},"get":{"description":"### Functional Description: \nRetrieve an OpenID Connect IDP configuration.\n\n### Precondition:\nRole _Config Manager_ of the Provider Customer.\n\n### Effects:\nNone.\n\n### Further Information:\nNone.","operationId":"getOpenIdIdpConfig","parameters":[{"description":"OpenID IDP configuration ID","in":"path","name":"idp_id","required":true,"schema":{"type":"integer","format":"int32"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/OpenIdIdpConfig"}}}},"400":{"description":"Bad Request\n\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-90035] OpenID Connect IDP not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get OpenID IDP configuration","tags":["system"]},"put":{"description":"### Functional Description: \nUpdate an existing OpenID Connect IDP configuration.\n\n### Precondition:\nRole _Config Manager_ of the Provider Customer.\n\n### Effects:\nOpenID Connect IDP configuration is updated.\n\n### Further Information:\nSee [http://openid.net/developers/specs](http://openid.net/developers/specs) for further information.","operationId":"updateOpenIdIdpConfig","parameters":[{"description":"OpenID IDP configuration ID","in":"path","name":"idp_id","required":true,"schema":{"type":"integer","format":"int32"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/UpdateOpenIdIdpConfigRequest"}}},"description":"body","required":true},"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/OpenIdIdpConfig"}}}},"400":{"description":"Bad Request\n\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.\n* [-80007] Maximum allowed length is exceeded.\n* [-80010] Not a valid URL.\n* [-80032] Not a valid URI.\n* [-90086] Not a valid PKCE code challenge method.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-90035] OpenID Connect IDP not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict\n\n* [-90036] OpenID Connect IDP configuration with same name already exists.\n* [-90037] OpenID Connect IDP configuration with same issuer already exists.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Update OpenID IDP configuration","tags":["system"]}},"/v4/system/config/auth/radius":{"delete":{"operationId":"DeteteRadiusConfig","parameters":[{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-90072] RADIUS configuration not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Delete RADIUS Configuration","tags":["system"]},"get":{"operationId":"GetRadiusConfig","parameters":[{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/RadiusConfig"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-90080] Client could not be found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get RADIUS Configuration","tags":["system"]},"post":{"operationId":"create","parameters":[{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/RadiusConfigCreateRequest"}}},"description":"body","required":true},"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/RadiusConfig"}}}},"400":{"description":"Bad Request\n\n* [-80007] Maximum allowed length is exceeded.\n* [-80033] Not a valid port number.\n* [-90073] RADIUS configuration already exists.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-90072] RADIUS configuration not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Create RADIUS Configuration","tags":["system"]},"put":{"operationId":"UpdateRadiusConfig","parameters":[{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/RadiusConfigUpdateRequest"}}},"description":"body","required":true},"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/RadiusConfig"}}}},"400":{"description":"Bad Request\n\n* [-80007] Maximum allowed length is exceeded.\n* [-80033] Not a valid port number.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-90072] RADIUS configuration not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Update RADIUS Configuration","tags":["system"]}},"/v4/system/config/oauth/clients":{"get":{"description":"### Functional Description: \nRetrieve a list of configured OAuth clients.\n\n### Precondition:\nRole _Config Manager_ of the Provider Customer.\n\n### Effects:\nNone.\n\n### Further Information:\nNone.","operationId":"getOAuthClients","parameters":[{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"items":{"$ref":"#/components/schemas/OAuthClient"},"type":"array"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get OAuth clients","tags":["system"]},"post":{"description":"### Functional Description:\nCreate a new OAuth client.\n\n### Precondition:\nRole _Config Manager_ of the Provider Customer.\n\n### Effects:\nNew OAuth client created.\n\n### Further Information: \nClient secret must have: \n* at least 12 characters, at most 32 characters \n* only lower case characters, upper case characters and digits \n* at least 1 lower case character, 1 upper case character and 1 digit \n\nThe client secret is optional and will be generated if it is left empty. \n\nValid grant types are: \n* **authorization_code** \n* **implicit** \n* **password** \n* **client_credentials** \n* **refresh_token** \n\nGrant type `client_credentials` is actually not permitted! \n\nDefault access token validity: **8 hours** \nDefault refresh token validity: **30 days**","operationId":"createOAuthClient","parameters":[{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/CreateOAuthClientRequest"}}},"description":"body","required":true},"responses":{"201":{"description":"Created","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/OAuthClient"}}}},"400":{"description":"Bad Request\n\n* [-10002] Password is not secure.\n* [-80000] Mandatory fields cannot be empty.\n* [-80007] Maximum allowed length is exceeded.\n* [-80032] Not a valid URI.\n* [-90083] Invalid grant type.\n* [-90085] Invalid token validity.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict\n\n* [-90081] Client with same ID already exists.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Create OAuth client","tags":["system"]}},"/v4/system/config/oauth/clients/{client_id}":{"delete":{"description":"### Functional Description:\nDelete an existing OAuth client.\n\n### Precondition:\nRole _Config Manager_ of the Provider Customer.\n\n### Effects:\nOAuth client removed.\n\n### Further Information:\nNone.","operationId":"deleteOAuthClient","parameters":[{"description":"OAuth client ID","in":"path","name":"client_id","required":true,"schema":{"type":"string"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request\n\n* [-80000] Mandatory fields cannot be empty.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-90080] Client could not be found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Delete OAuth client","tags":["system"]},"get":{"description":"### Functional Description: \nRetrieve the configuration of an OAuth client.\n\n### Precondition:\nRole _Config Manager_ of the Provider Customer.\n\n### Effects:\nNone.\n\n### Further Information:\nNone.","operationId":"getOAuthClient","parameters":[{"description":"OAuth client ID","in":"path","name":"client_id","required":true,"schema":{"type":"string"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/OAuthClient"}}}},"400":{"description":"Bad Request\n\n* [-80000] Mandatory fields cannot be empty.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-90080] Client could not be found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get OAuth client","tags":["system"]},"put":{"description":"### Functional Description: \nUpdate an existing OAuth client.\n\n### Precondition:\nRole _Config Manager_ of the Provider Customer.\n\n### Effects:\nOAuth client updated.\n\n### Further Information: \nClient secret must have: \n* at least 12 characters, at most 32 characters \n* only lower case characters, upper case characters and digits \n* at least 1 lower case character, 1 upper case character and 1 digit \n\nThe client secret is optional and will be generated if it is left empty. \n\nValid grant types are: \n* **authorization_code** \n* **implicit** \n* **password** \n* **client_credentials** \n* **refresh_token** \n\nGrant type `client_credentials` is actually not permitted! \n","operationId":"updateOAuthClient","parameters":[{"description":"OAuth client ID","in":"path","name":"client_id","required":true,"schema":{"type":"string"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/UpdateOAuthClientRequest"}}},"description":"body","required":true},"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/OAuthClient"}}}},"400":{"description":"Bad Request\n\n* [-10002] Password is not secure.\n* [-80000] Mandatory fields cannot be empty.\n* [-80007] Maximum allowed length is exceeded.\n* [-80032] Not a valid URI.\n* [-90083] Invalid grant type.\n* [-90085] Invalid token validity.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-90080] Client could not be found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Update OAuth client","tags":["system"]}},"/v4/system/config/storage/s3":{"get":{"operationId":"GetS3Config","parameters":[{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/S3Config"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-90026] S3 configuration not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get S3 Storage Configuration","tags":["system"]},"post":{"operationId":"PostS3Config","parameters":[{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/S3ConfigCreateRequest"}}},"description":"body","required":true},"responses":{"201":{"description":"Created","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/S3Config"}}}},"400":{"description":"Bad Request\n\n* [-80000] Mandatory fields cannot be empty.\n* [-80007] Maximum allowed length is exceeded.\n* [-90001] Cannot use both SSL and STARTTLS for mail.\n* [-90025] S3 configuration already exists.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Create S3 Storage Configuration","tags":["system"]},"put":{"operationId":"PutS3Config","parameters":[{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/S3ConfigUpdateRequest"}}},"description":"body","required":true},"responses":{"201":{"description":"Created","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/S3Config"}}}},"400":{"description":"Bad Request\n\n* [-80000] Mandatory fields cannot be empty.\n* [-80007] Maximum allowed length is exceeded.\n* [-90001] Cannot use both SSL and STARTTLS for mail.\n* [-90026] S3 configuration not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Update S3 Storage Configuration","tags":["system"]}},"/v4/uploads/{token}":{"delete":{"description":"### Functional Description:\nCancel file upload.\n\n### Precondition:\nValid upload token.\n\n### Effects:\nUpload canceled, token invalidated and all already transfered chunks removed.\n\n### Further Information:\nIt is recommended to notify the API about cancelled uploads if possible.","operationId":"cancelFileUploadByToken","parameters":[{"description":"Upload token","in":"path","name":"token","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request\n\n* [-80000] Mandatory fields cannot be empty.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-20502] Invalid upload token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-20501] Upload not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Cancel file upload","tags":["uploads"]},"post":{"description":"### Functional Description: \nUpload a chunk of a file.\n\n### Precondition:\nValid upload token.\n\n### Effects:\nChunk uploaded.\n\n### Further Information:\nUse this API if you cannot set custom headers during uploads. \nRange requests are supported (please cf. [RCF 7233](https://tools.ietf.org/html/rfc7233) for details).","operationId":"uploadFileByToken","parameters":[{"description":"Upload token","in":"path","name":"token","required":true,"schema":{"type":"string"}},{"description":"Content-Range\ne.g. \"bytes 0-999/3980\"\ncf. [RFC 7233](https://tools.ietf.org/html/rfc7233)","in":"header","name":"Content-Range","required":false,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/uploadFile"},"responses":{"201":{"description":"Created","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ChunkUploadResponse"}}}},"400":{"description":"Bad Request\n\n* [-80000] Mandatory fields cannot be empty.\n* [-80021] Incorrect upload 'Content-Range'.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-20502] Invalid upload token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"507":{"description":"Insufficient Storage\n\n* [-40200] Exceeds the free node quota in room.\n* [-90200] Exceeds the free customer quota.\n* [-90201] Exceeds the free customer physical disk space.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Upload file by token","tags":["uploads"]},"put":{"description":"### Functional Description:\nFinish uploading a file.\n\n### Precondition:\nValid upload token.\n\n### Effects:\nFile created.\n\n### Further Information:\nThe provided file name might be changed in accordance with the resolution strategy:\n\n* **autorename**: changes the file name and adds a number to avoid conflicts.\n* **overwrite**: deletes any old file with the same file name.\n* **fail**: returns an error; in this case, another `PUT` request with a different file name may be sent.\n\nPlease ensure that all chunks have been transferred correctly before finishing the upload.\n\n### 200 OK is not used by this API","operationId":"completeFileUploadByToken","parameters":[{"description":"Upload token","in":"path","name":"token","required":true,"schema":{"type":"string"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompleteUploadRequest"}}},"description":"The body must be empty if public upload token is used.\nThe 'resolutionStrategy' in that case will be always 'autorename'"},"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/Node"}}}},"201":{"description":"Created","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/Node"}}}},"202":{"description":"Accepted"},"400":{"description":"Bad Request\n\n* [-40763] File key must be set for upload into encrypted room.\n* [-80000] Mandatory fields cannot be empty.\n* [-80007] Maximum allowed length is exceeded.\n* [-80034] 'keepShareLinks' is only allowed with conflict mode 'overwrite'.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-20502] Invalid upload token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict\n\n* Specified file name already exists. Node of existing file is returned.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/Node"}}}},"508":{"description":"Loop Detected"}},"summary":"Complete file upload","tags":["uploads"]}},"/v4/user/account":{"get":{"description":"### Functional Description: \nRetrieves all information regarding the current user's account.\n\n### Precondition:\nValid auth token.\n\n### Effects:\nNone.\n\n### Further Information:\nSetting the query parameter `more_info` to `true`, causes the API to return more details e.g. the user's groups.","operationId":"getUserInfo","parameters":[{"description":"Get more info for this user\ne.g. list of user groups","in":"query","name":"more_info","required":false,"schema":{"type":"boolean"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/UserAccount"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get user account info","tags":["user"]},"put":{"description":"### Functional Description: \nUpdate current user's account.\n\n### Precondition:\nValid auth token.\n\n### Effects:\nUser updated.\n\n### Further Information:\nAll input fields are limited to **150** characters. \nAllowed characters: **All** \n\n### Authentication Method Options\n\n* **SQL** \n `none`\n\n* **Active Directory** \n (optional) \n key: `\"ad_config_id\"` \n value: \"Active Directory configuration ID\" \n \n key: `\"username\"` \n value: \"Active Directory user name according to auth setting `userFilter`\"\n\n* **RADIUS** \n key: `\"username\"` \n value: \"Radius user name\"\n\n* **OpenID Connect** \n key: `\"openid_config_id\"` \n value: \"OpenID Connect configuration ID\" \n \n key: `\"username\"` \n value: \"OpenID Connect user name according to auth setting `mappingClaim`\"","operationId":"updateUserAccount","parameters":[{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/UpdateUserAccountRequest"}}},"description":"body","required":true},"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/UserAccount"}}}},"400":{"description":"Bad Request\n\n* [-10100] Invalid authentication method.\n* [-10101] Not valid auth method key.\n* [-70103] Accepted EULA can not be undone.\n* [-70104] EULA is already accepted.\n* [-70105] Username change not allowed.\n* [-70506] Wrong gender.\n* [-80000] Mandatory fields cannot be empty.\n* [-80007] Maximum allowed length is exceeded.\n* [-80009] Not a valid email address.\n* [-90062] Cannot set Active Directory authentication for this customer.\n* [-90071] Cannot enable RADIUS. No Valid Configuration.\n* [-90095] Cannot set OpenID Connect authentication for this customer.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-90059] No valid Active Directory found.\n* [-90094] No valid OpenID Connect IDP configuration found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict\n\n* [-70560] User with provided basic authentication login already exists.\n* [-70561] User with provided Active Directory user name already exists.\n* [-70562] User with provided RADIUS login already exists.\n* [-70563] User with provided OpenID user name already exists.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Update user account","tags":["user"]}},"/v4/user/account/customer":{"get":{"description":"### Functional Description: \nLean API to get: \n* customer name\n* used / free space\n* used / avaliable\n* user account info\n\nof a customer.\n\n### Precondition:\nValid auth token.\n\n### Effects:\nNone.\n\n### Further Information:\nNone.","operationId":"getCustomerInfo","parameters":[{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/CustomerData"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get customer info","tags":["user"]},"put":{"description":"### Functional Description: \nActivate client-side encryption for whole customer.\n\n### Precondition:\nOnly available for _\"Config Managers\"_.\n\n### Effects:\nClient-side encryption is enabled.\n\n### Further Information:\nSets the ability for this customer to encrypt rooms. \nOnce enabled on customer level, it cannot be unset. \nOn activation, a emergency keypair must be set.","operationId":"enableCustomerEncryption","parameters":[{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/EnableCustomerEncryptionRequest"}}},"description":"body","required":true},"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/CustomerData"}}}},"400":{"description":"Bad Request\n\n* [-70022] Public key format is not valid.\n* [-70023] Private key format is not valid.\n* [-70024] Customer encryption can not be disabled.\n* [-70025] Customer encryption is already enabled.\n* [-80000] Mandatory fields cannot be empty.\n* [-80005] Not valid boolean value.\n* [-90020] TripleCrypt™ technology is not enabled.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Enable encryption for this customer","tags":["user"]}},"/v4/user/account/customer/keypair":{"get":{"description":"### Functional Description: \nRetrieve the customer's keypair (aka system emergency password).\n\n### Precondition:\nValid auth token.\n\n### Effects:\nNone.\n\n### Further Information:\nThe private key is password-based encrypted with `AES256` / `PBKDF2`. \nFurther details in crypto documentation.","operationId":"getCustomerKeyPair","parameters":[{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/UserKeyPairContainer"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-70020] User does not have a key pair.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get customer keypair","tags":["user"]}},"/v4/user/account/keypair":{"delete":{"description":"### Functional Description: \nDelete the user's keypair.\n\n### Precondition:\nValid auth token.\n\n### Effects:\nNone.\n\n### Further Information:\nThis will also remove all file keys that were encrypted with the user's public key. \nIf the user had exclusive access to some files, those are removed as well since decrypting them became impossible.","operationId":"deleteUserKeyPair","parameters":[{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-70020] User does not have a key pair.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Delete user keypair","tags":["user"]},"get":{"description":"### Functional Description: \nRetrieve the user's keypair.\n\n### Precondition:\nValid auth token.\n\n### Effects:\nNone.\n\n### Further Information:\nThe private key is password-based encrypted with `AES256` / `PBKDF2`. \nFurther details in crypto documentation.","operationId":"getUserKeyPair","parameters":[{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/UserKeyPairContainer"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-70020] User does not have a key pair.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get user keypair","tags":["user"]},"post":{"description":"### Functional Description: \nSet the user's keypair.\n\n### Precondition:\nValid auth token.\n\n### Effects:\nThe keypair is set.\n\n### Further Information:\nOverwriting an existing keypair is not possible. \nPlease delete the existing keypair first. \nThe private key is password-based encrypted with `AES256` / `PBKDF2`. \nFurther details in crypto documentation.","operationId":"setUserKeyPair","parameters":[{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/UserKeyPairContainer"}}},"description":"body","required":true},"responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request\n\n* [-70022] Public key format is not valid.\n* [-70023] Private key format is not valid.\n* [-80000] Mandatory fields cannot be empty.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict\n\n* [-70021] User does already have a keypair.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Set user keypair","tags":["user"]}},"/v4/user/account/password":{"put":{"description":"### Functional Description:\nChange the user's password.\n\n### Precondition:\nValid auth token.\n\n### Effects:\nPassword is changed.\n\n### Further Information:\nPassword security configuration applies.","operationId":"changeUserPassword","parameters":[{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ChangeUserPasswordRequest"}}},"description":"body","required":true},"responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request\n\n* [-80000] Mandatory fields cannot be empty.\n* [-10105] Password cannot be reset for this user.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Change user password","tags":["user"]}},"/v4/user/logout":{"post":{"description":"### Functional Description: \nLogout a user.\n\n### Precondition:\nValid authentication token.\n\n### Effects:\nUser is logged out, authentication token invalidated.\n\n### Further Information:\nNone.","operationId":"userLogout","parameters":[{"description":"Invalidate all tokens","in":"query","name":"everywhere","required":false,"schema":{"type":"boolean"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* Token not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Invalidate authentication token","tags":["user"]}},"/v4/user/oauth/authorizations":{"get":{"description":"### Functional Description: \nRetrieve info about all OAuth client authorizations.\n\n### Precondition:\nValid auth token.\n\n### Effects:\nNone.\n\n### Further Information:\nNone.","operationId":"getOAuthAuthorizations","parameters":[{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"items":{"$ref":"#/components/schemas/OAuthAuthorization"},"type":"array"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get OAuth client authorizations","tags":["user"]}},"/v4/user/oauth/authorizations/{client_id}":{"delete":{"description":"### Functional Description:\nDelete authorizations of an OAuth client.\n\n### Precondition:\nValid auth token; valid client ID.\n\n### Effects:\nAuthorizations for OAuth client are revoked.\n\n### Further Information:\nNone.","operationId":"deleteOAuthAuthorization","parameters":[{"description":"OAuth client ID","in":"path","name":"client_id","required":true,"schema":{"type":"string"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-90082] Authorization for provided client ID could not be found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Delete OAuth authorization","tags":["user"]}},"/v4/user/ping":{"get":{"description":"### Functional Description:\nTest connection to DRACOON Server (while authenticated).\n\n### Precondition:\nNone.\n\n### Effects:\n`200 OK` with principal information is returned if successful.\n\n### Further Information:\nNone.","operationId":"userPing","parameters":[{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"string"}}}},"406":{"description":"Not Acceptable\n","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Ping","tags":["user"]}},"/v4/users":{"get":{"description":"### Functional Description: \nGet users entry point. \nReturns a list of DRACOON users.\n\n### Precondition:\nRight _\"read users\"_ required.\n\n### Effects:\nNone.\n\n### Further Information: \nAuthentication with `X-Sds-Auth-Token` required.\n\n### Filter\n\nFilter string syntax: `FIELD_NAME:OPERATOR:VALUE` \nMultiple fields are supported.\n\n### Filter fields:\n\n* **login** \n Login name \n OPERATOR: `cn` (User login name contains value) \n VALUE: `Search string`\n\n* **firstName** \n First name \n OPERATOR: `cn` (User first name contains value) \n VALUE: `Search string`\n\n* **lastName** \n Last name \n OPERATOR: `cn` (User last name contains value) \n VALUE: `Search string`\n\n* **lockStatus** \n Lock status:\n * 0 - Locked\n * 1 - Web access allowed\n * 2 - Web and mobile access allowed \n \n OPERATOR: `eq` (User lock status) \n VALUE: `[0|1|2]`.\n\n* **effectiveRoles** \n Filter users with _DIRECT_ or _DIRECT_ **AND** _EFFECTIVE_ roles \n * `false`: _DIRECT_ roles \n * `true`: _DIRECT_ **AND** _EFFECTIVE_ roles \n\n > _DIRECT_ means: e.g. user gets role **directly** granted from someone with _grant permission_ right. \n _EFFECTIVE_ means: e.g. user gets role through **group membership**. \n\n OPERATOR: `eq` (multiple values not allowed) \n VALUE: `[true|false]` (default: `false`)\n\n### Logical grouping:\nFiltering according first three fields (`login`, `lastName`, `firstName`) is intrinsically processed by the API as logical _OR_. \nIn opposite, filtering according to last three field (lockStatus) is processed intrinsically as logical _AND_.\n\n### Example:\n* `login:cn:searchString_1|firstName:cn:searchString_2|lockStatus:eq:2` \nFilter by `login` contains `searchString_1` OR `firstName` contains `searchString_2` AND user are not locked.\n\n### Sort\n\nSort string syntax: `FIELD_NAME:ORDER` \nOrder can be `asc` or `desc`. \nMultiple fields are supported.\n\n### Sort fields:\n\n* **login**: Login name\n* **firstName**: First name\n* **lastName**: Last name\n* **gender**: Gender\n* **lockStatus**: User lock status\n* **lastLoginSuccessAt**: Last successful logon date\n* **expireAt**: Expiration date\n\n### Example:\n* `firstName:asc|lastLoginSuccessAt:desc` \nSort by `firstName` ascending AND by `lastLoginSuccessAt` descending","operationId":"getUsers","parameters":[{"description":"Range offset","in":"query","name":"offset","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Range limit","in":"query","name":"limit","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Filter string","in":"query","name":"filter","required":false,"schema":{"type":"string"}},{"description":"Sort string","in":"query","name":"sort","required":false,"schema":{"type":"string"}},{"description":"Include custom user attributes.","in":"query","name":"include_attributes","required":false,"schema":{"type":"boolean"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/UserList"}}}},"400":{"description":"Bad Request\n\n* [-80024] Invalid range parameters.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get users","tags":["users"]},"post":{"description":"### Functional Description:\nCreate a new user.\n\n### Precondition:\nRight _\"change users\"_ required.\n\n### Effects:\nA new user is created.\n\n### Further Information:\n\n* If a user should not expire, leave `expireAt` empty.\n* All input fields are limited to **150** characters\n* Allowed characters: **All**\n\n### Authentication Method Options\n\n* **SQL** \n `none`\n\n* **Active Directory** \n (optional) \n key: `\"ad_config_id\"` \n value: \"Active Directory configuration ID\" \n \n key: `\"username\"` \n value: \"Active Directory user name according to auth setting `userFilter`\"\n\n* **RADIUS** \n key: `\"username\"` \n value: \"Radius user name\"\n\n* **OpenID Connect** \n key: `\"openid_config_id\"` \n value: \"OpenID Connect configuration ID\" \n \n key: `\"username\"` \n value: \"OpenID Connect user name according to auth setting `mappingClaim`\"","operationId":"createUser","parameters":[{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/CreateUserRequest"}}},"description":"body","required":true},"responses":{"201":{"description":"Created","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/UserData"}}}},"400":{"description":"Bad Request\n\n* [-10100] Invalid authentication method.\n* [-10101] Not valid auth method key.\n* [-10102] At least one authentication method must be enabled.\n* [-70506] Wrong gender.\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80005] Not valid boolean value.\n* [-80006] Expiration date is in the past.\n* [-80007] Maximum allowed length is exceeded.\n* [-80008] The year is too far in the future. Max year is limited to 9999.\n* [-80009] Not a valid email address.\n* [-90002] No distinct authentication configuration.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n\n* [-70505] Maximum number of users reached.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-90035] OpenID Connect IDP not found.\n* [-90039] No valid OpenID Connect IDP found.\n* [-90050] Active Directory configuration not found.\n* [-90059] No valid Active Directory found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict\n\n* [-70560] User with provided basic authentication login already exists.\n* [-70561] User with provided Active Directory user name already exists.\n* [-70562] User with provided RADIUS login already exists.\n* [-70563] User with provided OpenID user name already exists.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Create user","tags":["users"]}},"/v4/users/{user_id}":{"delete":{"description":"### Functional Description:\nDelete a user.\n\n### Precondition:\nRight _\"delete users\"_ required.\n\n### Effects:\nUser is deleted.\n\n### Further Information:\nUser cannot be deleted if he is the last room administrator.","operationId":"deleteUser","parameters":[{"description":"User ID","in":"path","name":"user_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request\n\n* [-40006] At least one admin user/group required.\n* [-71006] At least one role user/group required.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-70501] User not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Delete user","tags":["users"]},"get":{"description":"### Functional Description: \nRetrieve detailed information about single user.\n\n### Precondition:\nRight _\"read users\"_ required.\n\n### Effects:\nNone.\n\n### Further Information:\nNone.\n\n### Authentication Method Options\n\n* **SQL** \n `none`\n\n* **Active Directory** \n (optional) \n key: `\"ad_config_id\"` \n value: \"Active Directory configuration ID\" \n \n key: `\"username\"` \n value: \"Active Directory user name according to auth setting `userFilter`\"\n\n* **RADIUS** \n key: `\"username\"` \n value: \"Radius user name\"\n\n* **OpenID Connect** \n key: `\"openid_config_id\"` \n value: \"OpenID Connect configuration ID\" \n \n key: `\"username\"` \n value: \"OpenID Connect user name according to auth setting `mappingClaim`\"","operationId":"getUser","parameters":[{"description":"User ID","in":"path","name":"user_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Effective roles","in":"query","name":"effective_roles","required":false,"schema":{"type":"boolean"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/UserData"}}}},"400":{"description":"Bad Request\n\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-70501] User not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get user","tags":["users"]},"put":{"description":"### Functional Description: \nUpdate the meta data of a user\n\n### Precondition:\nRight _\"change users\"_ required.\n\n### Effects:\nMeta data of a user is updated.\n\n### Further Information:\n\n* If a user should not expire, leave `expireAt` empty.\n* All input fields are limited to **150** characters\n* Allowed characters: **All**\n\n### Authentication Method Options\n\n* **SQL** \n `none`\n\n* **Active Directory** \n (optional) \n key: `\"ad_config_id\"` \n value: \"Active Directory configuration ID\" \n \n key: `\"username\"` \n value: \"Active Directory user name according to auth setting `userFilter`\"\n\n* **RADIUS** \n key: `\"username\"` \n value: \"Radius user name\"\n\n* **OpenID Connect** \n key: `\"openid_config_id\"` \n value: \"OpenID Connect configuration ID\" \n \n key: `\"username\"` \n value: \"OpenID Connect user name according to auth setting `mappingClaim`\"","operationId":"updateUser","parameters":[{"description":"User ID","in":"path","name":"user_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/UpdateUserRequest"}}},"description":"body","required":true},"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/UserData"}}}},"400":{"description":"Bad Request\n\n* [-10100] Invalid authentication method.\n* [-10101] Not valid auth method key.\n* [-10102] At least one authentication method must be enabled.\n* [-70506] Wrong gender.\n* [-70509] Illegal user lock status code.\n* [-71006] At least one role user/group required.\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.\n* [-80005] Not valid boolean value.\n* [-80006] Expiration date is in the past.\n* [-80007] Maximum allowed length is exceeded.\n* [-80008] The year is too far in the future. Max year is limited to 9999.\n* [-90002] No distinct authentication configuration.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-90035] OpenID Connect IDP not found.\n* [-90039] No valid OpenID Connect IDP found.\n* [-90050] Active Directory configuration not found.\n* [-90059] No valid Active Directory found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict\n\n* [-70560] User with provided basic authentication login already exists.\n* [-70561] User with provided Active Directory user name already exists.\n* [-70562] User with provided RADIUS login already exists.\n* [-70563] User with provided OpenID user name already exists.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Update user","tags":["users"]}},"/v4/users/{user_id}/groups":{"get":{"description":"### Functional Description: \nRetrieves a List of groups a user is member of and / or can become a member.\n\n### Precondition:\nRight _\"read users\"_ required.\n\n### Effects:\nNone.\n\n### Further Information:\nNone.\n\n### Filter\n\n### Filter fields:\n\n* **name** \n Group name \n OPERATOR: `cn` (multiple values not allowed) \n VALUE: `search string`\n\n* **isMember** \n Filter the groups which the user is or is not member of \n OPERATOR: `eq` (multiple values not allowed) \n VALUE: `[true|false|any]` (default: `true`)\n\n### Example:\n* `is_member:eq:false|name:cn:searchString` \nGet all groups that the user is not member of AND whose `name` is like `searchString`.","operationId":"getUserGroups","parameters":[{"description":"User ID","in":"path","name":"user_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Range offset","in":"query","name":"offset","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Range limit","in":"query","name":"limit","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Filter string","in":"query","name":"filter","required":false,"schema":{"type":"string"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/UserGroupList"}}}},"400":{"description":"Bad Request\n\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.\n* [-80024] Invalid range parameters.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-70501] User not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get groups that user is a member of or/and can become a member","tags":["users"]}},"/v4/users/{user_id}/roles":{"get":{"description":"### Functional Description: \nRetrieve a list of all roles and the role assignment rights of a user.\n\n### Precondition:\nRight _\"read users\"_ required.\n\n### Effects:\nNone.\n\n### Further Information:\nNone.","operationId":"getUserRoles","parameters":[{"description":"User ID","in":"path","name":"user_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/RoleList"}}}},"400":{"description":"Bad Request\n\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-70501] User not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get user roles","tags":["users"]}},"/v4/users/{user_id}/rooms":{"get":{"description":"### Functional Description: \nRetrieves a list of rooms granted to the user and / or that can be granted.\n\n### Precondition:\nRight _\"read users\"_ required.\n\n### Effects:\nNone.\n\n### Further Information:\nNone.\n\n### Filter\n\n### Filter fields:\n\n* **name** \n Room name \n OPERATOR: `cn` (multiple values not allowed) \n VALUE: `search string`\n\n* **isGranted** \n Filter the rooms which the user is or is not granted \n OPERATOR: `eq` (multiple values not allowed) \n VALUE: `[true|false|any]` (default: `true`)\n\n* **isLastAdmin** \n Filter the rooms which the user is last room administrator. \n Only with connect `isGranted:eq:true` possible. \n OPERATOR: `eq` (multiple values not allowed) \n VALUE: `[true]`.\n\n* **effectivePerm** \n Filter rooms with _DIRECT_ or _DIRECT_ **AND** _EFFECTIVE_ permissions \n * `false`: _DIRECT_ permissions \n * `true`: _DIRECT_ **AND** _EFFECTIVE_ permissions \n * `any`: _DIRECT_ **AND** _EFFECTIVE_ **AND** _OVER GROUP_ permissions \n \n > _DIRECT_ means: e.g. room administrator grants read permissions to user **directly** on desired room. \n _EFFECTIVE_ means: e.g. user gets read permissions on desired room through **inheritance**. \n _OVER GROUP_ means: e.g. user gets read permissions on desired room through **group membership**. \n\n OPERATOR: `eq` (multiple values not allowed) \n VALUE: `[true|false|any]` (default: `false`)\n\n### Examples:\n* `isGranted:eq:false|name:cn:searchString` \nGet all rooms that the user is not granted AND whose `name` is like `searchString`.\n\n* `isGranted:eq:true|isLastAdmin:eq:true|name:cn:searchString` \nGet all rooms that the user is granted AND is last admin AND whose `name` is like `searchString`.","operationId":"getUsersRooms","parameters":[{"description":"User ID","in":"path","name":"user_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Range offset","in":"query","name":"offset","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Range limit","in":"query","name":"limit","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Filter string","in":"query","name":"filter","required":false,"schema":{"type":"string"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/RoomTreeDataList"}}}},"400":{"description":"Bad Request\n\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.\n* [-80024] Invalid range parameters.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-70501] User not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"412":{"description":"Precondition Failed\n\n* [-10103] EULA must be accepted.\n* [-10104] Password must be changed.\n* [-10106] Username must be changed.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Get rooms granted to the user or/and rooms that can be granted","tags":["users"]}},"/v4/users/{user_id}/userAttributes":{"post":{"description":"### Functional Description: \nSet custom user attributes.\n\n### Precondition:\nRight _\"change users\"_ required.\n\n### Effects:\nCustom user attributes gets set.\n\n### Further Information:\nBatch function. \nAll existing user attributes will be deleted. \nAllowed characters for keys are: `[a-zA-Z0-9_-]` \nCharacters are case-insensitive.","operationId":"setAllUserAttributes","parameters":[{"description":"User ID","in":"path","name":"user_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/UserAttributes"},"responses":{"201":{"description":"Created","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/UserData"}}}},"400":{"description":"Bad Request\n\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.\n* [-80007] Maximum allowed length is exceeded.\n* [-80015] Not valid key value list because there are duplicate keys present.\n* [-80023] Input contains invalid characters.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-70501] User not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Set custom user attributes","tags":["users"]},"put":{"description":"### Functional Description: \nSet custom user attributes.\n\n### Precondition:\nRight _\"change users\"_ required.\n\n### Effects:\nCustom user attributes get added or edited.\n\n### Further Information:\nBatch function. \nIf an entry exists before, it will be overwritten. \nAllowed characters for keys are: `[a-zA-Z0-9_-]` \nCharacters are case-insensitive.","operationId":"setUserAttributes","parameters":[{"description":"User ID","in":"path","name":"user_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}},{"description":"Date time format (cf. [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)):\n* LOCAL\n* UTC\n* OFFSET\n* EPOCH","in":"header","name":"X-Sds-Date-Format","required":false,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/UserAttributes"},"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/UserData"}}}},"400":{"description":"Bad Request\n\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.\n* [-80007] Maximum allowed length is exceeded.\n* [-80015] Not valid key value list because there are duplicate keys present.\n* [-80023] Input contains invalid characters.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-70501] User not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Add or edit custom user attributes","tags":["users"]}},"/v4/users/{user_id}/userAttributes/{key}":{"delete":{"description":"### Functional Description:\nDelete custom user attribute.\n\n### Precondition:\nRight _\"change users\"_ required.\n\n### Effects:\nCustom user attribute gets deleted.\n\n### Further Information:\nAllowed characters for keys are: `[a-zA-Z0-9_-]` \nCharacters are case-insensitive.","operationId":"deleteUserAttributes","parameters":[{"description":"User ID","in":"path","name":"user_id","required":true,"schema":{"type":"integer","format":"int64"}},{"description":"Key","in":"path","name":"key","required":true,"schema":{"type":"string"}},{"description":"Authentication token","in":"header","name":"X-Sds-Auth-Token","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"204":{"description":"No Content"},"400":{"description":"Bad Request\n\n* [-80000] Mandatory fields cannot be empty.\n* [-80001] Not valid positive number.\n* [-80002] Not valid number.\n* [-80023] Input contains invalid characters.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized\n\n* [-10012] Wrong token.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found\n\n* [-70501] User not found.\n* [-70550] Attribute not found.","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"406":{"description":"Not Acceptable\n","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"summary":"Delete custom user attribute","tags":["users"]}}},"servers":[{"url":"https://dracoon.team/api"}],"components":{"requestBodies":{"ZipDownloadRequest":{"content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ZipDownloadRequest"}}},"description":"body","required":true},"uploadFile":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"description":"File","type":"string","format":"binary"}}}}}},"CustomerAttributes":{"content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/CustomerAttributes"}}},"description":"body","required":true},"UserIds":{"content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/UserIds"}}},"description":"User IDs","required":true},"ConfigOptionList":{"content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ConfigOptionList"}}},"description":"body","required":true},"ChangeGroupMembersRequest":{"content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ChangeGroupMembersRequest"}}},"description":"body","required":true},"GroupIds":{"content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/GroupIds"}}},"description":"Group IDs","required":true},"UserAttributes":{"content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/UserAttributes"}}},"description":"body","required":true}},"schemas":{"ActiveDirectory":{"properties":{"alias":{"description":"Unique name for an Active Directory configuration","type":"string"},"id":{"description":"ID","format":"int32","type":"integer"},"isGlobalAvailable":{"description":"Is available for all customers","example":false,"type":"boolean"}},"required":["alias","id","isGlobalAvailable"],"type":"object"},"ActiveDirectoryAuthInfo":{"properties":{"items":{"description":"List of available Active Directories","items":{"$ref":"#/components/schemas/ActiveDirectory"},"type":"array"}},"required":["items"],"type":"object"},"ActiveDirectoryConfig":{"properties":{"adExportGroup":{"description":"If 'ad_userimport' is set to true,\nthe user must be member of this Active Directory group to receive a newly created DRACOON account.","type":"string"},"alias":{"description":"Unique name for an Active Directory configuration","type":"string"},"createHomeFolder":{"description":"Determines whether a room is created for each user that is created by automatic import (like a home folder).\nRoom's name will equal the user's login name.","example":false,"type":"boolean"},"homeFolderParent":{"description":"ID of the room in which the individual rooms for users will be created.\ncf. 'ad_create_home_folder_on'","format":"int64","type":"integer"},"id":{"description":"ID","format":"int32","type":"integer"},"ldapUsersDomain":{"description":"Search scope of Active Directory; only users below this node can log on.","type":"string"},"sdsImportGroup":{"description":"User group that is assigned to users who are created by automatic import.","format":"int64","type":"integer"},"serverAdminName":{"description":"Distinguished Name (DN) of Active Directory administrative account","type":"string"},"serverIp":{"description":"IPv4 or IPv6 address or host name","type":"string"},"serverPort":{"description":"Port","format":"int32","type":"integer"},"sslFingerPrint":{"description":"SSL finger print of Active Directory server.\nMandatory for LDAPS connections.\nFormat: Algorithm/Fingerprint","type":"string"},"useLdaps":{"description":"Determines whether LDAPS should be used instead of plain LDAP.","example":false,"type":"boolean"},"userFilter":{"description":"Name of Active Directory attribute that is used as login name.","type":"string"},"userImport":{"description":"Determines if an DRACOON account is automatically created for a new user\nwho successfully logs on with his/her AD account.","example":false,"type":"boolean"}},"required":["adExportGroup","alias","createHomeFolder","id","ldapUsersDomain","serverAdminName","serverIp","serverPort","useLdaps","userFilter","userImport"],"type":"object"},"ActiveDirectoryConfigList":{"properties":{"items":{"description":"List of Active Directory configurations","items":{"$ref":"#/components/schemas/ActiveDirectoryConfig"},"type":"array"}},"required":["items"],"type":"object"},"AuditNodeResponse":{"properties":{"auditUserPermissionList":{"description":"List of assigned users with permissions","items":{"$ref":"#/components/schemas/AuditUserPermission"},"type":"array"},"nodeCntChildren":{"description":"Number of direct children\n(no recursion; for rooms/folders only)","format":"int32","type":"integer"},"nodeCreatedAt":{"description":"Creation date\ne.g. 2015-12-31T23:59:00","format":"date-time","type":"string"},"nodeCreatedBy":{"$ref":"#/components/schemas/UserInfo"},"nodeHasActivitiesLog":{"description":"Is activities log active (for rooms only)\n(default: true)","example":false,"type":"boolean"},"nodeHasRecycleBin":{"description":"Is Recycle Bin active (for rooms only)","example":false,"type":"boolean"},"nodeId":{"description":"Node ID","format":"int64","type":"integer"},"nodeIsEncrypted":{"description":"Encryption state","example":false,"type":"boolean"},"nodeName":{"description":"Node name","type":"string"},"nodeParentId":{"description":"Parent node ID (room or folder)","format":"int64","type":"integer"},"nodeParentPath":{"description":"Parent node path\n'/' if node is a root node (room)","type":"string"},"nodeQuota":{"description":"Quota in byte","format":"int64","type":"integer"},"nodeRecycleBinRetentionPeriod":{"description":"Retention period for deleted nodes in days\n(Integer between 0 and 9999)","format":"int32","type":"integer"},"nodeSize":{"description":"Node size in byte","format":"int64","type":"integer"},"nodeUpdatedAt":{"description":"Modification date\ne.g. 2015-12-31T23:59:00","format":"date-time","type":"string"},"nodeUpdatedBy":{"$ref":"#/components/schemas/UserInfo"}},"required":["auditUserPermissionList","nodeCntChildren","nodeId","nodeName","nodeParentPath"],"type":"object"},"AuditUserPermission":{"properties":{"permissions":{"$ref":"#/components/schemas/NodePermissions"},"userFirstName":{"description":"User first name","type":"string"},"userId":{"description":"Unique identifier for the user","format":"int64","type":"integer"},"userLastName":{"description":"User last name","type":"string"},"userLogin":{"description":"User login name","type":"string"}},"required":["permissions","userFirstName","userId","userLastName","userLogin"],"type":"object"},"AuthInitResources":{"properties":{"authTypes":{"description":"Supported authentication types","items":{"$ref":"#/components/schemas/KeyValueEntry"},"type":"array"},"languages":{"description":"Supported languages","items":{"$ref":"#/components/schemas/Language"},"type":"array"}},"required":["authTypes","languages"],"type":"object"},"AuthMethod":{"properties":{"isEnabled":{"description":"Is enabled","example":false,"type":"boolean"},"name":{"description":"Name","type":"string"},"priority":{"description":"Priority","format":"int32","type":"integer"}},"required":["isEnabled","name","priority"],"type":"object"},"BrandingServerInfo":{"properties":{"brandingServerBrandingId":{"description":"UUID of Branding","type":"string"},"brandingServerCustomer":{"description":"Branding server customer UUID","type":"string"},"brandingServerUrl":{"description":"Branding server URL","type":"string"}},"required":["brandingServerBrandingId","brandingServerCustomer"],"type":"object"},"ChangeGroupMembersRequest":{"properties":{"ids":{"description":"List of group IDs","items":{"format":"int64","type":"integer"},"type":"array"}},"required":["ids"],"type":"object"},"ChangeUserPasswordRequest":{"properties":{"newPassword":{"description":"New password","type":"string"},"oldPassword":{"description":"Old password","type":"string"}},"required":["newPassword","oldPassword"],"type":"object"},"ChunkUploadResponse":{"properties":{"hash":{"description":"Hash value of transferred chunk","type":"string"},"size":{"description":"Chunk size","format":"int64","type":"integer"}},"required":["hash","size"],"type":"object"},"CompleteUploadRequest":{"properties":{"fileKey":{"$ref":"#/components/schemas/FileKey"},"fileName":{"description":"New file name to store with","type":"string"},"keepShareLinks":{"description":"Preserve Download Share Links and point them to the new node.\n(default: false)","example":false,"type":"boolean"},"resolutionStrategy":{"description":"Node conflict resolution strategy:\n* autorename\n* overwrite\n* fail\n\n(default: autorename)","enum":["autorename","overwrite","fail"],"type":"string"},"userFileKeyList":{"$ref":"#/components/schemas/UserFileKeyList"}},"type":"object"},"ConfigOptionList":{"properties":{"items":{"description":"List of key-value pairs","items":{"$ref":"#/components/schemas/KeyValueEntry"},"type":"array"}},"required":["items"],"type":"object"},"ConfigRoomRequest":{"properties":{"adminGroupIds":{"description":"List of group ids\nA room requires at least one admin (user or group)","items":{"format":"int64","type":"integer"},"type":"array"},"adminIds":{"description":"List of user ids\nA room requires at least one admin (user or group)","items":{"format":"int64","type":"integer"},"type":"array"},"hasActivitiesLog":{"description":"Is activities log active (for rooms only)\n(default: true)","example":false,"type":"boolean"},"hasRecycleBin":{"description":"Is Recycle Bin active (for rooms only)","example":false,"type":"boolean"},"inheritPermissions":{"description":"Inherit permissions from parent room","example":false,"type":"boolean"},"newGroupMemberAcceptance":{"description":"Behaviour when new users are added to the group:\n* autoallow\n* pending\n\nOnly relevant if 'adminGroupIds' has items.\n(default: autoallow)","type":"string"},"recycleBinRetentionPeriod":{"description":"Retention period for deleted nodes in days\n(Integer between 0 and 9999)","format":"int32","type":"integer"},"takeOverPermissions":{"description":"Take over existing permissions","example":false,"type":"boolean"}},"type":"object"},"ConflictNode":{"properties":{"errorCode":{"description":"Error code","format":"int32","type":"integer"},"errorMessage":{"description":"Error message","type":"string"},"name":{"description":"Name","type":"string"},"nodeId":{"description":"Node ID","format":"int64","type":"integer"}},"type":"object"},"CopyNode":{"properties":{"id":{"description":"Source node ID","format":"int64","type":"integer"},"name":{"description":"New node name","type":"string"}},"required":["id"],"type":"object"},"CopyNodesRequest":{"properties":{"items":{"description":"List of nodes to be copied","items":{"$ref":"#/components/schemas/CopyNode"},"type":"array"},"keepShareLinks":{"description":"Preserve Download Share Links and point them to the new node.\n(default: false)","example":false,"type":"boolean"},"nodeIds":{"description":"DEPRECATED: Node IDs; use 'items' attribute","items":{"format":"int64","type":"integer"},"type":"array"},"resolutionStrategy":{"description":"Node conflict resolution strategy:\n* autorename\n* overwrite\n* fail\n\n(default: autorename)","enum":["autorename","overwrite","fail"],"type":"string"}},"type":"object"},"CreateActiveDirectoryConfigRequest":{"properties":{"adExportGroup":{"description":"If 'ad_userimport' is set to true,\nthe user must be member of this Active Directory group to receive a newly created DRACOON account.","type":"string"},"alias":{"description":"Unique name for an Active Directory configuration","type":"string"},"createHomeFolder":{"description":"Determines whether a room is created for each user that is created by automatic import (like a home folder).\nRoom's name will equal the user's login name.","example":false,"type":"boolean"},"homeFolderParent":{"description":"ID of the room in which the individual rooms for users will be created.\ncf. 'ad_create_home_folder_on'","format":"int64","type":"integer"},"ldapUsersDomain":{"description":"Search scope of Active Directory; only users below this node can log on.","type":"string"},"sdsImportGroup":{"description":"User group that is assigned to users who are created by automatic import.","format":"int64","type":"integer"},"serverAdminName":{"description":"Distinguished Name (DN) of Active Directory administrative account","type":"string"},"serverAdminPassword":{"description":"Password of Active Directory administrative account","type":"string"},"serverIp":{"description":"IPv4 or IPv6 address or host name","type":"string"},"serverPort":{"description":"Port","format":"int32","type":"integer"},"sslFingerPrint":{"description":"SSL finger print of Active Directory server.\nMandatory for LDAPS connections.\nFormat: Algorithm/Fingerprint","type":"string"},"useLdaps":{"description":"Determines whether LDAPS should be used instead of plain LDAP.","example":false,"type":"boolean"},"userFilter":{"description":"Name of Active Directory attribute that is used as login name.","type":"string"},"userImport":{"description":"Determines if an DRACOON account is automatically created for a new user\nwho successfully logs on with his/her AD account.","example":false,"type":"boolean"}},"required":["alias","ldapUsersDomain","serverAdminName","serverAdminPassword","serverIp","serverPort","useLdaps","userFilter","userImport"],"type":"object"},"CreateDownloadShareRequest":{"properties":{"expiration":{"$ref":"#/components/schemas/ObjectExpiration"},"fileId":{"description":"Source file ID","format":"int64","type":"integer"},"fileKey":{"$ref":"#/components/schemas/FileKey"},"keyPair":{"$ref":"#/components/schemas/UserKeyPairContainer"},"mailBody":{"description":"Notification email content","type":"string"},"mailRecipients":{"description":"CSV string of recipient emails","type":"string"},"mailSubject":{"description":"Notification email subject","type":"string"},"maxDownloads":{"description":"Max allowed downloads","format":"int32","type":"integer"},"name":{"description":"Alias name","type":"string"},"nodeId":{"description":"Source node ID","format":"int64","type":"integer"},"notes":{"description":"User notes\nUse empty string to remove.","type":"string"},"notifyCreator":{"description":"Notify creator on every download.","example":false,"type":"boolean"},"password":{"description":"Access password, not allowed for encrypted shares","type":"string"},"sendMail":{"description":"Notify recipients","example":false,"type":"boolean"},"sendSms":{"description":"Send share password via SMS","example":false,"type":"boolean"},"showCreatorName":{"description":"Show creator first and last name","example":false,"type":"boolean"},"showCreatorUsername":{"description":"Show creator email address","example":false,"type":"boolean"},"smsRecipients":{"description":"CSV string of recipient MSISDNS","type":"string"}},"required":["fileId","nodeId"],"type":"object"},"CreateFileUploadRequest":{"properties":{"classification":{"description":"Classification ID (for files only):\n* 1 - public\n* 2 - for internal use only\n* 3 - confidential\n* 4 - strictly confidential","format":"int32","type":"integer"},"expiration":{"$ref":"#/components/schemas/ObjectExpiration"},"name":{"description":"File name","type":"string"},"notes":{"description":"User notes\nUse empty string to remove.","type":"string"},"parentId":{"description":"Parent node ID (room or folder)","format":"int64","type":"integer"},"size":{"description":"File size in byte","format":"int64","type":"integer"}},"required":["classification","name","parentId"],"type":"object"},"CreateFileUploadResponse":{"properties":{"token":{"description":"DEPRECATED: Upload token","type":"string"},"uploadId":{"description":"Upload (channel) ID","type":"string"},"uploadUrl":{"description":"(public) Upload URL","type":"string"}},"required":["token","uploadId"],"type":"object"},"CreateFolderRequest":{"properties":{"name":{"description":"Name","type":"string"},"notes":{"description":"User notes\nUse empty string to remove.","type":"string"},"parentId":{"description":"Parent node ID (room or folder)","format":"int64","type":"integer"}},"required":["name","parentId"],"type":"object"},"CreateGroupRequest":{"properties":{"expiration":{"$ref":"#/components/schemas/ObjectExpiration"},"name":{"description":"Group name","type":"string"}},"required":["name"],"type":"object"},"CreateOAuthClientRequest":{"properties":{"accessTokenValidity":{"description":"Validity of the access token in seconds.","format":"int32","type":"integer"},"clientId":{"description":"ID of the OAuth client","type":"string"},"clientSecret":{"description":"Secret, which uses the client for authentication.","type":"string"},"grantTypes":{"description":"Authorized grant types\ncf. [RFC 6749](https://tools.ietf.org/html/rfc6749)","items":{"type":"string"},"type":"array"},"redirectUris":{"description":"URIs, to which a user is redirected after authorization.","items":{"type":"string"},"type":"array"},"redirectUrl":{"description":"DEPRECATED: URL, to which a user is redirected after authorization.","type":"string"},"refreshTokenValidity":{"description":"Validity of the refresh token in seconds.","format":"int32","type":"integer"}},"required":["clientId","grantTypes"],"type":"object"},"CreateOpenIdIdpConfigRequest":{"properties":{"authorizationEndPointUrl":{"description":"URL of the authorization endpoint","type":"string"},"clientId":{"description":"ID of the OAuth client","type":"string"},"clientSecret":{"description":"Secret, which uses the client for authentication.","type":"string"},"fallbackMappingClaim":{"description":"Name of the claim which is used for the user mapping fallback.\ne.g. 'sub'","type":"string"},"issuer":{"description":"Issuer identifier of the IDP\nThe value is a case sensitive URL.","type":"string"},"jwksEndPointUrl":{"description":"URL of the JWKS endpoint","type":"string"},"mappingClaim":{"description":"Name of the claim which is used for the user mapping.\ne.g. 'email'","type":"string"},"name":{"description":"Name of the IDP","type":"string"},"pkceChallengeMethod":{"description":"PKCE code challenge method.\ncf. [RFC 7636](https://tools.ietf.org/html/rfc7636)","type":"string"},"pkceEnabled":{"description":"Determines whether PKCE is enabled.\ncf. [RFC 7636](https://tools.ietf.org/html/rfc7636)","example":false,"type":"boolean"},"redirectUris":{"description":"URIs, to which a user is redirected after authorization.","items":{"type":"string"},"type":"array"},"scopes":{"description":"List of requested scopes\nUsually 'openid' and the names of the requested claims.","items":{"type":"string"},"type":"array"},"tokenEndPointUrl":{"description":"URL of the token endpoint","type":"string"},"userInfoEndPointUrl":{"description":"URL of the user info endpoint","type":"string"},"userUpdateEnabled":{"description":"Determines if the user metadata is updated with data from the IDP.\nThe scope 'profile' is needed for the update.\nIf this scope is not granted, only the email address is updated.","example":false,"type":"boolean"}},"required":["authorizationEndPointUrl","clientId","clientSecret","issuer","jwksEndPointUrl","mappingClaim","name","redirectUris","scopes","tokenEndPointUrl","userInfoEndPointUrl"],"type":"object"},"CreateRoomRequest":{"properties":{"adminGroupIds":{"description":"List of group ids\nA room requires at least one admin (user or group)","items":{"format":"int64","type":"integer"},"type":"array"},"adminIds":{"description":"List of user ids\nA room requires at least one admin (user or group)","items":{"format":"int64","type":"integer"},"type":"array"},"hasActivitiesLog":{"description":"Is activities log active (for rooms only)\n(default: true)","example":false,"type":"boolean"},"hasRecycleBin":{"description":"Is Recycle Bin active (for rooms only)","example":false,"type":"boolean"},"inheritPermissions":{"description":"Inherit permissions from parent room","example":false,"type":"boolean"},"name":{"description":"Name","type":"string"},"newGroupMemberAcceptance":{"description":"Behaviour when new users are added to the group:\n* autoallow\n* pending\n\nOnly relevant if 'adminGroupIds' has items.\n(default: autoallow)","type":"string"},"notes":{"description":"User notes\nUse empty string to remove.","type":"string"},"parentId":{"description":"Parent room ID or 'null' to create a top level room","format":"int64","type":"integer"},"quota":{"description":"Quota in byte","format":"int64","type":"integer"},"recycleBinRetentionPeriod":{"description":"Retention period for deleted nodes in days\n(Integer between 0 and 9999)","format":"int32","type":"integer"}},"required":["name"],"type":"object"},"CreateShareUploadChannelRequest":{"properties":{"name":{"description":"File name","type":"string"},"password":{"description":"Password","type":"string"},"size":{"description":"File size in byte","format":"int64","type":"integer"}},"required":["name"],"type":"object"},"CreateShareUploadChannelResponse":{"properties":{"token":{"description":"DEPRECATED: Upload token","type":"string"},"uploadId":{"description":"Upload (channel) ID","type":"string"},"uploadUrl":{"description":"(public) Upload URL","type":"string"}},"required":["uploadId","uploadUrl"],"type":"object"},"CreateUploadShareRequest":{"properties":{"expiration":{"$ref":"#/components/schemas/ObjectExpiration"},"filesExpiryPeriod":{"description":"Number of days after which uploaded files expire","format":"int32","type":"integer"},"mailBody":{"description":"Notification email content","type":"string"},"mailRecipients":{"description":"CSV string of recipient emails","type":"string"},"mailSubject":{"description":"Notification email subject","type":"string"},"maxSize":{"description":"DEPRECATED: Maximal total size of uploaded files (in bytes)","format":"int64","type":"integer"},"maxSlots":{"description":"DEPRECATED: Maximal amount of files to upload","format":"int32","type":"integer"},"name":{"description":"Alias name","type":"string"},"notes":{"description":"User notes\nUse empty string to remove.","type":"string"},"notifyCreator":{"description":"Notify creator on every upload.","example":false,"type":"boolean"},"password":{"description":"Password","type":"string"},"sendMail":{"description":"Notify recipients","example":false,"type":"boolean"},"sendSms":{"description":"Send share password via SMS","example":false,"type":"boolean"},"showUploadedFiles":{"description":"Allow display of already uploaded files","example":false,"type":"boolean"},"smsRecipients":{"description":"CSV string of recipient MSISDNS","type":"string"},"targetId":{"description":"Target room or folder ID","format":"int64","type":"integer"}},"required":["name","targetId"],"type":"object"},"CreateUserRequest":{"properties":{"authMethods":{"description":"Authentication methods","items":{"$ref":"#/components/schemas/UserAuthMethod"},"type":"array"},"email":{"description":"DEPRECATED: Email","type":"string"},"expiration":{"$ref":"#/components/schemas/ObjectExpiration"},"firstName":{"description":"User first name","type":"string"},"gender":{"description":"Gender","enum":["m","f","n"],"type":"string"},"lastName":{"description":"User last name","type":"string"},"login":{"description":"User login name","type":"string"},"title":{"description":"Job title","type":"string"}},"required":["authMethods","firstName","lastName","login"],"type":"object"},"Customer":{"properties":{"activationCode":{"description":"Customer activation code string:\n* valid only for types 'free' and 'demo'\n* for 'pay' customers it is empty","type":"string"},"companyName":{"description":"Company name","type":"string"},"createdAt":{"description":"Creation date\ne.g. 2015-12-31T23:59:00","format":"date-time","type":"string"},"customerAttributes":{"$ref":"#/components/schemas/CustomerAttributes"},"customerContractType":{"description":"Customer type","enum":["free","demo","pay"],"type":"string"},"id":{"description":"Unique identifier for the customer","format":"int64","type":"integer"},"lastLoginAt":{"description":"Date of last seen login for the customer\ne.g. 2015-12-31T23:59:00","format":"date-time","type":"string"},"lockStatus":{"description":"Lock status:\n* false - unlocked\n* true - locked\n\nAll users of this customer will be blocked and can not login anymore.","example":false,"type":"boolean"},"providerCustomerId":{"description":"Provider customer ID value (relevant only for type 'pay')","type":"string"},"quotaMax":{"description":"Maximal disc space which can be allocated by customer in bytes.","format":"int64","type":"integer"},"quotaUsed":{"description":"Used amount of disc space in bytes","format":"int64","type":"integer"},"trialDaysLeft":{"description":"Number of days left for trial period (relevant only for type demo)","format":"int32","type":"integer"},"updatedAt":{"description":"Modification date\ne.g. 2015-12-31T23:59:00","format":"date-time","type":"string"},"userMax":{"description":"Maximal number of users","format":"int32","type":"integer"},"userUsed":{"description":"Number of users which are already allocated.","format":"int32","type":"integer"}},"required":["companyName","createdAt","customerContractType","id","lockStatus","quotaMax","quotaUsed","userMax","userUsed"],"type":"object"},"CustomerAttributes":{"properties":{"items":{"description":"List of customer attributes","items":{"$ref":"#/components/schemas/KeyValueEntry"},"type":"array"}},"type":"object"},"CustomerData":{"properties":{"accountsLimit":{"description":"User accounts limit","format":"int32","type":"integer"},"accountsUsed":{"description":"User accounts used","format":"int32","type":"integer"},"cntFiles":{"description":"Total number of files\nVisible only with at least one global role.","format":"int64","type":"integer"},"cntFolders":{"description":"Total number of folders\nVisible only with at least one global role.","format":"int64","type":"integer"},"cntRooms":{"description":"Total number of rooms\nVisible only with at least one global role.","format":"int64","type":"integer"},"customerEncryptionEnabled":{"description":"Clientside encryption for customer enabled","example":false,"type":"boolean"},"id":{"description":"Unique identifier for the customer","format":"int64","type":"integer"},"isProviderCustomer":{"description":"Customer is Provider Customer","example":false,"type":"boolean"},"name":{"description":"Customer name","type":"string"},"spaceLimit":{"description":"Space limit (in bytes)","format":"int64","type":"integer"},"spaceUsed":{"description":"Space used (in bytes)","format":"int64","type":"integer"}},"required":["accountsLimit","accountsUsed","customerEncryptionEnabled","id","isProviderCustomer","name","spaceLimit","spaceUsed"],"type":"object"},"CustomerList":{"properties":{"items":{"description":"List of customers","items":{"$ref":"#/components/schemas/Customer"},"type":"array"},"range":{"$ref":"#/components/schemas/Range"}},"required":["items","range"],"type":"object"},"DeleteDeletedNodesRequest":{"properties":{"deletedNodeIds":{"description":"List of deleted node IDs","items":{"format":"int64","type":"integer"},"type":"array"}},"required":["deletedNodeIds"],"type":"object"},"DeleteNodesRequest":{"properties":{"nodeIds":{"description":"List of node IDs","items":{"format":"int64","type":"integer"},"type":"array"}},"required":["nodeIds"],"type":"object"},"DeletedNode":{"properties":{"accessedAt":{"description":"Last access date\ne.g. 2015-12-31T23:59:00","format":"date-time","type":"string"},"classification":{"description":"Classification ID (for files only):\n* 1 - public\n* 2 - for internal use only\n* 3 - confidential\n* 4 - strictly confidential","format":"int32","type":"integer"},"createdAt":{"description":"Creation date\ne.g. 2015-12-31T23:59:00","format":"date-time","type":"string"},"createdBy":{"$ref":"#/components/schemas/UserInfo"},"deletedAt":{"description":"Deletion date\ne.g. 2015-12-31T23:59:00","format":"date-time","type":"string"},"deletedBy":{"$ref":"#/components/schemas/UserInfo"},"expireAt":{"description":"Expiration date\ne.g. 2015-12-31T23:59:00","format":"date-time","type":"string"},"id":{"description":"Node ID","format":"int64","type":"integer"},"isEncrypted":{"description":"Encryption state","example":false,"type":"boolean"},"name":{"description":"Node name","type":"string"},"notes":{"description":"User notes\nUse empty string to remove.","type":"string"},"parentId":{"description":"Parent node ID (room or folder)","format":"int64","type":"integer"},"parentPath":{"description":"Parent node path\n'/' if node is a root node (room)","type":"string"},"s3Key":{"$ref":"#/components/schemas/UserInfo"},"size":{"description":"Node size in byte","format":"int64","type":"integer"},"type":{"description":"Node type","enum":["room","folder"],"type":"string"},"updatedAt":{"description":"Modification date\ne.g. 2015-12-31T23:59:00","format":"date-time","type":"string"},"updatedBy":{"$ref":"#/components/schemas/UserInfo"}},"required":["name","parentId","parentPath","type"],"type":"object"},"DeletedNodeSummary":{"properties":{"cntVersions":{"description":"Number of deleted versions of this file","format":"int32","type":"integer"},"firstDeletedAt":{"description":"First deleted version\ne.g. 2015-12-31T23:59:00","format":"date-time","type":"string"},"lastDeletedAt":{"description":"Last deleted version\ne.g. 2015-12-31T23:59:00","format":"date-time","type":"string"},"lastDeletedNodeId":{"description":"Node ID of last deleted version","format":"int64","type":"integer"},"name":{"description":"Node name","type":"string"},"parentId":{"description":"Parent node ID (room or folder)","format":"int64","type":"integer"},"parentPath":{"description":"Parent node path\n'/' if node is a root node (room)","type":"string"},"type":{"description":"Node type","enum":["room","folder"],"type":"string"}},"required":["cntVersions","firstDeletedAt","lastDeletedAt","lastDeletedNodeId","name","parentId","parentPath","type"],"type":"object"},"DeletedNodeSummaryList":{"properties":{"items":{"description":"List of deleted nodes (summary)","items":{"$ref":"#/components/schemas/DeletedNodeSummary"},"type":"array"},"range":{"$ref":"#/components/schemas/Range"}},"required":["items","range"],"type":"object"},"DeletedNodeVersionsList":{"properties":{"items":{"description":"List of deleted nodes","items":{"$ref":"#/components/schemas/DeletedNode"},"type":"array"},"range":{"$ref":"#/components/schemas/Range"}},"required":["items","range"],"type":"object"},"DownloadShare":{"properties":{"accessKey":{"description":"Share access key to generate secure link","type":"string"},"classification":{"description":"Classification ID (for files only):\n* 1 - public\n* 2 - for internal use only\n* 3 - confidential\n* 4 - strictly confidential","format":"int32","type":"integer"},"cntDownloads":{"description":"Downloads counter (incremented on each download)","format":"int32","type":"integer"},"createdAt":{"description":"Creation date\ne.g. 2015-12-31T23:59:00","format":"date-time","type":"string"},"createdBy":{"$ref":"#/components/schemas/UserInfo"},"dataUrl":{"description":"Path to shared download node","type":"string"},"expireAt":{"description":"Expiration date\ne.g. 2015-12-31T23:59:00","format":"date-time","type":"string"},"id":{"description":"Share ID","format":"int64","type":"integer"},"isEncrypted":{"description":"Encrypted share\n(this only applies to shared files, not folders)","example":false,"type":"boolean"},"isProtected":{"description":"Is share protected by password","example":false,"type":"boolean"},"maxDownloads":{"description":"Max allowed downloads","format":"int32","type":"integer"},"name":{"description":"Alias name","type":"string"},"nodeId":{"description":"Source node ID","format":"int64","type":"integer"},"nodePath":{"description":"Path to shared download node","type":"string"},"notes":{"description":"User notes\nUse empty string to remove.","type":"string"},"notifyCreator":{"description":"Notify creator on every download.","example":false,"type":"boolean"},"recipients":{"description":"CSV string of recipient emails","type":"string"},"showCreatorName":{"description":"Show creator first and last name","example":false,"type":"boolean"},"showCreatorUsername":{"description":"Show creator email address","example":false,"type":"boolean"},"smsRecipients":{"description":"CSV string of recipient MSISDNS","type":"string"}},"required":["accessKey","cntDownloads","createdAt","createdBy","id","nodeId","notifyCreator"],"type":"object"},"DownloadShareList":{"properties":{"items":{"description":"List of Download Shares","items":{"$ref":"#/components/schemas/DownloadShare"},"type":"array"},"range":{"$ref":"#/components/schemas/Range"}},"required":["items","range"],"type":"object"},"DownloadTokenGenerateResponse":{"properties":{"downloadUrl":{"description":"Download URL","type":"string"},"token":{"description":"DEPRECATED: Download token","type":"string"}},"required":["token"],"type":"object"},"EnableCustomerEncryptionRequest":{"properties":{"dataSpaceRescueKey":{"$ref":"#/components/schemas/UserKeyPairContainer"},"enableCustomerEncryption":{"description":"Set 'true' to enable encryption for this customer","example":false,"type":"boolean"}},"required":["dataSpaceRescueKey","enableCustomerEncryption"],"type":"object"},"EncryptRoomRequest":{"properties":{"dataRoomRescueKey":{"$ref":"#/components/schemas/UserKeyPairContainer"},"isEncrypted":{"description":"Encryption state","example":false,"type":"boolean"},"useDataSpaceRescueKey":{"description":"Use system emergency password for files in this room","example":false,"type":"boolean"}},"required":["isEncrypted"],"type":"object"},"EncryptionInfo":{"properties":{"dataSpaceKeyState":{"description":"DRACOON key state","enum":["none","pending","available"],"type":"string"},"roomKeyState":{"description":"Room key state","enum":["none","pending","available"],"type":"string"},"userKeyState":{"description":"User key state","enum":["none","pending","available"],"type":"string"}},"required":["dataSpaceKeyState","roomKeyState","userKeyState"],"type":"object"},"ErrorResponse":{"properties":{"code":{"description":"HTTP status code","format":"int32","type":"integer"},"debugInfo":{"description":"Debug information","type":"string"},"errorCode":{"description":"Error code","format":"int32","type":"integer"},"message":{"description":"HTTP status code description","type":"string"}},"type":"object"},"FailoverServer":{"properties":{"failoverEnabled":{"description":"RADIUS Failover Server is active","example":false,"type":"boolean"},"failoverIpAddress":{"description":"RADIUS Failover Server IP Address\nRequired if failover server is enabled.","type":"string"},"failoverPort":{"description":"RADIUS Failover Server Port\nRequired if failover server is enabled.","format":"int32","type":"integer"}},"required":["failoverEnabled"],"type":"object"},"FileFileKeys":{"properties":{"fileKeyContainer":{"$ref":"#/components/schemas/FileKeyContainer"},"id":{"description":"File ID","format":"int64","type":"integer"}},"type":"object"},"FileKey":{"properties":{"iv":{"description":"Initial vector","type":"string"},"key":{"description":"Encryption key","type":"string"},"tag":{"description":"Authentication tag\n(needed with authenticated encryption)","type":"string"},"version":{"description":"Version","type":"string"}},"required":["iv","key","tag","version"],"type":"object"},"FileKeyContainer":{"properties":{"iv":{"description":"Initial vector","type":"string"},"key":{"description":"Encryption key","type":"string"},"tag":{"description":"Authentication tag\n(needed with authenticated encryption)","type":"string"},"version":{"description":"Version","type":"string"}},"required":["iv","key","version"],"type":"object"},"FirstAdminUser":{"properties":{"authMethods":{"description":"Authentication methods","items":{"$ref":"#/components/schemas/UserAuthMethod"},"type":"array"},"email":{"description":"DEPRECATED: Email","type":"string"},"firstName":{"description":"User first name","type":"string"},"gender":{"description":"Gender","enum":["m","f","n"],"type":"string"},"language":{"description":"Language ID or ISO 639-1 code","type":"string"},"lastName":{"description":"User last name","type":"string"},"login":{"description":"User login name","type":"string"},"needsToChangeUserName":{"description":"If true, the user must change the 'userName' at the first login","example":false,"type":"boolean"},"notifyUser":{"description":"Notify user about his new account\n(default: true)","example":false,"type":"boolean"},"password":{"description":"An initial password may be preset","type":"string"},"title":{"description":"Job title","type":"string"}},"required":["firstName","lastName","login"],"type":"object"},"Group":{"properties":{"cntUsers":{"description":"Amount of users","format":"int32","type":"integer"},"createdAt":{"description":"Creation date\ne.g. 2015-12-31T23:59:00","format":"date-time","type":"string"},"createdBy":{"$ref":"#/components/schemas/UserInfo"},"expireAt":{"description":"Expiration date\ne.g. 2015-12-31T23:59:00","format":"date-time","type":"string"},"groupRoles":{"$ref":"#/components/schemas/RoleList"},"id":{"description":"Unique identifier for the group","format":"int64","type":"integer"},"name":{"description":"Group name","type":"string"},"updatedAt":{"description":"Modification date\ne.g. 2015-12-31T23:59:00","format":"date-time","type":"string"},"updatedBy":{"$ref":"#/components/schemas/UserInfo"}},"required":["cntUsers","createdAt","createdBy","id","name"],"type":"object"},"GroupIds":{"properties":{"ids":{"description":"List of group IDs","items":{"format":"int64","type":"integer"},"type":"array"}},"required":["ids"],"type":"object"},"GroupList":{"properties":{"items":{"description":"List of groups","items":{"$ref":"#/components/schemas/Group"},"type":"array"},"range":{"$ref":"#/components/schemas/Range"}},"required":["items","range"],"type":"object"},"GroupUser":{"properties":{"displayName":{"description":"Display name","type":"string"},"email":{"description":"DEPRECATED: Email","type":"string"},"id":{"description":"Unique identifier for the user","format":"int64","type":"integer"},"isMember":{"description":"Is group member","example":false,"type":"boolean"},"login":{"description":"User login name","type":"string"}},"required":["displayName","email","id","isMember","login"],"type":"object"},"GroupUserList":{"properties":{"items":{"description":"List of group-user mappings","items":{"$ref":"#/components/schemas/GroupUser"},"type":"array"},"range":{"$ref":"#/components/schemas/Range"}},"required":["items","range"],"type":"object"},"InputStream":{"type":"object"},"KeyValueEntry":{"properties":{"key":{"description":"Entry key","type":"string"},"value":{"description":"Entry value","type":"string"}},"required":["key","value"],"type":"object"},"Language":{"properties":{"description":{"description":"Description","type":"string"},"isoCode":{"description":"ISO 639-1 code","type":"string"},"languageId":{"description":"Language ID","format":"int32","type":"integer"}},"required":["description","isoCode","languageId"],"type":"object"},"LogEvent":{"properties":{"attribute1":{"description":"Attribute 1","type":"string"},"attribute2":{"description":"Attribute 2","type":"string"},"attribute3":{"description":"Attribute 3","type":"string"},"authParentSource":{"description":"Auth parent source ID","type":"string"},"authParentTarget":{"description":"Auth parent target ID","type":"string"},"customerId":{"description":"Unique identifier for the customer","format":"int64","type":"integer"},"id":{"description":"Event ID","format":"int64","type":"integer"},"message":{"description":"Event description","type":"string"},"objectId1":{"description":"Object ID 1","format":"int64","type":"integer"},"objectId2":{"description":"Object ID 2","format":"int64","type":"integer"},"objectName1":{"description":"Object name 1","type":"string"},"objectName2":{"description":"Object name 2","type":"string"},"objectType1":{"description":"Object type 1","format":"int32","type":"integer"},"objectType2":{"description":"Object type 2","format":"int32","type":"integer"},"operationId":{"description":"Operation type ID","format":"int32","type":"integer"},"operationName":{"description":"Operation name","type":"string"},"status":{"description":"Operation status:\n* 0 - Success\n* 2 - Error","format":"int32","type":"integer"},"time":{"description":"Event timestamp\ne.g. 2015-12-31T23:59:00","format":"date-time","type":"string"},"userClient":{"description":"Client","type":"string"},"userId":{"description":"Unique identifier for the user","format":"int64","type":"integer"},"userIp":{"description":"User IP","type":"string"},"userName":{"description":"User name","type":"string"}},"required":["id","message","time","userId"],"type":"object"},"LogEventList":{"properties":{"items":{"description":"List of log events","items":{"$ref":"#/components/schemas/LogEvent"},"type":"array"},"range":{"$ref":"#/components/schemas/Range"}},"required":["items","range"],"type":"object"},"LogOperationList":{"properties":{"operationList":{"description":"List of all log operations","type":"string"}},"required":["operationList"],"type":"object"},"LoginRequest":{"properties":{"authType":{"description":"Authentication type code","type":"string"},"language":{"description":"Language ID or ISO 639-1 code","type":"string"},"login":{"description":"User login name","type":"string"},"password":{"description":"Password","type":"string"},"state":{"description":"For RADIUS Access-Challenge\nIf a 'replyState' is returned, it must be included as 'state' in the following request.","type":"string"},"token":{"description":"Token","type":"string"}},"required":["login","password"],"type":"object"},"LoginResponse":{"properties":{"token":{"description":"Authentication token","type":"string"}},"required":["token"],"type":"object"},"MissingKeysResponse":{"properties":{"files":{"description":"List of file keys","items":{"$ref":"#/components/schemas/FileFileKeys"},"type":"array"},"items":{"description":"List of user ID and file ID mappings","items":{"$ref":"#/components/schemas/UserIdFileIdItem"},"type":"array"},"range":{"$ref":"#/components/schemas/Range"},"users":{"description":"List of user public keys","items":{"$ref":"#/components/schemas/UserUserPublicKey"},"type":"array"}},"type":"object"},"MoveNode":{"properties":{"id":{"description":"Source node ID","format":"int64","type":"integer"},"name":{"description":"New node name","type":"string"}},"required":["id"],"type":"object"},"MoveNodesRequest":{"properties":{"items":{"description":"List of nodes to be moved","items":{"$ref":"#/components/schemas/MoveNode"},"type":"array"},"keepShareLinks":{"description":"Preserve Download Share Links and point them to the new node.\n(default: false)","example":false,"type":"boolean"},"nodeIds":{"description":"DEPRECATED: Node IDs; use 'items' attribute","items":{"format":"int64","type":"integer"},"type":"array"},"resolutionStrategy":{"description":"Node conflict resolution strategy:\n* autorename\n* overwrite\n* fail\n\n(default: autorename)","enum":["autorename","overwrite","fail"],"type":"string"}},"type":"object"},"NewCustomerRequest":{"properties":{"activationCode":{"description":"Customer activation code string:\n* valid only for types 'free' and 'demo'\n* for 'pay' customers it is empty","type":"string"},"companyName":{"description":"Company name","type":"string"},"customerAttributes":{"$ref":"#/components/schemas/CustomerAttributes"},"customerContractType":{"description":"Customer type","enum":["free","demo","pay"],"type":"string"},"firstAdminUser":{"$ref":"#/components/schemas/FirstAdminUser"},"lockStatus":{"description":"Lock status:\n* false - unlocked\n* true - locked\n\nAll users of this customer will be blocked and can not login anymore.","example":false,"type":"boolean"},"providerCustomerId":{"description":"Provider customer ID value (relevant only for type 'pay')","type":"string"},"quotaMax":{"description":"Maximal disc space which can be allocated by customer in bytes.","format":"int64","type":"integer"},"trialDays":{"description":"Number of days left for trial period (relevant only for type demo)","format":"int32","type":"integer"},"userMax":{"description":"Maximal number of users","format":"int32","type":"integer"}},"required":["customerContractType","firstAdminUser","quotaMax","userMax"],"type":"object"},"NewCustomerResponse":{"properties":{"activationCode":{"description":"Customer activation code string:\n* valid only for types 'free' and 'demo'\n* for 'pay' customers it is empty","type":"string"},"companyName":{"description":"Company name","type":"string"},"createdAt":{"description":"Creation date\ne.g. 2015-12-31T23:59:00","format":"date-time","type":"string"},"customerAttributes":{"$ref":"#/components/schemas/CustomerAttributes"},"customerContractType":{"description":"Customer type","enum":["free","demo","pay"],"type":"string"},"firstAdminUser":{"$ref":"#/components/schemas/FirstAdminUser"},"id":{"description":"Unique identifier for the customer","format":"int64","type":"integer"},"lockStatus":{"description":"Lock status:\n* false - unlocked\n* true - locked\n\nAll users of this customer will be blocked and can not login anymore.","example":false,"type":"boolean"},"providerCustomerId":{"description":"Provider customer ID value (relevant only for type 'pay')","type":"string"},"quotaMax":{"description":"Maximal disc space which can be allocated by customer in bytes.","format":"int64","type":"integer"},"trialDays":{"description":"Number of days left for trial period (relevant only for type demo)","format":"int32","type":"integer"},"userMax":{"description":"Maximal number of users","format":"int32","type":"integer"}},"required":["companyName","customerContractType","firstAdminUser","lockStatus","quotaMax","userMax"],"type":"object"},"Node":{"properties":{"branchVersion":{"description":"Version of last change in this node or a node further down the tree.","format":"int64","type":"integer"},"children":{"description":"Child nodes list (if requested)\n(for rooms/folders only)","items":{"$ref":"#/components/schemas/Node"},"type":"array"},"classification":{"description":"Classification ID (for files only):\n* 1 - public\n* 2 - for internal use only\n* 3 - confidential\n* 4 - strictly confidential","format":"int32","type":"integer"},"cntAdmins":{"description":"DEPRECATED: Number of admins (for rooms only)","format":"int32","type":"integer"},"cntChildren":{"description":"Number of direct children\n(no recursion; for rooms/folders only)","format":"int32","type":"integer"},"cntDeletedVersions":{"description":"Number of deleted versions of this file/folder\n(for rooms/folders only)","format":"int32","type":"integer"},"cntDownloadShares":{"description":"Returns the number of Download Shares of this node.","format":"int32","type":"integer"},"cntUploadShares":{"description":"Returns the number of Upload Shares of this node.","format":"int32","type":"integer"},"cntUsers":{"description":"DEPRECATED: Number of users (for rooms only)","format":"int32","type":"integer"},"createdAt":{"description":"Creation date\ne.g. 2015-12-31T23:59:00","format":"date-time","type":"string"},"createdBy":{"$ref":"#/components/schemas/UserInfo"},"encryptionInfo":{"$ref":"#/components/schemas/EncryptionInfo"},"expireAt":{"description":"Expiration date\ne.g. 2015-12-31T23:59:00","format":"date-time","type":"string"},"fileType":{"description":"File type/extension (for files only)","type":"string"},"hasActivitiesLog":{"description":"Is activities log active (for rooms only)\n(default: true)","example":false,"type":"boolean"},"hasRecycleBin":{"description":"Is Recycle Bin active (for rooms only)","example":false,"type":"boolean"},"hash":{"description":"MD5 hash of file","type":"string"},"id":{"description":"Node ID","format":"int64","type":"integer"},"inheritPermissions":{"description":"Inherit permissions from parent room","example":false,"type":"boolean"},"isEncrypted":{"description":"Encryption state","example":false,"type":"boolean"},"isFavorite":{"description":"Node is marked as favorite (for rooms/folders only)","example":false,"type":"boolean"},"mediaToken":{"description":"Media server media token","type":"string"},"mediaType":{"description":"File media type (for files only)","type":"string"},"name":{"description":"Name","type":"string"},"notes":{"description":"User notes\nUse empty string to remove.","type":"string"},"parentId":{"description":"Parent node ID (room or folder)","format":"int64","type":"integer"},"parentPath":{"description":"Parent node path\n'/' if node is a root node (room)","type":"string"},"permissions":{"$ref":"#/components/schemas/NodePermissions"},"quota":{"description":"Quota in byte","format":"int64","type":"integer"},"recycleBinRetentionPeriod":{"description":"Retention period for deleted nodes in days\n(Integer between 0 and 9999)","format":"int32","type":"integer"},"s3Key":{"description":"S3 key","type":"string"},"size":{"description":"Node size in byte","format":"int64","type":"integer"},"type":{"description":"Node type","enum":["room","folder","file"],"type":"string"},"updatedAt":{"description":"Modification date\ne.g. 2015-12-31T23:59:00","format":"date-time","type":"string"},"updatedBy":{"$ref":"#/components/schemas/UserInfo"}},"required":["id","name","type"],"type":"object"},"NodeBatchOperationErrorInfos":{"properties":{"conflictNodes":{"description":"List of nodes that caused a conflict","items":{"$ref":"#/components/schemas/ConflictNode"},"type":"array"}},"required":["conflictNodes"],"type":"object"},"NodeBatchOperationErrorResponse":{"properties":{"code":{"description":"HTTP status code","format":"int32","type":"integer"},"debugInfo":{"description":"Debug information","type":"string"},"errorCode":{"description":"Error code","format":"int32","type":"integer"},"errorInfos":{"$ref":"#/components/schemas/NodeBatchOperationErrorInfos"},"message":{"description":"HTTP status code description","type":"string"}},"required":["errorInfos"],"type":"object"},"NodeList":{"properties":{"items":{"description":"List of nodes","items":{"$ref":"#/components/schemas/Node"},"type":"array"},"range":{"$ref":"#/components/schemas/Range"}},"required":["items","range"],"type":"object"},"NodePermissions":{"properties":{"change":{"description":"User/Group may update meta data of nodes: rename files and folders, change classification, etc.","example":false,"type":"boolean"},"create":{"description":"User/Group may upload files, create folders and copy/move files to this room, overwriting is not possible.","example":false,"type":"boolean"},"delete":{"description":"User/Group may overwrite and remove files/folders, move files from this room.","example":false,"type":"boolean"},"deleteRecycleBin":{"description":"User/Group may permanently remove files/folders from the Recycle Bin.","example":false,"type":"boolean"},"manage":{"description":"User/Group may grant all of the above permissions to other users and groups independently,\nmay update room metadata and create/update/delete subordinary rooms, has all permissions.","example":false,"type":"boolean"},"manageDownloadShare":{"description":"User/Group may create Download Shares for files and containers view all previously created Download Shares in this room.","example":false,"type":"boolean"},"manageUploadShare":{"description":"User/Group may create Upload Shares for containers, view all previously created Upload Shares in this room.","example":false,"type":"boolean"},"read":{"description":"User/Group may see all rooms, files and folders in the room and download everything, copy files from this room.","example":false,"type":"boolean"},"readRecycleBin":{"description":"User/Group may look up files/folders in the Recycle Bin.","example":false,"type":"boolean"},"restoreRecycleBin":{"description":"User/Group may restore files/folders from Recycle Bin – room permissions required.","example":false,"type":"boolean"}},"required":["change","create","delete","deleteRecycleBin","manage","manageDownloadShare","manageUploadShare","read","readRecycleBin","restoreRecycleBin"],"type":"object"},"NotRestoredNode":{"properties":{"id":{"description":"Not restored node ID","format":"int64","type":"integer"},"name":{"description":"Node name","type":"string"},"parentId":{"description":"Parent node ID (room or folder)","format":"int64","type":"integer"},"parentPath":{"description":"Parent node path\n'/' if node is a root node (room)","type":"string"},"type":{"description":"Node type","enum":["room","folder"],"type":"string"}},"required":["name","parentId","parentPath","type"],"type":"object"},"NotRestoredNodeList":{"properties":{"items":{"description":"List of not restored nodes","items":{"$ref":"#/components/schemas/NotRestoredNode"},"type":"array"}},"required":["items"],"type":"object"},"OAuthAuthorization":{"properties":{"clientId":{"description":"ID of the OAuth client","type":"string"},"expiresAt":{"description":"Expiration date of the authorization","format":"date-time","type":"string"}},"required":["clientId"],"type":"object"},"OAuthClient":{"properties":{"accessTokenValidity":{"description":"Validity of the access token in seconds.","format":"int32","type":"integer"},"clientId":{"description":"ID of the OAuth client","type":"string"},"clientSecret":{"description":"Secret, which uses the client for authentication.","type":"string"},"grantTypes":{"description":"Authorized grant types\ncf. [RFC 6749](https://tools.ietf.org/html/rfc6749)","items":{"type":"string"},"type":"array"},"redirectUris":{"description":"URIs, to which a user is redirected after authorization.","items":{"type":"string"},"type":"array"},"redirectUrl":{"description":"DEPRECATED: URL, to which a user is redirected after authorization.","type":"string"},"refreshTokenValidity":{"description":"Validity of the refresh token in seconds.","format":"int32","type":"integer"}},"required":["clientId"],"type":"object"},"ObjectExpiration":{"properties":{"enableExpiration":{"description":"enabled/disabled","example":false,"type":"boolean"},"expireAt":{"description":"Expiration date\ne.g. 2015-12-31T23:59:00","format":"date-time","type":"string"}},"required":["enableExpiration"],"type":"object"},"OpenIdAuthInfo":{"properties":{"items":{"description":"List of available OpenID Connect identity providers","items":{"$ref":"#/components/schemas/OpenIdProvider"},"type":"array"}},"required":["items"],"type":"object"},"OpenIdAuthResources":{"properties":{"openIdProviders":{"description":"List of available OpenID Connect identity providers","items":{"$ref":"#/components/schemas/OpenIdProvider"},"type":"array"}},"required":["openIdProviders"],"type":"object"},"OpenIdIdpConfig":{"properties":{"authorizationEndPointUrl":{"description":"URL of the authorization endpoint","type":"string"},"clientId":{"description":"ID of the OAuth client","type":"string"},"clientSecret":{"description":"Secret, which uses the client for authentication.","type":"string"},"fallbackMappingClaim":{"description":"Name of the claim which is used for the user mapping fallback.\ne.g. 'sub'","type":"string"},"id":{"description":"ID","format":"int32","type":"integer"},"issuer":{"description":"Issuer identifier of the IDP\nThe value is a case sensitive URL.","type":"string"},"jwksEndPointUrl":{"description":"URL of the JWKS endpoint","type":"string"},"mappingClaim":{"description":"Name of the claim which is used for the user mapping.\ne.g. 'email'","type":"string"},"name":{"description":"Name of the IDP","type":"string"},"pkceChallengeMethod":{"description":"PKCE code challenge method.\ncf. [RFC 7636](https://tools.ietf.org/html/rfc7636)","type":"string"},"pkceEnabled":{"description":"Determines whether PKCE is enabled.\ncf. [RFC 7636](https://tools.ietf.org/html/rfc7636)","example":false,"type":"boolean"},"redirectUris":{"description":"URIs, to which a user is redirected after authorization.","items":{"type":"string"},"type":"array"},"scopes":{"description":"List of requested scopes\nUsually 'openid' and the names of the requested claims.","items":{"type":"string"},"type":"array"},"tokenEndPointUrl":{"description":"URL of the token endpoint","type":"string"},"userInfoEndPointUrl":{"description":"URL of the user info endpoint","type":"string"},"userUpdateEnabled":{"description":"Determines if the user metadata is updated with data from the IDP.\nThe scope 'profile' is needed for the update.\nIf this scope is not granted, only the email address is updated.","example":false,"type":"boolean"}},"required":["id"],"type":"object"},"OpenIdProvider":{"properties":{"id":{"description":"ID","format":"int32","type":"integer"},"isGlobalAvailable":{"description":"Is available for all customers","example":false,"type":"boolean"},"issuer":{"description":"Issuer identifier of the IDP\nThe value is a case sensitive URL.","type":"string"},"mappingClaim":{"description":"Name of the claim which is used for the user mapping.\ne.g. 'email'","type":"string"},"name":{"description":"Name of the IDP","type":"string"}},"required":["id","issuer","mappingClaim","name"],"type":"object"},"PendingAssignment":{"properties":{"groupId":{"description":"Unique identifier for the group","format":"int64","type":"integer"},"roomId":{"description":"Room ID","format":"int64","type":"integer"},"state":{"description":"Acceptance state:\n* ACCEPTED\n* WAITING\n* DENIED","type":"string"},"userId":{"description":"Unique identifier for the user","format":"int64","type":"integer"}},"required":["groupId","roomId","state","userId"],"type":"object"},"PendingAssignmentData":{"properties":{"groupId":{"description":"DEPRECATED: Unique identifier for the group","format":"int64","type":"integer"},"pendingGroupData":{"$ref":"#/components/schemas/PendingGroupData"},"pendingUserData":{"$ref":"#/components/schemas/PendingUserData"},"roomId":{"description":"Room ID","format":"int64","type":"integer"},"state":{"description":"Acceptance state:\n* ACCEPTED\n* WAITING\n* DENIED","type":"string"},"userId":{"description":"DEPRECATED: Unique identifier for the user","format":"int64","type":"integer"}},"required":["pendingGroupData","pendingUserData","roomId","state"],"type":"object"},"PendingAssignmentList":{"properties":{"items":{"description":"List of pending assignment information","items":{"$ref":"#/components/schemas/PendingAssignmentData"},"type":"array"},"range":{"$ref":"#/components/schemas/Range"}},"required":["items"],"type":"object"},"PendingAssignmentsRequest":{"properties":{"items":{"description":"List of pending assignments","items":{"$ref":"#/components/schemas/PendingAssignment"},"type":"array"}},"required":["items"],"type":"object"},"PendingGroupData":{"properties":{"id":{"description":"Unique identifier for the group","format":"int64","type":"integer"},"name":{"description":"Group name","type":"string"}},"required":["id","name"],"type":"object"},"PendingUserData":{"properties":{"displayName":{"description":"Display name","type":"string"},"email":{"description":"DEPRECATED: Email","type":"string"},"id":{"description":"Unique identifier for the user","format":"int64","type":"integer"},"login":{"description":"User login name","type":"string"}},"required":["displayName","email","id","login"],"type":"object"},"PrivateKeyContainer":{"properties":{"privateKey":{"description":"Private key","type":"string"},"version":{"description":"Version","type":"string"}},"required":["privateKey","version"],"type":"object"},"PublicDownloadShare":{"properties":{"createdAt":{"description":"Creation date\ne.g. 2015-12-31T23:59:00","format":"date-time","type":"string"},"creatorName":{"description":"Creator name","type":"string"},"creatorUsername":{"description":"Creator user name","type":"string"},"expireAt":{"description":"Expiration date\ne.g. 2015-12-31T23:59:00","format":"date-time","type":"string"},"fileKey":{"$ref":"#/components/schemas/FileKey"},"fileName":{"description":"File name","type":"string"},"isEncrypted":{"description":"Encryption state","example":false,"type":"boolean"},"isProtected":{"description":"Is share protected by password","example":false,"type":"boolean"},"limitReached":{"description":"Downloads limit reached","example":false,"type":"boolean"},"name":{"description":"Share display name (alias name)","type":"string"},"notes":{"description":"User notes\nUse empty string to remove.","type":"string"},"privateKeyContainer":{"$ref":"#/components/schemas/PrivateKeyContainer"},"size":{"description":"File size or container size not compressed (in bytes)","format":"int64","type":"integer"}},"required":["createdAt","creatorName","fileName","isProtected","limitReached","size"],"type":"object"},"PublicDownloadTokenGenerateRequest":{"properties":{"password":{"description":"Password (only for password-protected shares)","type":"string"}},"type":"object"},"PublicDownloadTokenGenerateResponse":{"properties":{"downloadUrl":{"description":"Download URL","type":"string"},"token":{"description":"DEPRECATED: Download token","type":"string"}},"required":["token"],"type":"object"},"PublicKeyContainer":{"properties":{"publicKey":{"description":"Public key","type":"string"},"version":{"description":"Version","type":"string"}},"required":["publicKey","version"],"type":"object"},"PublicUploadShare":{"properties":{"createdAt":{"description":"Creation date\ne.g. 2015-12-31T23:59:00","format":"date-time","type":"string"},"expireAt":{"description":"Expiration date\ne.g. 2015-12-31T23:59:00","format":"date-time","type":"string"},"isEncrypted":{"description":"Encryption state","example":false,"type":"boolean"},"isProtected":{"description":"Is share protected by password","example":false,"type":"boolean"},"maxSize":{"description":"DEPRECATED: Maximal total size of uploaded files (in bytes)","format":"double","type":"number"},"maxSlots":{"description":"DEPRECATED: Maximal amount of files to upload","format":"int32","type":"integer"},"name":{"description":"Share display name (alias name)","type":"string"},"notes":{"description":"User notes\nUse empty string to remove.","type":"string"},"showUploadedFiles":{"description":"Allow display of already uploaded files","example":false,"type":"boolean"},"uploadedFiles":{"description":"List of (public) uploaded files","items":{"$ref":"#/components/schemas/PublicUploadedFileData"},"type":"array"},"userUserPublicKeyList":{"$ref":"#/components/schemas/UserUserPublicKeyList"}},"required":["createdAt","isProtected","maxSlots"],"type":"object"},"PublicUploadedFileData":{"properties":{"createdAt":{"description":"Creation date\ne.g. 2015-12-31T23:59:00","format":"date-time","type":"string"},"hash":{"description":"Hash value of transferred file","type":"string"},"name":{"description":"Name","type":"string"},"size":{"description":"File size in byte","format":"int64","type":"integer"}},"required":["createdAt","name","size"],"type":"object"},"RadiusChallengeResponse":{"properties":{"code":{"description":"HTTP status code","format":"int32","type":"integer"},"debugInfo":{"description":"Debug information","type":"string"},"errorCode":{"description":"Error code","format":"int32","type":"integer"},"message":{"description":"HTTP status code description","type":"string"},"replyMessage":{"description":"RADIUS Reply-Message\nInstruction how to handle the situation.","type":"string"},"replyState":{"description":"For RADIUS Access-Challenge\nIf a 'replyState' is returned, it must be included as 'state' in the following request.","type":"string"}},"type":"object"},"RadiusConfig":{"properties":{"failoverServer":{"$ref":"#/components/schemas/FailoverServer"},"id":{"description":"ID","format":"int32","type":"integer"},"ipAddress":{"description":"RADIUS Server IP Address","type":"string"},"name":{"description":"Name","type":"string"},"otpPinFirst":{"description":"Sequence order of concatenated PIN and one-time token","example":false,"type":"boolean"},"port":{"description":"RADIUS Server Port","format":"int32","type":"integer"},"sharedSecret":{"description":"Shared Secret to access the RADIUS server","type":"string"}},"required":["id","ipAddress","name","otpPinFirst","port","sharedSecret"],"type":"object"},"RadiusConfigCreateRequest":{"properties":{"failoverServer":{"$ref":"#/components/schemas/FailoverServer"},"ipAddress":{"description":"RADIUS Server IP Address","type":"string"},"otpPinFirst":{"description":"Sequence order of concatenated PIN and one-time token","example":false,"type":"boolean"},"port":{"description":"RADIUS Server Port","format":"int32","type":"integer"},"sharedSecret":{"description":"Shared Secret to access the RADIUS server","type":"string"}},"required":["ipAddress","port","sharedSecret"],"type":"object"},"RadiusConfigUpdateRequest":{"properties":{"failoverServer":{"$ref":"#/components/schemas/FailoverServer"},"ipAddress":{"description":"RADIUS Server IP Address","type":"string"},"otpPinFirst":{"description":"Sequence order of concatenated PIN and one-time token","example":false,"type":"boolean"},"port":{"description":"RADIUS Server Port","format":"int32","type":"integer"},"sharedSecret":{"description":"Shared Secret to access the RADIUS server","type":"string"}},"required":["ipAddress","port","sharedSecret"],"type":"object"},"Range":{"properties":{"limit":{"description":"Range limit","format":"int64","type":"integer"},"offset":{"description":"Range offset","format":"int64","type":"integer"},"total":{"description":"Total items available","format":"int64","type":"integer"}},"required":["limit","offset","total"],"type":"object"},"ResetPasswordRequest":{"properties":{"language":{"description":"Language ID or ISO 639-1 code","type":"string"},"login":{"description":"User login name","type":"string"}},"required":["login"],"type":"object"},"ResetPasswordTokenValidateResponse":{"properties":{"allowSystemGlobalWeakPassword":{"description":"Allow weak password","example":false,"type":"boolean"},"firstName":{"description":"User first name","type":"string"},"gender":{"description":"Gender","enum":["m","f","n"],"type":"string"},"lastName":{"description":"User last name","type":"string"},"title":{"description":"Job title","type":"string"}},"required":["firstName","lastName"],"type":"object"},"ResetPasswordWithTokenRequest":{"properties":{"password":{"description":"New password","type":"string"}},"required":["password"],"type":"object"},"RestoreDeletedNodesRequest":{"properties":{"deletedNodeIds":{"description":"List of deleted node IDs","items":{"format":"int64","type":"integer"},"type":"array"},"keepShareLinks":{"description":"Preserve Download Share Links and point them to the new node.\n(default: false)","example":false,"type":"boolean"},"parentId":{"description":"Node parent ID\n(default: previous parent ID)","format":"int64","type":"integer"},"resolutionStrategy":{"description":"Node conflict resolution strategy:\n* autorename\n* overwrite\n* fail\n\n(default: autorename)","enum":["autorename","overwrite","fail"],"type":"string"}},"required":["deletedNodeIds"],"type":"object"},"Right":{"properties":{"description":{"description":"Right description","type":"string"},"id":{"description":"Unique identifier for the right","format":"int32","type":"integer"},"name":{"description":"Right (unique) name","type":"string"}},"required":["description","id","name"],"type":"object"},"Role":{"properties":{"description":{"description":"Role description","type":"string"},"id":{"description":"Unique identifier for the role","format":"int32","type":"integer"},"items":{"description":"List of reachable right over role","items":{"$ref":"#/components/schemas/Right"},"type":"array"},"name":{"description":"Role (unique) name","type":"string"}},"required":["description","id","name"],"type":"object"},"RoleGroup":{"properties":{"id":{"description":"Unique identifier for the group","format":"int64","type":"integer"},"isMember":{"description":"Is group member of the role","example":false,"type":"boolean"},"name":{"description":"Group name","type":"string"}},"required":["id","isMember","name"],"type":"object"},"RoleGroupList":{"properties":{"items":{"description":"List of role-group mappings","items":{"$ref":"#/components/schemas/RoleGroup"},"type":"array"},"range":{"$ref":"#/components/schemas/Range"}},"required":["items","range"],"type":"object"},"RoleList":{"properties":{"items":{"description":"List of roles","items":{"$ref":"#/components/schemas/Role"},"type":"array"}},"required":["items"],"type":"object"},"RoleUser":{"properties":{"displayName":{"description":"Display name","type":"string"},"id":{"description":"Unique identifier for the user","format":"int64","type":"integer"},"isMember":{"description":"Is user member of the role","example":false,"type":"boolean"}},"required":["displayName","id","isMember"],"type":"object"},"RoleUserList":{"properties":{"items":{"description":"List of role-user mappings","items":{"$ref":"#/components/schemas/RoleUser"},"type":"array"},"range":{"$ref":"#/components/schemas/Range"}},"required":["items","range"],"type":"object"},"RoomData":{"properties":{"children":{"description":"List of rooms, where this room is a parent (if exist)","items":{"$ref":"#/components/schemas/RoomData"},"type":"array"},"cntAdmins":{"description":"DEPRECATED: Number of admins (for rooms only)","format":"int32","type":"integer"},"cntDownloadShares":{"description":"Returns the number of Download Shares of this node.","format":"int32","type":"integer"},"cntUploadShares":{"description":"Returns the number of Upload Shares of this node.","format":"int32","type":"integer"},"cntUsers":{"description":"DEPRECATED: Number of users (for rooms only)","format":"int32","type":"integer"},"createdAt":{"description":"Expiration date\ne.g. 2015-12-31T23:59:00","format":"date-time","type":"string"},"createdBy":{"$ref":"#/components/schemas/UserInfo"},"hasRecycleBin":{"description":"Is Recycle Bin active (for rooms only)","example":false,"type":"boolean"},"id":{"description":"Room ID","format":"int64","type":"integer"},"isEncrypted":{"description":"Encryption state","example":false,"type":"boolean"},"isFavorite":{"description":"Node is marked as favorite (for rooms/folders only)","example":false,"type":"boolean"},"isGranted":{"description":"Is user granted room permissions","example":false,"type":"boolean"},"name":{"description":"Name","type":"string"},"parentId":{"description":"Parent node ID (room or folder)","format":"int64","type":"integer"},"permissions":{"$ref":"#/components/schemas/NodePermissions"},"quota":{"description":"Quota in byte","format":"int64","type":"integer"},"recycleBinRetentionPeriod":{"description":"Retention period for deleted nodes in days\n(Integer between 0 and 9999)","format":"int32","type":"integer"},"size":{"description":"Room size","format":"int64","type":"integer"},"type":{"description":"Node type","enum":["room"],"type":"string"},"updatedAt":{"description":"Modification date\ne.g. 2015-12-31T23:59:00","format":"date-time","type":"string"},"updatedBy":{"$ref":"#/components/schemas/UserInfo"}},"required":["hasRecycleBin","id","isEncrypted","isGranted","name","recycleBinRetentionPeriod"],"type":"object"},"RoomGroup":{"properties":{"id":{"description":"Unique identifier for the group","format":"int64","type":"integer"},"isGranted":{"description":"Is user granted room permissions","example":false,"type":"boolean"},"name":{"description":"Group name","type":"string"},"newGroupMemberAcceptance":{"description":"Behaviour when new users are added to the group:\n* autoallow\n* pending\n\nOnly relevant if 'adminGroupIds' has items.\n(default: autoallow)","type":"string"},"permissions":{"$ref":"#/components/schemas/NodePermissions"}},"required":["id","isGranted","name"],"type":"object"},"RoomGroupList":{"properties":{"items":{"description":"List of room-group mappings","items":{"$ref":"#/components/schemas/RoomGroup"},"type":"array"},"range":{"$ref":"#/components/schemas/Range"}},"required":["items","range"],"type":"object"},"RoomGroupsAddBatchRequest":{"properties":{"items":{"description":"List of room-group mappings","items":{"$ref":"#/components/schemas/RoomGroupsAddBatchRequestItem"},"type":"array"}},"required":["items"],"type":"object"},"RoomGroupsAddBatchRequestItem":{"properties":{"id":{"description":"Unique identifier for the group","format":"int64","type":"integer"},"newGroupMemberAcceptance":{"description":"Behaviour when new users are added to the group:\n* autoallow\n* pending\n\nOnly relevant if 'adminGroupIds' has items.\n(default: autoallow)","type":"string"},"permissions":{"$ref":"#/components/schemas/NodePermissions"}},"required":["id","permissions"],"type":"object"},"RoomGroupsDeleteBatchRequest":{"properties":{"ids":{"description":"List of group IDs","items":{"format":"int64","type":"integer"},"type":"array"}},"required":["ids"],"type":"object"},"RoomTreeDataList":{"properties":{"items":{"description":"List of room data information","items":{"$ref":"#/components/schemas/RoomData"},"type":"array"},"range":{"$ref":"#/components/schemas/Range"}},"required":["items","range"],"type":"object"},"RoomUser":{"properties":{"displayName":{"description":"Display name","type":"string"},"email":{"description":"DEPRECATED: Email","type":"string"},"id":{"description":"Unique identifier for the user","format":"int64","type":"integer"},"isGranted":{"description":"Is user granted room permissions","example":false,"type":"boolean"},"login":{"description":"User login name","type":"string"},"permissions":{"$ref":"#/components/schemas/NodePermissions"},"publicKeyContainer":{"$ref":"#/components/schemas/PublicKeyContainer"}},"required":["displayName","email","id","isGranted","login"],"type":"object"},"RoomUserList":{"properties":{"items":{"description":"List of room-user mappings","items":{"$ref":"#/components/schemas/RoomUser"},"type":"array"},"range":{"$ref":"#/components/schemas/Range"}},"required":["items","range"],"type":"object"},"RoomUsersAddBatchRequest":{"properties":{"items":{"description":"List of room-user mappings","items":{"$ref":"#/components/schemas/RoomUsersAddBatchRequestItem"},"type":"array"}},"required":["items"],"type":"object"},"RoomUsersAddBatchRequestItem":{"properties":{"id":{"description":"Unique identifier for the user","format":"int64","type":"integer"},"permissions":{"$ref":"#/components/schemas/NodePermissions"}},"required":["id","permissions"],"type":"object"},"RoomUsersDeleteBatchRequest":{"properties":{"ids":{"description":"List of user IDs","items":{"format":"int64","type":"integer"},"type":"array"}},"required":["ids"],"type":"object"},"S3Config":{"properties":{"accessKey":{"description":"Access key","type":"string"},"bucketName":{"description":"S3 bucket name","type":"string"},"endpointUrl":{"description":"S3 object storage endpoint URL","type":"string"},"id":{"description":"ID","format":"int32","type":"integer"},"region":{"description":"S3 region","type":"string"},"secretKey":{"description":"Secret to key","type":"string"}},"required":["accessKey","bucketName","endpointUrl","id","secretKey"],"type":"object"},"S3ConfigCreateRequest":{"properties":{"accessKey":{"description":"Access key","type":"string"},"bucketName":{"description":"S3 bucket name","type":"string"},"endpointUrl":{"description":"S3 object storage endpoint URL","type":"string"},"region":{"description":"S3 region","type":"string"},"secretKey":{"description":"Secret to key","type":"string"}},"required":["accessKey","bucketName","endpointUrl","secretKey"],"type":"object"},"S3ConfigUpdateRequest":{"properties":{"accessKey":{"description":"Access key","type":"string"},"bucketName":{"description":"S3 bucket name","type":"string"},"endpointUrl":{"description":"S3 object storage endpoint URL","type":"string"},"region":{"description":"S3 region","type":"string"},"secretKey":{"description":"Secret to key","type":"string"}},"type":"object"},"SdsServerTime":{"properties":{"time":{"description":"DRACOON server time","format":"date-time","type":"string"}},"type":"object"},"SoftwareVersionData":{"properties":{"buildDate":{"description":"Build date\ne.g. 2015-12-31T23:59:00","format":"date-time","type":"string"},"restApiVersion":{"description":"REST API version\ne.g. 4.4.0","type":"string"},"scmRevisionNumber":{"description":"Revision number e.g. 27575","type":"string"},"sdsServerVersion":{"description":"DRACOON server version\ne.g. 4.4.0","type":"string"}},"required":["buildDate","restApiVersion","scmRevisionNumber","sdsServerVersion"],"type":"object"},"SyslogEvent":{"properties":{"attribute1":{"description":"Attribute 1","type":"string"},"attribute2":{"description":"Attribute 2","type":"string"},"attribute3":{"description":"Attribute 3","type":"string"},"authParentSource":{"description":"Auth parent source ID","type":"string"},"authParentTarget":{"description":"Auth parent target ID","type":"string"},"customerId":{"description":"Unique identifier for the customer","format":"int64","type":"integer"},"id":{"description":"Event ID","format":"int64","type":"integer"},"message":{"description":"Event description","type":"string"},"objectId1":{"description":"Object ID 1","format":"int64","type":"integer"},"objectId2":{"description":"Object ID 2","format":"int64","type":"integer"},"objectName1":{"description":"Object name 1","type":"string"},"objectName2":{"description":"Object type 2","type":"string"},"objectType1":{"description":"Object type 1","format":"int32","type":"integer"},"objectType2":{"description":"Object type 2","format":"int32","type":"integer"},"operationId":{"description":"Operation type ID","format":"int32","type":"integer"},"operationName":{"description":"Operation name","type":"string"},"status":{"description":"Operation status:\n* 0 - Success\n* 2 - Error","format":"int32","type":"integer"},"time":{"description":"Event timestamp\ne.g. 2015-12-31T23:59:00","format":"date-time","type":"string"},"userClient":{"description":"Client","type":"string"},"userId":{"description":"Unique identifier for the user","format":"int64","type":"integer"},"userIp":{"description":"User IP","type":"string"},"userName":{"description":"User name","type":"string"}},"required":["id","message","time","userId"],"type":"object"},"SyslogEventList":{"properties":{"items":{"description":"List of log events","items":{"$ref":"#/components/schemas/SyslogEvent"},"type":"array"},"range":{"$ref":"#/components/schemas/Range"}},"required":["items","range"],"type":"object"},"SystemInfo":{"properties":{"authMethods":{"description":"Authentication methods","items":{"$ref":"#/components/schemas/AuthMethod"},"type":"array"},"defaultLanguage":{"description":"System default language\ncf. [RFC 5646](https://tools.ietf.org/html/rfc5646)","type":"string"}},"required":["authMethods","defaultLanguage"],"type":"object"},"TestActiveDirectoryConfigRequest":{"properties":{"ldapUsersDomain":{"description":"Search scope of Active Directory; only users below this node can log on.","type":"string"},"serverAdminName":{"description":"Distinguished Name (DN) of Active Directory administrative account","type":"string"},"serverAdminPassword":{"description":"Password of Active Directory administrative account","type":"string"},"serverIp":{"description":"IPv4 or IPv6 address or host name","type":"string"},"serverPort":{"description":"Port","format":"int32","type":"integer"},"sslFingerPrint":{"description":"SSL finger print of Active Directory server.\nMandatory for LDAPS connections.\nFormat: Algorithm/Fingerprint","type":"string"},"useLdaps":{"description":"Determines whether LDAPS should be used instead of plain LDAP.","example":false,"type":"boolean"}},"required":["ldapUsersDomain","serverAdminName","serverAdminPassword","serverIp","serverPort","useLdaps"],"type":"object"},"TestActiveDirectoryConfigResponse":{"properties":{"ldapUsersDomain":{"description":"Search scope of Active Directory; only users below this node can log on.","type":"string"},"serverAdminName":{"description":"Distinguished Name (DN) of Active Directory administrative account","type":"string"},"serverAdminPassword":{"description":"Password of Active Directory administrative account","type":"string"},"serverIp":{"description":"IPv4 or IPv6 address or host name","type":"string"},"serverPort":{"description":"Port","format":"int32","type":"integer"},"sslFingerPrint":{"description":"SSL finger print of Active Directory server.\nMandatory for LDAPS connections.\nFormat: Algorithm/Fingerprint","type":"string"},"useLdaps":{"description":"Determines whether LDAPS should be used instead of plain LDAP.","example":false,"type":"boolean"}},"required":["ldapUsersDomain","serverAdminName","serverAdminPassword","serverIp","serverPort","useLdaps"],"type":"object"},"UpdateActiveDirectoryConfigRequest":{"properties":{"adExportGroup":{"description":"If 'ad_userimport' is set to true,\nthe user must be member of this Active Directory group to receive a newly created DRACOON account.","type":"string"},"alias":{"description":"Alias name","type":"string"},"createHomeFolder":{"description":"Determines whether a room is created for each user that is created by automatic import (like a home folder).\nRoom's name will equal the user's login name.","example":false,"type":"boolean"},"homeFolderParent":{"description":"ID of the room in which the individual rooms for users will be created.\ncf. 'ad_create_home_folder_on'","format":"int64","type":"integer"},"ldapUsersDomain":{"description":"Search scope of Active Directory; only users below this node can log on.","type":"string"},"sdsImportGroup":{"description":"User group that is assigned to users who are created by automatic import.","format":"int64","type":"integer"},"serverAdminName":{"description":"Distinguished Name (DN) of Active Directory administrative account","type":"string"},"serverAdminPassword":{"description":"Password of Active Directory administrative account","type":"string"},"serverIp":{"description":"IPv4 or IPv6 address or host name","type":"string"},"serverPort":{"description":"Port","format":"int32","type":"integer"},"sslFingerPrint":{"description":"SSL finger print of Active Directory server.\nMandatory for LDAPS connections.\nFormat: Algorithm/Fingerprint","type":"string"},"useLdaps":{"description":"Determines whether LDAPS should be used instead of plain LDAP.","example":false,"type":"boolean"},"userFilter":{"description":"Name of Active Directory attribute that is used as login name.","type":"string"},"userImport":{"description":"Determines if an DRACOON account is automatically created for a new user\nwho successfully logs on with his/her AD account.","example":false,"type":"boolean"}},"type":"object"},"UpdateCustomerRequest":{"properties":{"companyName":{"description":"Company name","type":"string"},"customerContractType":{"description":"Customer type","enum":["free","demo","pay"],"type":"string"},"lockStatus":{"description":"Lock status:\n* false - unlocked\n* true - locked\n\nAll users of this customer will be blocked and can not login anymore.","example":false,"type":"boolean"},"providerCustomerId":{"description":"Provider customer ID value (relevant only for type 'pay')","type":"string"},"quotaMax":{"description":"Maximal disc space which can be allocated by customer in bytes.","format":"int64","type":"integer"},"userMax":{"description":"Maximal number of users","format":"int32","type":"integer"}},"type":"object"},"UpdateCustomerResponse":{"properties":{"activationCode":{"description":"Customer activation code string:\n* valid only for types 'free' and 'demo'\n* for 'pay' customers it is empty","type":"string"},"companyName":{"description":"Company name","type":"string"},"createdAt":{"description":"Creation date\ne.g. 2015-12-31T23:59:00","format":"date-time","type":"string"},"customerAttributes":{"$ref":"#/components/schemas/CustomerAttributes"},"customerContractType":{"description":"Customer type","enum":["free","demo","pay"],"type":"string"},"id":{"description":"Unique identifier for the customer","format":"int64","type":"integer"},"lockStatus":{"description":"Lock status:\n* false - unlocked\n* true - locked\n\nAll users of this customer will be blocked and can not login anymore.","example":false,"type":"boolean"},"providerCustomerId":{"description":"Provider customer ID value (relevant only for type 'pay')","type":"string"},"quotaMax":{"description":"Maximal disc space which can be allocated by customer in bytes.","format":"int64","type":"integer"},"trialDays":{"description":"Number of days left for trial period (relevant only for type demo)","format":"int32","type":"integer"},"userMax":{"description":"Maximal number of users","format":"int32","type":"integer"}},"required":["companyName","customerContractType","id","lockStatus","quotaMax","userMax"],"type":"object"},"UpdateFileRequest":{"properties":{"classification":{"description":"Expiration date/time","format":"int32","type":"integer"},"expiration":{"$ref":"#/components/schemas/ObjectExpiration"},"name":{"description":"File name","type":"string"},"notes":{"description":"User notes\nUse empty string to remove.","type":"string"}},"type":"object"},"UpdateFolderRequest":{"properties":{"name":{"description":"Folder name","type":"string"},"notes":{"description":"User notes\nUse empty string to remove.","type":"string"}},"type":"object"},"UpdateGroupRequest":{"properties":{"expiration":{"$ref":"#/components/schemas/ObjectExpiration"},"name":{"description":"Group name","type":"string"}},"type":"object"},"UpdateOAuthClientRequest":{"properties":{"accessTokenValidity":{"description":"Validity of the access token in seconds.","format":"int32","type":"integer"},"clientSecret":{"description":"Secret, which uses the client for authentication.","type":"string"},"grantTypes":{"description":"Authorized grant types\ncf. [RFC 6749](https://tools.ietf.org/html/rfc6749)","items":{"type":"string"},"type":"array"},"redirectUris":{"description":"URIs, to which a user is redirected after authorization.","items":{"type":"string"},"type":"array"},"redirectUrl":{"description":"DEPRECATED: URL, to which a user is redirected after authorization.","type":"string"},"refreshTokenValidity":{"description":"Validity of the refresh token in seconds.","format":"int32","type":"integer"}},"type":"object"},"UpdateOpenIdIdpConfigRequest":{"properties":{"authorizationEndPointUrl":{"description":"URL of the authorization endpoint","type":"string"},"clientId":{"description":"ID of the OAuth client","type":"string"},"clientSecret":{"description":"Secret, which uses the client for authentication.","type":"string"},"fallbackMappingClaim":{"description":"Name of the claim which is used for the user mapping fallback.\ne.g. 'sub'","type":"string"},"issuer":{"description":"Issuer identifier of the IDP\nThe value is a case sensitive URL.","type":"string"},"jwksEndPointUrl":{"description":"URL of the JWKS endpoint","type":"string"},"mappingClaim":{"description":"Name of the claim which is used for the user mapping.\ne.g. 'email'","type":"string"},"name":{"description":"Name of the IDP","type":"string"},"pkceChallengeMethod":{"description":"PKCE code challenge method.\ncf. [RFC 7636](https://tools.ietf.org/html/rfc7636)","type":"string"},"pkceEnabled":{"description":"Determines whether PKCE is enabled.\ncf. [RFC 7636](https://tools.ietf.org/html/rfc7636)","example":false,"type":"boolean"},"redirectUris":{"description":"URIs, to which a user is redirected after authorization.","items":{"type":"string"},"type":"array"},"scopes":{"description":"List of requested scopes\nUsually 'openid' and the names of the requested claims.","items":{"type":"string"},"type":"array"},"tokenEndPointUrl":{"description":"URL of the token endpoint","type":"string"},"userInfoEndPointUrl":{"description":"URL of the user info endpoint","type":"string"},"userUpdateEnabled":{"description":"Determines if the user metadata is updated with data from the IDP.\nThe scope 'profile' is needed for the update.\nIf this scope is not granted, only the email address is updated.","example":false,"type":"boolean"}},"type":"object"},"UpdateRoomRequest":{"properties":{"name":{"description":"Name","type":"string"},"notes":{"description":"User notes\nUse empty string to remove.","type":"string"},"quota":{"description":"Quota in byte","format":"int64","type":"integer"}},"type":"object"},"UpdateUserAccountRequest":{"properties":{"acceptEULA":{"description":"Accept EULA\nPresent, if EULA is system global active.\ncf. `GET config/settings` - 'eula_active'\nIf accepted can not be undone.","example":false,"type":"boolean"},"email":{"description":"DEPRECATED: Email","type":"string"},"firstName":{"description":"User first name","type":"string"},"gender":{"description":"Gender","enum":["m","f","n"],"type":"string"},"lastName":{"description":"User last name","type":"string"},"login":{"description":"User login name","type":"string"},"title":{"description":"Job title","type":"string"}},"type":"object"},"UpdateUserRequest":{"properties":{"authMethods":{"description":"Authentication methods","items":{"$ref":"#/components/schemas/UserAuthMethod"},"type":"array"},"email":{"description":"DEPRECATED: Email","type":"string"},"expiration":{"$ref":"#/components/schemas/ObjectExpiration"},"firstName":{"description":"User first name","type":"string"},"gender":{"description":"Gender","enum":["m","f","n"],"type":"string"},"lastName":{"description":"User last name","type":"string"},"lockStatus":{"description":"Lock status:\n* false - unlocked\n* true - locked\n\nAll users of this customer will be blocked and can not login anymore.","format":"int32","type":"integer"},"title":{"description":"Job title","type":"string"}},"type":"object"},"UploadShare":{"properties":{"accessKey":{"description":"Share access key to generate secure link","type":"string"},"cntFiles":{"description":"Total amount of existing files uploaded with this share.","format":"int32","type":"integer"},"cntUploads":{"description":"Total amount of uploads conducted with this share.","format":"int32","type":"integer"},"createdAt":{"description":"Creation date\ne.g. 2015-12-31T23:59:00","format":"date-time","type":"string"},"createdBy":{"$ref":"#/components/schemas/UserInfo"},"dataUrl":{"description":"Upload Share URL","type":"string"},"expireAt":{"description":"Expiration date\ne.g. 2015-12-31T23:59:00","format":"date-time","type":"string"},"filesExpiryPeriod":{"description":"Number of days after which uploaded files expire","format":"int32","type":"integer"},"id":{"description":"Share ID","format":"int64","type":"integer"},"isEncrypted":{"description":"Encryption state","example":false,"type":"boolean"},"isProtected":{"description":"Is share protected by password","example":false,"type":"boolean"},"maxSize":{"description":"DEPRECATED: Maximal total size of uploaded files (in bytes)","format":"int64","type":"integer"},"maxSlots":{"description":"DEPRECATED: Maximal amount of files to upload","format":"int32","type":"integer"},"name":{"description":"Alias name","type":"string"},"notes":{"description":"User notes\nUse empty string to remove.","type":"string"},"notifyCreator":{"description":"Notify creator on every upload.","example":false,"type":"boolean"},"recipients":{"description":"CSV string of recipient emails","type":"string"},"showUploadedFiles":{"description":"Allow display of already uploaded files","example":false,"type":"boolean"},"smsRecipients":{"description":"CSV string of recipient MSISDNS","type":"string"},"targetId":{"description":"Target room or folder ID","format":"int64","type":"integer"},"targetPath":{"description":"Path to shared upload node","type":"string"}},"required":["accessKey","createdAt","createdBy","expireAt","id","isProtected","name","notifyCreator","targetId"],"type":"object"},"UploadShareList":{"properties":{"items":{"description":"List of Upload Shares","items":{"$ref":"#/components/schemas/UploadShare"},"type":"array"},"range":{"$ref":"#/components/schemas/Range"}},"required":["items","range"],"type":"object"},"UserAccount":{"properties":{"authMethods":{"description":"Authentication methods","items":{"$ref":"#/components/schemas/UserAuthMethod"},"type":"array"},"customer":{"$ref":"#/components/schemas/CustomerData"},"email":{"description":"DEPRECATED: Email","type":"string"},"expireAt":{"description":"Expiration date\ne.g. 2015-12-31T23:59:00","format":"date-time","type":"string"},"firstName":{"description":"User first name","type":"string"},"gender":{"description":"Gender","enum":["m","f","n"],"type":"string"},"hasManageableRooms":{"description":"User has manageable rooms","example":false,"type":"boolean"},"id":{"description":"Unique identifier for the user","format":"int64","type":"integer"},"isEncryptionEnabled":{"description":"User has generated private key.\nPossible if **TripleCrypt™ technology** is active for this customer","example":false,"type":"boolean"},"lastLoginFailAt":{"description":"Last failed logon date\ne.g. 2015-12-31T23:59:00","format":"date-time","type":"string"},"lastLoginFailIp":{"description":"Last failed logon IP address","type":"string"},"lastLoginSuccessAt":{"description":"Last successful logon date\ne.g. 2015-12-31T23:59:00","format":"date-time","type":"string"},"lastLoginSuccessIp":{"description":"Last successful logon IP address","type":"string"},"lastName":{"description":"User last name","type":"string"},"lockStatus":{"description":"Lock status:\n* false - unlocked\n* true - locked\n\nAll users of this customer will be blocked and can not login anymore.","format":"int32","type":"integer"},"login":{"description":"User login name","type":"string"},"needsToAcceptEULA":{"description":"User has accepted EULA.\nPresent, if EULA is system global active.\ncf. `GET config/settings` - 'eula_active'","example":false,"type":"boolean"},"needsToChangePassword":{"description":"User has changed the password","example":false,"type":"boolean"},"needsToChangeUserName":{"description":"If true, the user must change the 'userName' at the first login","example":false,"type":"boolean"},"title":{"description":"Job title","type":"string"},"userAttributes":{"$ref":"#/components/schemas/UserAttributes"},"userGroups":{"description":"All groups the user is member of","items":{"$ref":"#/components/schemas/UserGroup"},"type":"array"},"userRoles":{"$ref":"#/components/schemas/RoleList"}},"required":["authMethods","customer","firstName","hasManageableRooms","id","lastName","lockStatus","login","needsToChangePassword","userRoles"],"type":"object"},"UserAttributes":{"properties":{"items":{"description":"List of key-value pairs","items":{"$ref":"#/components/schemas/KeyValueEntry"},"type":"array"}},"type":"object"},"UserAuthMethod":{"properties":{"authId":{"description":"Authentication method ID","type":"string"},"isEnabled":{"description":"Is enabled","example":false,"type":"boolean"},"options":{"description":"Authentication method options","items":{"$ref":"#/components/schemas/KeyValueEntry"},"type":"array"}},"required":["authId","isEnabled"],"type":"object"},"UserData":{"properties":{"authMethods":{"description":"Authentication methods","items":{"$ref":"#/components/schemas/UserAuthMethod"},"type":"array"},"email":{"description":"DEPRECATED: Email","type":"string"},"expireAt":{"description":"Expiration date\ne.g. 2015-12-31T23:59:00","format":"date-time","type":"string"},"firstName":{"description":"User first name","type":"string"},"gender":{"description":"Gender","enum":["m","f","n"],"type":"string"},"hasManageableRooms":{"description":"User has manageable rooms","example":false,"type":"boolean"},"id":{"description":"Unique identifier for the user","format":"int64","type":"integer"},"isEncryptionEnabled":{"description":"User has generated private key.\nPossible if **TripleCrypt™ technology** is active for this customer","example":false,"type":"boolean"},"lastLoginSuccessAt":{"description":"Last successful logon date\ne.g. 2015-12-31T23:59:00","format":"date-time","type":"string"},"lastName":{"description":"User last name","type":"string"},"lockStatus":{"description":"Lock status:\n* false - unlocked\n* true - locked\n\nAll users of this customer will be blocked and can not login anymore.","format":"int32","type":"integer"},"login":{"description":"User login name","type":"string"},"publicKeyContainer":{"$ref":"#/components/schemas/PublicKeyContainer"},"title":{"description":"Job title","type":"string"},"userAttributes":{"$ref":"#/components/schemas/UserAttributes"},"userRoles":{"$ref":"#/components/schemas/RoleList"}},"required":["authMethods","email","firstName","id","lastName","lockStatus","login"],"type":"object"},"UserFileKey":{"properties":{"fileKey":{"$ref":"#/components/schemas/FileKey"},"userId":{"description":"Unique identifier for the user","format":"int64","type":"integer"}},"required":["fileKey","userId"],"type":"object"},"UserFileKeyList":{"properties":{"items":{"description":"List of user file keys","items":{"$ref":"#/components/schemas/UserFileKey"},"type":"array"}},"type":"object"},"UserFileKeySetBatchRequest":{"properties":{"items":{"description":"List of user file keys","items":{"$ref":"#/components/schemas/UserFileKeySetRequest"},"type":"array"}},"required":["items"],"type":"object"},"UserFileKeySetRequest":{"properties":{"fileId":{"description":"File ID","format":"int64","type":"integer"},"fileKey":{"$ref":"#/components/schemas/FileKey"},"userId":{"description":"Unique identifier for the user","format":"int64","type":"integer"}},"required":["fileId","fileKey","userId"],"type":"object"},"UserGroup":{"properties":{"id":{"description":"Unique identifier for the group","format":"int64","type":"integer"},"isMember":{"description":"Is group member","example":false,"type":"boolean"},"name":{"description":"Group name","type":"string"}},"required":["id","isMember","name"],"type":"object"},"UserGroupList":{"properties":{"items":{"description":"List of user-group mappings","items":{"$ref":"#/components/schemas/UserGroup"},"type":"array"},"range":{"$ref":"#/components/schemas/Range"}},"required":["items","range"],"type":"object"},"UserIdFileIdItem":{"properties":{"fileId":{"description":"File ID","format":"int64","type":"integer"},"userId":{"description":"Unique identifier for the user","format":"int64","type":"integer"}},"type":"object"},"UserIds":{"properties":{"ids":{"description":"List of user IDs","items":{"format":"int64","type":"integer"},"type":"array"}},"required":["ids"],"type":"object"},"UserInfo":{"properties":{"displayName":{"description":"Display name","type":"string"},"id":{"description":"Unique identifier for the user","format":"int64","type":"integer"}},"required":["displayName","id"],"type":"object"},"UserItem":{"properties":{"createdAt":{"description":"Creation date\ne.g. 2015-12-31T23:59:00","format":"date-time","type":"string"},"email":{"description":"DEPRECATED: Email","type":"string"},"expireAt":{"description":"Expiration date\ne.g. 2015-12-31T23:59:00","format":"date-time","type":"string"},"firstName":{"description":"User first name","type":"string"},"gender":{"description":"Gender","enum":["m","f","n"],"type":"string"},"hasManageableRooms":{"description":"User has manageable rooms","example":false,"type":"boolean"},"id":{"description":"Unique identifier for the user","format":"int64","type":"integer"},"isEncryptionEnabled":{"description":"User has generated private key.\nPossible if **TripleCrypt™ technology** is active for this customer","example":false,"type":"boolean"},"lastLoginSuccessAt":{"description":"Last successful logon date\ne.g. 2015-12-31T23:59:00","format":"date-time","type":"string"},"lastName":{"description":"User last name","type":"string"},"lockStatus":{"description":"Lock status:\n* false - unlocked\n* true - locked\n\nAll users of this customer will be blocked and can not login anymore.","format":"int32","type":"integer"},"login":{"description":"User login name","type":"string"},"title":{"description":"Job title","type":"string"},"userAttributes":{"$ref":"#/components/schemas/UserAttributes"},"userRoles":{"$ref":"#/components/schemas/RoleList"}},"required":["firstName","hasManageableRooms","id","lastName","lockStatus","login","userRoles"],"type":"object"},"UserKeyPairContainer":{"properties":{"privateKeyContainer":{"$ref":"#/components/schemas/PrivateKeyContainer"},"publicKeyContainer":{"$ref":"#/components/schemas/PublicKeyContainer"}},"required":["privateKeyContainer","publicKeyContainer"],"type":"object"},"UserList":{"properties":{"items":{"description":"List of users","items":{"$ref":"#/components/schemas/UserItem"},"type":"array"},"range":{"$ref":"#/components/schemas/Range"}},"required":["items","range"],"type":"object"},"UserUserPublicKey":{"properties":{"id":{"description":"Unique identifier for the user","format":"int64","type":"integer"},"publicKeyContainer":{"$ref":"#/components/schemas/PublicKeyContainer"}},"type":"object"},"UserUserPublicKeyList":{"properties":{"items":{"description":"List of user public keys","items":{"$ref":"#/components/schemas/UserUserPublicKey"},"type":"array"}},"required":["items"],"type":"object"},"ZipDownloadRequest":{"properties":{"nodeIds":{"description":"List of node IDs","items":{"format":"int64","type":"integer"},"type":"array"}},"required":["nodeIds"],"type":"object"}}}}
\No newline at end of file