DocSecBox (2.7.0)

Download OpenAPI specification:Download

API Documentation
Requires Basic Authentication with User Credentials to fetch a token.
The token is then used to select a tenant.
After a tenant has been selected, the token has access to the other API methods.
Charset: UTF-8

Authentication

Login/Logout and Token procedure

Returns the token and user id based on the provided user credentials.

This returns a not-yet-fully-activated token. You have to select one of the assigned tenants for the user by calling the method GET /select-tenant/{tenantId}. One can fetch a list of assigned tenants by calling the method GET /get-tenants.

Authorizations:
basicAuth

Responses

Response samples

Content type
application/json
{
  • "user_id": 0,
  • "token": "string"
}

Returns the token to call other api methods if the user is authenticated through LANTECH Portal.

Authorizations:
basicAuth

Responses

Response samples

Content type
application/json
{
  • "user_id": 0,
  • "token": "string"
}

This creates a new access token and assigns the user to the defined tenant. This token is already fully activated.

Authorizations:
basicAuth

Responses

Response samples

Content type
application/json
{
  • "user_id": 0,
  • "token": "string",
  • "token_expire": "string"
}

Returns a list of tenants the user is assigned to and can login to.

Call GET /select-tenant afterwards with the tenantId that the user chose.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Activates the token for the given tenant.

Activates the token received in GET /login, if no TFA is needed additionally. This assigns the token to the selected tenant and sets its valid time.

Authorizations:
bearerAuth
path Parameters
tenantId
required
integer

Responses

Response samples

Content type
application/json
{
  • "token_expire": "string",
  • "tfa_needed": true,
  • "tfa_setup": true
}

Deactivates the token and closes the users API session.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "timestamp": "2020-07-23T11:59:59.000+0200",
  • "status": 401,
  • "error": "Unauthorized",
  • "message": "No Message",
  • "path": "/some/path"
}

Requests a tfa key for tfa activation

Requests a tfa key, so that the user is able to activate tfa for the current tenant using the POST /tfa/{tfainput} method. You should convert this key into a qrcode and display it to the user, so that they can scan it with their smartphone

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "tfa_key": "string"
}

Authorizes the login token to be valid, if tfa is required after POST /select-tenant.

Authorizations:
bearerAuth
path Parameters
code
required
string

the tfa code the user entered

Responses

Response samples

Content type
application/json
{
  • "token_expire": "string"
}

Activates tfa for the user

Authorizations:
bearerAuth
path Parameters
code
required
string

the current tfa code for the received key in GET /tfa

Responses

Response samples

Content type
application/json
{
  • "timestamp": "2020-07-23T11:59:59.000+0200",
  • "status": 401,
  • "error": "Unauthorized",
  • "message": "No Message",
  • "path": "/some/path"
}

Deactivates tfa for the user

Authorizations:
bearerAuth
path Parameters
code
required
string

the tfa code the user entered

Responses

Response samples

Content type
application/json
{
  • "timestamp": "2020-07-23T11:59:59.000+0200",
  • "status": 400,
  • "error": "Bad Request",
  • "message": "Some Message",
  • "path": "/some/path"
}

Resets TFA for a user. Needs admin perm

If TFA forcing is enabled for this user, the user will be prompted to set tfa up again on their next login

Authorizations:
bearerAuth
path Parameters
userId
required
integer

the id of the user which tfa key gets reset

Responses

Response samples

Content type
application/json
{
  • "timestamp": "2020-07-23T11:59:59.000+0200",
  • "status": 400,
  • "error": "Bad Request",
  • "message": "Some Message",
  • "path": "/some/path"
}

Resets the expire time for this token, making it last longer. Invoke this, when the user performs an action on the frontend

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "token_expire": "string"
}

Resets the temporary deactivation of a user login for too many unsuccessful login attempts. Needs Admin permission.

Authorizations:
bearerAuth
path Parameters
userId
required
integer

the id of the user which TFA key gets reset

Responses

Response samples

Content type
application/json
{
  • "timestamp": "2020-07-23T11:59:59.000+0200",
  • "status": 401,
  • "error": "Unauthorized",
  • "message": "No Message",
  • "path": "/some/path"
}

Global settings

Settings that apply to every tenant. Contains information like minimum password strength

Gets the global settings object. LANTECH only

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "app_url": "string",
  • "app_name": "string",
  • "app_owner": "string",
  • "welcome_de_text": "string",
  • "welcome_de_subject": "string",
  • "welcome_en_text": "string",
  • "welcome_en_subject": "string",
  • "welcome_fr_text": "string",
  • "welcome_fr_subject": "string",
  • "welcome_pl_text": "string",
  • "welcome_pl_subject": "string",
  • "pw_reset_de_text": "string",
  • "pw_reset_de_subject": "string",
  • "pw_reset_en_text": "string",
  • "pw_reset_en_subject": "string",
  • "pw_reset_fr_text": "string",
  • "pw_reset_fr_subject": "string",
  • "pw_reset_pl_text": "string",
  • "pw_reset_pl_subject": "string",
  • "pw_init_de_text": "string",
  • "pw_init_de_subject": "string",
  • "pw_init_en_text": "string",
  • "pw_init_en_subject": "string",
  • "pw_init_fr_text": "string",
  • "pw_init_fr_subject": "string",
  • "pw_init_pl_text": "string",
  • "pw_init_pl_subject": "string",
  • "pw_min_length": 0,
  • "pw_min_lower_case": 0,
  • "pw_min_upper_case": 0,
  • "pw_min_numbers": 0,
  • "pw_min_special": 0,
  • "pw_link_init_hours": 0,
  • "pw_link_reset_hours": 0,
  • "mail_server": "string",
  • "mail_port": 0,
  • "mail_ssl": true,
  • "mail_starttls": true,
  • "mail_sender": "string",
  • "mail_user": "string",
  • "mail_password": "string"
}

Updates the global settings object. LANTECH ONLY

Authorizations:
bearerAuth
Request Body schema: application/json

Global settings object that needs to be updated, LANTECH only

app_url
string

the URL from where the application is reachable externally

app_name
string

the name of the Application

app_owner
string

the owner of the Application

welcome_de_text
string

the default german welcome mail text that gets set on tenant creation

welcome_de_subject
string

the default german welcome mail subject that gets set on tenant creation

welcome_en_text
string

the default english welcome mail text that gets set on tenant creation

welcome_en_subject
string

the default english welcome mail subject that gets set on tenant creation

welcome_fr_text
string

the default french welcome mail text that gets set on tenant creation

welcome_fr_subject
string

the default french welcome mail subject that gets set on tenant creation

welcome_pl_text
string

the default polish welcome mail text that gets set on tenant creation

welcome_pl_subject
string

the default polish welcome mail subject that gets set on tenant creation

pw_reset_de_text
string

the german password reset mail text that gets send in mails

pw_reset_de_subject
string

the german password reset mail subject that gets send in mails

pw_reset_en_text
string

the english password reset mail text that gets send in mails

pw_reset_en_subject
string

the english password reset mail subject that gets send in mails

pw_reset_fr_text
string

the french password reset mail text that gets send in mails

pw_reset_fr_subject
string

the french password reset mail subject that gets send in mails

pw_reset_pl_text
string

the polish password reset mail text that gets send in mails

pw_reset_pl_subject
string

the polish password reset mail subject that gets send in mails

pw_init_de_text
string

the german password mail text that gets send on the first password set request

pw_init_de_subject
string

the german password mail subject that gets send on the first password set request

pw_init_en_text
string

the english password mail text that gets send on the first password set request

pw_init_en_subject
string

the english password mail subject that gets send on the first password set request

pw_init_fr_text
string

the french password mail text that gets send on the first password set request

pw_init_fr_subject
string

the french password mail subject that gets send on the first password set request

pw_init_pl_text
string

the polish password mail text that gets send on the first password set request

pw_init_pl_subject
string

the polish password mail subject that gets send on the first password set request

pw_min_length
integer

the minimum password requirement for text length

pw_min_lower_case
integer

the minimum password requirement for lowercase letters

pw_min_upper_case
integer

the minimum password requirement for uppercase letters

pw_min_numbers
integer

the minimum password requirement for numbers

pw_min_special
integer

the minimum password requirement for special characters

pw_link_init_hours
integer

the duration in hours where the password tokens are valid for (initial set)

pw_link_reset_hours
integer

the duration in hours where the password tokens are valid for

mail_server
string

mail server address

mail_port
integer

port number of the mail server

mail_ssl
boolean

flag if mail server uses SSL

mail_starttls
boolean

flag if mail server uses StartTLS

mail_sender
string

e-mail address used in the FROM header

mail_user
string

username used to authenticate at the mail server

mail_password
string

password used to authenticate at the mail server

Responses

Request samples

Content type
application/json
{
  • "app_url": "string",
  • "app_name": "string",
  • "app_owner": "string",
  • "welcome_de_text": "string",
  • "welcome_de_subject": "string",
  • "welcome_en_text": "string",
  • "welcome_en_subject": "string",
  • "welcome_fr_text": "string",
  • "welcome_fr_subject": "string",
  • "welcome_pl_text": "string",
  • "welcome_pl_subject": "string",
  • "pw_reset_de_text": "string",
  • "pw_reset_de_subject": "string",
  • "pw_reset_en_text": "string",
  • "pw_reset_en_subject": "string",
  • "pw_reset_fr_text": "string",
  • "pw_reset_fr_subject": "string",
  • "pw_reset_pl_text": "string",
  • "pw_reset_pl_subject": "string",
  • "pw_init_de_text": "string",
  • "pw_init_de_subject": "string",
  • "pw_init_en_text": "string",
  • "pw_init_en_subject": "string",
  • "pw_init_fr_text": "string",
  • "pw_init_fr_subject": "string",
  • "pw_init_pl_text": "string",
  • "pw_init_pl_subject": "string",
  • "pw_min_length": 0,
  • "pw_min_lower_case": 0,
  • "pw_min_upper_case": 0,
  • "pw_min_numbers": 0,
  • "pw_min_special": 0,
  • "pw_link_init_hours": 0,
  • "pw_link_reset_hours": 0,
  • "mail_server": "string",
  • "mail_port": 0,
  • "mail_ssl": true,
  • "mail_starttls": true,
  • "mail_sender": "string",
  • "mail_user": "string",
  • "mail_password": "string"
}

Response samples

Content type
application/json
{
  • "timestamp": "2020-07-23T11:59:59.000+0200",
  • "status": 400,
  • "error": "Bad Request",
  • "message": "Some Message",
  • "path": "/some/path"
}

Gets the public global info object. No authentication needed, since this is for public use.

Responses

Response samples

Content type
application/json
{
  • "app_url": "string",
  • "app_name": "string",
  • "app_owner": "string",
  • "pw_min_length": 0,
  • "pw_min_lower_case": 0,
  • "pw_min_upper_case": 0,
  • "pw_min_numbers": 0,
  • "pw_min_special": 0
}

Password

Methods to reset a user's password or change it

Changes the password for the user

Call this if the user wants to change their password, or if a pw change is required by the authentication procedure. Use the token received in 'login' to authenticate.

Authorizations:
bearerAuth
Request Body schema: application/json

JSON with new password

current_password
string
new_password
string

Responses

Request samples

Content type
application/json
{
  • "current_password": "string",
  • "new_password": "string"
}

Response samples

Content type
application/json
{
  • "timestamp": "2020-07-23T11:59:59.000+0200",
  • "status": 400,
  • "error": "Bad Request",
  • "message": "Some Message",
  • "path": "/some/path"
}

Performs a password change using a recovery token sent by mail

path Parameters
token
required
string

the token of the users recovery mail

Request Body schema: application/json

JSON with the new password

new_password
string

Responses

Request samples

Content type
application/json
{
  • "new_password": "string"
}

Response samples

Content type
application/json
{
  • "timestamp": "2020-07-23T11:59:59.000+0200",
  • "status": 400,
  • "error": "Bad Request",
  • "message": "Some Message",
  • "path": "/some/path"
}

Sends the user a recovery mail, if they forgot their password for example

path Parameters
mail
required
string

the mail of the user

Responses

Response samples

Content type
application/json
{
  • "timestamp": "2020-07-23T11:59:59.000+0200",
  • "status": 403,
  • "error": "Forbidden",
  • "message": "Some Message",
  • "path": "/some/path"
}

Sends the user a recovery mail, and disables the old password. Needs admin perm.

Authorizations:
bearerAuth
path Parameters
userId
required
integer

the user id

Responses

Response samples

Content type
application/json
{
  • "timestamp": "2020-07-23T11:59:59.000+0200",
  • "status": 401,
  • "error": "Unauthorized",
  • "message": "No Message",
  • "path": "/some/path"
}

Tenants

Tenants and their settings

Gets all tenants. LANTECH only.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Gets the current tenant object, needs admin perm

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "tenant_id": 0,
  • "company_name": "string",
  • "locale": "de_DE",
  • "logo": "string",
  • "mail_server": "string",
  • "mail_port": 0,
  • "mail_ssl": true,
  • "mail_starttls": true,
  • "mail_sender": "string",
  • "mail_user": "string",
  • "mail_password": "string",
  • "mail_split_on": 0,
  • "privacy_text": "string",
  • "privacy_text_en": "string",
  • "authority_info": "string",
  • "welcome_text": "string",
  • "welcome_text_subject": "string",
  • "welcome_text_en": "string",
  • "welcome_text_en_subject": "string",
  • "gdpr_info": "string",
  • "gdpr_info_en": "string",
  • "mark_read": true,
  • "token_min_sec": 0,
  • "token_max_sec": 0,
  • "wizard_tenant_check": true,
  • "lock_perm": true,
  • "lock_folder_perm": true,
  • "lock_settings": true,
  • "wizard_mail_perm": true,
  • "wizard_folder_inactive_after_days": 0,
  • "wizard_folder_folder_group": true,
  • "additional_groups": [
    ],
  • "additional_child_folders": [
    ],
  • "additional_child_folders_group": true,
  • "additional_child_folders_labels": true,
  • "api_external_access": true,
  • "api_internal_access": true,
  • "groupadmin_active": true,
  • "groupadmin_user_create": true,
  • "groupadmin_user_edit": true,
  • "groupadmin_user_reset_password": true,
  • "groupadmin_user_reset_tfa": true,
  • "groupadmin_user_reset_attempts": true,
  • "groupadmin_perm_read": true,
  • "groupadmin_perm_download": true,
  • "groupadmin_perm_upload": true,
  • "groupadmin_perm_edit_file": true,
  • "groupadmin_perm_edit_own_file": true,
  • "groupadmin_perm_log": true,
  • "groupadmin_perm_mail": true,
  • "groupadmin_delete_files": true,
  • "file_delete_days": 0,
  • "delete_big_file_after_hours": 0,
  • "sms_send_url": "string",
  • "sms_api_key": "string",
  • "sms_sender_id": "string",
  • "sms_send_type": "string",
  • "sms_file_share_template": "string",
  • "sms_file_share_template_en": "string",
  • "mail_file_share_subject": "string",
  • "mail_file_share_body": "string",
  • "mail_file_share_subject_en": "string",
  • "mail_file_share_body_en": "string",
  • "random_password_min_length": 0
}

Creates a new tenant. LANTECH ONLY

Authorizations:
bearerAuth
Request Body schema: application/json

Tenant object that needs to be added to the database, LANTECH only

company_name
string

name of the tenant

locale
string
Enum: "de_DE" "en_GB" "fr_FR" "pl_PL"

the primary locale of this tenant (e.g. de_DE or en_GB etc.)

logo
string

Base64 data of the logo

mail_server
string

the smtp server hostname

mail_port
integer

the stmp server port

mail_ssl
boolean

ssl enabled in the stmp server

mail_starttls
boolean

starttls enabled in the stmp server

mail_sender
string

sender mail address for various emails

mail_user
string

username for the smtp server

mail_password
string

password for the stmp user

mail_split_on
integer

splitting of multiple emails after x recipients

privacy_text
string

the privacy text of that tenant in its tenant's default language

privacy_text_en
string

the privacy text of that tenant in English

authority_info
string

contact details of the authority

welcome_text
string

html body sent to new users on creation in tenant's default language

welcome_text_subject
string

the subject of the welcome mail

welcome_text_en
string

text sent to new users on creation in English

welcome_text_en_subject
string

the subject of the welcome mail for the secondary locale

gdpr_info
string

the text of the GDPR

gdpr_info_en
string

the text of the GDPR in English

mark_read
boolean

enable to mark whether a file has been read

token_min_sec
integer

minimal seconds the token can be valid (including)

token_max_sec
integer

maximal seconds the token can be valid (including)

wizard_tenant_check
boolean

enable preselection of tenant for additonal folder and group creation in the user wizard menu

lock_perm
boolean

if true only superadmins can change user's permissions

lock_folder_perm
boolean

if true only superadmins can manage folder's permissions

lock_settings
boolean

if true only superadmins can manage tenant's settings

wizard_mail_perm
boolean

if true user's created with the user wizard menu are allowed to send notification mails

wizard_folder_inactive_after_days
integer

amount of days after the folder will be deactivated automatic. value of 0 or lower disables it

wizard_folder_folder_group
boolean

if true, the user wants to create a group for this folder, after saving

additional_groups
Array of integers

the groups that get pre-selected on folder creation

Array of objects

name and array of group ids for the additional folder

additional_child_folders_group
boolean

true if automatically added child folders should have the same groups added as the parent folder on creation

additional_child_folders_labels
boolean

true if automatically added child folders should have the same labels added as the parent folder on creation

api_external_access
boolean

true if access from not local ip addresses is allowed

api_internal_access
boolean

true if acces from local ip addresses is allowed

groupadmin_active
boolean

true if the groupadmin feature should be active

groupadmin_user_create
boolean

true if the groupadmin should be allowed to create users for groups assigned as groupadmin

groupadmin_user_edit
boolean

true if the groupadmin should be allowed to edit users of groups assigned as groupadmin

groupadmin_user_reset_password
boolean

true if the groupadmin should be allowed to reset password for users in groups assigned as groupadmin

groupadmin_user_reset_tfa
boolean

true if the groupadmin should be allowed to reset the TFA login for users in groups assigned as groupadmin

groupadmin_user_reset_attempts
boolean

true if the groupadmin should be allowed to reset the failed login attempts for users in groups assigned as groupadmin

groupadmin_perm_read
boolean

true if the groupadmin should be allowed to set/edit the read permission for users in groups assigned as groupadmin

groupadmin_perm_download
boolean

true if the groupadmin should be allowed to set/edit the download permission for users in groups assigned as groupadmin

groupadmin_perm_upload
boolean

true if the groupadmin should be allowed to set/edit the upload permission for users in groups assigned as groupadmin

groupadmin_perm_edit_file
boolean

true if the groupadmin should be allowed to set/edit the edit permission of other's files for users in groups assigned as groupadmin

groupadmin_perm_edit_own_file
boolean

true if the groupadmin should be allowed to set/edit the edit of user's own files for users in groups assigned as groupadmin

groupadmin_perm_log
boolean

true if the groupadmin should be allowed to set/edit the log permission for users in groups assigned as groupadmin

groupadmin_perm_mail
boolean

true if the groupadmin should be allowed to set/edit the mail/notification permission for users in groups assigned as groupadmin

groupadmin_delete_files
boolean

true if the groupadmin should be allowed to delete files

file_delete_days
integer

preset amount of days (minimal 0) in folder wizard when the uploaded files should be deleted after X days

delete_big_file_after_hours
integer

amount of hours when a big file will be deleted, regardless if it has been accessed

sms_send_url
string

base url for the sms send api call

sms_api_key
string

api key for sending sms

sms_sender_id
string

sms by the sender number or text

sms_send_type
string

type defines whether you send a direct, pro or economy sms

sms_file_share_template
string

sms message sent if a file has been shared

sms_file_share_template_en
string

sms message sent if a file has been shared in the secondary language

mail_file_share_subject
string

mail subject text sent if a file has been shared

mail_file_share_body
string

mail html body text sent if a file has been shared

mail_file_share_subject_en
string

mail subject text sent if a file has been shared in the secondary language

mail_file_share_body_en
string

mail html body text sent if a file has been shared in the secondary language

random_password_min_length
integer

random password length generated, e.g. sms file share code (minimal 1)

Responses

Request samples

Content type
application/json
{
  • "company_name": "string",
  • "locale": "de_DE",
  • "logo": "string",
  • "mail_server": "string",
  • "mail_port": 0,
  • "mail_ssl": true,
  • "mail_starttls": true,
  • "mail_sender": "string",
  • "mail_user": "string",
  • "mail_password": "string",
  • "mail_split_on": 0,
  • "privacy_text": "string",
  • "privacy_text_en": "string",
  • "authority_info": "string",
  • "welcome_text": "string",
  • "welcome_text_subject": "string",
  • "welcome_text_en": "string",
  • "welcome_text_en_subject": "string",
  • "gdpr_info": "string",
  • "gdpr_info_en": "string",
  • "mark_read": true,
  • "token_min_sec": 0,
  • "token_max_sec": 0,
  • "wizard_tenant_check": true,
  • "lock_perm": true,
  • "lock_folder_perm": true,
  • "lock_settings": true,
  • "wizard_mail_perm": true,
  • "wizard_folder_inactive_after_days": 0,
  • "wizard_folder_folder_group": true,
  • "additional_groups": [
    ],
  • "additional_child_folders": [
    ],
  • "additional_child_folders_group": true,
  • "additional_child_folders_labels": true,
  • "api_external_access": true,
  • "api_internal_access": true,
  • "groupadmin_active": true,
  • "groupadmin_user_create": true,
  • "groupadmin_user_edit": true,
  • "groupadmin_user_reset_password": true,
  • "groupadmin_user_reset_tfa": true,
  • "groupadmin_user_reset_attempts": true,
  • "groupadmin_perm_read": true,
  • "groupadmin_perm_download": true,
  • "groupadmin_perm_upload": true,
  • "groupadmin_perm_edit_file": true,
  • "groupadmin_perm_edit_own_file": true,
  • "groupadmin_perm_log": true,
  • "groupadmin_perm_mail": true,
  • "groupadmin_delete_files": true,
  • "file_delete_days": 0,
  • "delete_big_file_after_hours": 0,
  • "sms_send_url": "string",
  • "sms_api_key": "string",
  • "sms_sender_id": "string",
  • "sms_send_type": "string",
  • "sms_file_share_template": "string",
  • "sms_file_share_template_en": "string",
  • "mail_file_share_subject": "string",
  • "mail_file_share_body": "string",
  • "mail_file_share_subject_en": "string",
  • "mail_file_share_body_en": "string",
  • "random_password_min_length": 0
}

Response samples

Content type
application/json
{
  • "tenant_id": 0,
  • "company_name": "string",
  • "locale": "de_DE",
  • "logo": "string",
  • "mail_server": "string",
  • "mail_port": 0,
  • "mail_ssl": true,
  • "mail_starttls": true,
  • "mail_sender": "string",
  • "mail_user": "string",
  • "mail_password": "string",
  • "mail_split_on": 0,
  • "privacy_text": "string",
  • "privacy_text_en": "string",
  • "authority_info": "string",
  • "welcome_text": "string",
  • "welcome_text_subject": "string",
  • "welcome_text_en": "string",
  • "welcome_text_en_subject": "string",
  • "gdpr_info": "string",
  • "gdpr_info_en": "string",
  • "mark_read": true,
  • "token_min_sec": 0,
  • "token_max_sec": 0,
  • "wizard_tenant_check": true,
  • "lock_perm": true,
  • "lock_folder_perm": true,
  • "lock_settings": true,
  • "wizard_mail_perm": true,
  • "wizard_folder_inactive_after_days": 0,
  • "wizard_folder_folder_group": true,
  • "additional_groups": [
    ],
  • "additional_child_folders": [
    ],
  • "additional_child_folders_group": true,
  • "additional_child_folders_labels": true,
  • "api_external_access": true,
  • "api_internal_access": true,
  • "groupadmin_active": true,
  • "groupadmin_user_create": true,
  • "groupadmin_user_edit": true,
  • "groupadmin_user_reset_password": true,
  • "groupadmin_user_reset_tfa": true,
  • "groupadmin_user_reset_attempts": true,
  • "groupadmin_perm_read": true,
  • "groupadmin_perm_download": true,
  • "groupadmin_perm_upload": true,
  • "groupadmin_perm_edit_file": true,
  • "groupadmin_perm_edit_own_file": true,
  • "groupadmin_perm_log": true,
  • "groupadmin_perm_mail": true,
  • "groupadmin_delete_files": true,
  • "file_delete_days": 0,
  • "delete_big_file_after_hours": 0,
  • "sms_send_url": "string",
  • "sms_api_key": "string",
  • "sms_sender_id": "string",
  • "sms_send_type": "string",
  • "sms_file_share_template": "string",
  • "sms_file_share_template_en": "string",
  • "mail_file_share_subject": "string",
  • "mail_file_share_body": "string",
  • "mail_file_share_subject_en": "string",
  • "mail_file_share_body_en": "string",
  • "random_password_min_length": 0
}

Updates the current tenant object

User needs admin perm. Depending on the app settings, superadmin perm is needed.

Authorizations:
bearerAuth
Request Body schema: application/json

Tenant object that needs to be updated

company_name
string

name of the tenant

locale
string
Enum: "de_DE" "en_GB" "fr_FR" "pl_PL"

the primary locale of this tenant (e.g. de_DE or en_GB etc.)

logo
string

Base64 data of the logo

mail_server
string

the smtp server hostname

mail_port
integer

the stmp server port

mail_ssl
boolean

ssl enabled in the stmp server

mail_starttls
boolean

starttls enabled in the stmp server

mail_sender
string

sender mail address for various emails

mail_user
string

username for the smtp server

mail_password
string

password for the stmp user

mail_split_on
integer

splitting of multiple emails after x recipients

privacy_text
string

the privacy text of that tenant in its tenant's default language

privacy_text_en
string

the privacy text of that tenant in English

authority_info
string

contact details of the authority

welcome_text
string

html body sent to new users on creation in tenant's default language

welcome_text_subject
string

the subject of the welcome mail

welcome_text_en
string

text sent to new users on creation in English

welcome_text_en_subject
string

the subject of the welcome mail for the secondary locale

gdpr_info
string

the text of the GDPR

gdpr_info_en
string

the text of the GDPR in English

mark_read
boolean

enable to mark whether a file has been read

token_min_sec
integer

minimal seconds the token can be valid (including)

token_max_sec
integer

maximal seconds the token can be valid (including)

wizard_tenant_check
boolean

enable preselection of tenant for additonal folder and group creation in the user wizard menu

lock_perm
boolean

if true only superadmins can change user's permissions

lock_folder_perm
boolean

if true only superadmins can manage folder's permissions

lock_settings
boolean

if true only superadmins can manage tenant's settings

wizard_mail_perm
boolean

if true user's created with the user wizard menu are allowed to send notification mails

wizard_folder_inactive_after_days
integer

amount of days after the folder will be deactivated automatic. value of 0 or lower disables it

wizard_folder_folder_group
boolean

if true, the user wants to create a group for this folder, after saving

additional_groups
Array of integers

the groups that get pre-selected on folder creation

Array of objects

name and array of group ids for the additional folder

additional_child_folders_group
boolean

true if automatically added child folders should have the same groups added as the parent folder on creation

additional_child_folders_labels
boolean

true if automatically added child folders should have the same labels added as the parent folder on creation

api_external_access
boolean

true if access from not local ip addresses is allowed

api_internal_access
boolean

true if acces from local ip addresses is allowed

groupadmin_active
boolean

true if the groupadmin feature should be active

groupadmin_user_create
boolean

true if the groupadmin should be allowed to create users for groups assigned as groupadmin

groupadmin_user_edit
boolean

true if the groupadmin should be allowed to edit users of groups assigned as groupadmin

groupadmin_user_reset_password
boolean

true if the groupadmin should be allowed to reset password for users in groups assigned as groupadmin

groupadmin_user_reset_tfa
boolean

true if the groupadmin should be allowed to reset the TFA login for users in groups assigned as groupadmin

groupadmin_user_reset_attempts
boolean

true if the groupadmin should be allowed to reset the failed login attempts for users in groups assigned as groupadmin

groupadmin_perm_read
boolean

true if the groupadmin should be allowed to set/edit the read permission for users in groups assigned as groupadmin

groupadmin_perm_download
boolean

true if the groupadmin should be allowed to set/edit the download permission for users in groups assigned as groupadmin

groupadmin_perm_upload
boolean

true if the groupadmin should be allowed to set/edit the upload permission for users in groups assigned as groupadmin

groupadmin_perm_edit_file
boolean

true if the groupadmin should be allowed to set/edit the edit permission of other's files for users in groups assigned as groupadmin

groupadmin_perm_edit_own_file
boolean

true if the groupadmin should be allowed to set/edit the edit of user's own files for users in groups assigned as groupadmin

groupadmin_perm_log
boolean

true if the groupadmin should be allowed to set/edit the log permission for users in groups assigned as groupadmin

groupadmin_perm_mail
boolean

true if the groupadmin should be allowed to set/edit the mail/notification permission for users in groups assigned as groupadmin

groupadmin_delete_files
boolean

true if the groupadmin should be allowed to delete files

file_delete_days
integer

preset amount of days (minimal 0) in folder wizard when the uploaded files should be deleted after X days

delete_big_file_after_hours
integer

amount of hours when a big file will be deleted, regardless if it has been accessed

sms_send_url
string

base url for the sms send api call

sms_api_key
string

api key for sending sms

sms_sender_id
string

sms by the sender number or text

sms_send_type
string

type defines whether you send a direct, pro or economy sms

sms_file_share_template
string

sms message sent if a file has been shared

sms_file_share_template_en
string

sms message sent if a file has been shared in the secondary language

mail_file_share_subject
string

mail subject text sent if a file has been shared

mail_file_share_body
string

mail html body text sent if a file has been shared

mail_file_share_subject_en
string

mail subject text sent if a file has been shared in the secondary language

mail_file_share_body_en
string

mail html body text sent if a file has been shared in the secondary language

random_password_min_length
integer

random password length generated, e.g. sms file share code (minimal 1)

Responses

Request samples

Content type
application/json
{
  • "company_name": "string",
  • "locale": "de_DE",
  • "logo": "string",
  • "mail_server": "string",
  • "mail_port": 0,
  • "mail_ssl": true,
  • "mail_starttls": true,
  • "mail_sender": "string",
  • "mail_user": "string",
  • "mail_password": "string",
  • "mail_split_on": 0,
  • "privacy_text": "string",
  • "privacy_text_en": "string",
  • "authority_info": "string",
  • "welcome_text": "string",
  • "welcome_text_subject": "string",
  • "welcome_text_en": "string",
  • "welcome_text_en_subject": "string",
  • "gdpr_info": "string",
  • "gdpr_info_en": "string",
  • "mark_read": true,
  • "token_min_sec": 0,
  • "token_max_sec": 0,
  • "wizard_tenant_check": true,
  • "lock_perm": true,
  • "lock_folder_perm": true,
  • "lock_settings": true,
  • "wizard_mail_perm": true,
  • "wizard_folder_inactive_after_days": 0,
  • "wizard_folder_folder_group": true,
  • "additional_groups": [
    ],
  • "additional_child_folders": [
    ],
  • "additional_child_folders_group": true,
  • "additional_child_folders_labels": true,
  • "api_external_access": true,
  • "api_internal_access": true,
  • "groupadmin_active": true,
  • "groupadmin_user_create": true,
  • "groupadmin_user_edit": true,
  • "groupadmin_user_reset_password": true,
  • "groupadmin_user_reset_tfa": true,
  • "groupadmin_user_reset_attempts": true,
  • "groupadmin_perm_read": true,
  • "groupadmin_perm_download": true,
  • "groupadmin_perm_upload": true,
  • "groupadmin_perm_edit_file": true,
  • "groupadmin_perm_edit_own_file": true,
  • "groupadmin_perm_log": true,
  • "groupadmin_perm_mail": true,
  • "groupadmin_delete_files": true,
  • "file_delete_days": 0,
  • "delete_big_file_after_hours": 0,
  • "sms_send_url": "string",
  • "sms_api_key": "string",
  • "sms_sender_id": "string",
  • "sms_send_type": "string",
  • "sms_file_share_template": "string",
  • "sms_file_share_template_en": "string",
  • "mail_file_share_subject": "string",
  • "mail_file_share_body": "string",
  • "mail_file_share_subject_en": "string",
  • "mail_file_share_body_en": "string",
  • "random_password_min_length": 0
}

Response samples

Content type
application/json
{
  • "tenant_id": 0,
  • "company_name": "string",
  • "locale": "de_DE",
  • "logo": "string",
  • "mail_server": "string",
  • "mail_port": 0,
  • "mail_ssl": true,
  • "mail_starttls": true,
  • "mail_sender": "string",
  • "mail_user": "string",
  • "mail_password": "string",
  • "mail_split_on": 0,
  • "privacy_text": "string",
  • "privacy_text_en": "string",
  • "authority_info": "string",
  • "welcome_text": "string",
  • "welcome_text_subject": "string",
  • "welcome_text_en": "string",
  • "welcome_text_en_subject": "string",
  • "gdpr_info": "string",
  • "gdpr_info_en": "string",
  • "mark_read": true,
  • "token_min_sec": 0,
  • "token_max_sec": 0,
  • "wizard_tenant_check": true,
  • "lock_perm": true,
  • "lock_folder_perm": true,
  • "lock_settings": true,
  • "wizard_mail_perm": true,
  • "wizard_folder_inactive_after_days": 0,
  • "wizard_folder_folder_group": true,
  • "additional_groups": [
    ],
  • "additional_child_folders": [
    ],
  • "additional_child_folders_group": true,
  • "additional_child_folders_labels": true,
  • "api_external_access": true,
  • "api_internal_access": true,
  • "groupadmin_active": true,
  • "groupadmin_user_create": true,
  • "groupadmin_user_edit": true,
  • "groupadmin_user_reset_password": true,
  • "groupadmin_user_reset_tfa": true,
  • "groupadmin_user_reset_attempts": true,
  • "groupadmin_perm_read": true,
  • "groupadmin_perm_download": true,
  • "groupadmin_perm_upload": true,
  • "groupadmin_perm_edit_file": true,
  • "groupadmin_perm_edit_own_file": true,
  • "groupadmin_perm_log": true,
  • "groupadmin_perm_mail": true,
  • "groupadmin_delete_files": true,
  • "file_delete_days": 0,
  • "delete_big_file_after_hours": 0,
  • "sms_send_url": "string",
  • "sms_api_key": "string",
  • "sms_sender_id": "string",
  • "sms_send_type": "string",
  • "sms_file_share_template": "string",
  • "sms_file_share_template_en": "string",
  • "mail_file_share_subject": "string",
  • "mail_file_share_body": "string",
  • "mail_file_share_subject_en": "string",
  • "mail_file_share_body_en": "string",
  • "random_password_min_length": 0
}

Gets the current tenant object, needs admin perm

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "tenant_id": 0,
  • "company_name": "string",
  • "locale": "de_DE",
  • "logo": "string",
  • "privacy_text": "string",
  • "privacy_text_en": "string",
  • "gdpr_info": "string",
  • "gdpr_info_en": "string",
  • "mark_read": true,
  • "token_min_sec": 0,
  • "token_max_sec": 0,
  • "wizard_tenant_check": true,
  • "wizard_mail_perm": true,
  • "wizard_folder_inactive_after_days": 0,
  • "additional_groups": [
    ],
  • "additional_child_folders": [
    ],
  • "additional_child_folders_group": true,
  • "groupadmin_active": true,
  • "groupadmin_user_create": true,
  • "groupadmin_user_edit": true,
  • "groupadmin_user_reset_password": true,
  • "groupadmin_user_reset_tfa": true,
  • "groupadmin_user_reset_attempts": true,
  • "groupadmin_perm_read": true,
  • "groupadmin_perm_download": true,
  • "groupadmin_perm_upload": true,
  • "groupadmin_perm_edit_file": true,
  • "groupadmin_perm_edit_own_file": true,
  • "groupadmin_perm_log": true,
  • "groupadmin_perm_mail": true,
  • "groupadmin_delete_files": true,
  • "delete_big_file_after_hours": 0,
  • "valid_sms_settings": true,
  • "license_features": [
    ]
}

Users

Get users, or create / modify a user

Get all users from the current tenant

Returns an array of users inside the current terant. User needs admin permission for the current tenant.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Creates a new user

The API user needs the global permission management to perform this action.
After successful creation, the user will receive an email to set a password

Authorizations:
bearerAuth
query Parameters
welcome
boolean
Default: true

Flag whether a welcome mail should be send to the new user.

Request Body schema: application/json

User object that needs to be added to the database

username
string

the user's login-/username

email
string unique

the user's email

name
string

the user's surname and forename

locale
string
Enum: "de_DE" "en_GB" "fr_FR" "pl_PL"

the language that has been selected on the latest login

darkmode
boolean

use of dark mode in the app

token_sec
integer

amount of seconds the access token is valid. has to be in the range of the currently selected tenant

read_perm
boolean

user is allowed to read/display pdf documents

download_perm
boolean

user is allowed to download files/documents

upload_file_perm
boolean

user is allowed to upload files

edit_file_perm
boolean

user is allowed to edit files uploaded by other users

edit_own_file_perm
boolean

user is allowed to edit own files, meaning uploaded by him-/herself

admin_perm
boolean

user has admin permission

super_admin_perm
boolean

user has super admin permission

log_perm
boolean

user is allowed to see the log of actions on files

mail_perm
boolean

user is allowed to send notifications

tfa_force
boolean

enforce a user to setup and use TFA authentication

description
string

some additional info about the user

mobile_number
string

mobile phone number of the user

deactivated
string

ISO 8601 date of deactivation or null for the chosen tenant

group_ids
Array of integers

the user's group ids.

login_popup_enabled
boolean

displays a popup after each login with logo and text

login_logo
string

login logo as Base64 to display in popup if enabled, can be null

login_text
string

text to display in popup if enabled, may be html formatted

last_folder_id
integer

id of the last folder fetched/selected

Responses

Request samples

Content type
application/json
{
  • "username": "string",
  • "email": "string",
  • "name": "string",
  • "locale": "de_DE",
  • "darkmode": true,
  • "token_sec": 0,
  • "read_perm": true,
  • "download_perm": true,
  • "upload_file_perm": true,
  • "edit_file_perm": true,
  • "edit_own_file_perm": true,
  • "admin_perm": true,
  • "super_admin_perm": true,
  • "log_perm": true,
  • "mail_perm": true,
  • "tfa_force": true,
  • "description": "string",
  • "mobile_number": "string",
  • "deactivated": "string",
  • "group_ids": [
    ],
  • "login_popup_enabled": true,
  • "login_logo": "string",
  • "login_text": "string",
  • "last_folder_id": 0
}

Response samples

Content type
application/json
{
  • "user_id": 0,
  • "username": "string",
  • "email": "string",
  • "name": "string",
  • "locale": "de_DE",
  • "darkmode": true,
  • "token_sec": 0,
  • "read_perm": true,
  • "download_perm": true,
  • "upload_file_perm": true,
  • "edit_file_perm": true,
  • "edit_own_file_perm": true,
  • "admin_perm": true,
  • "super_admin_perm": true,
  • "log_perm": true,
  • "mail_perm": true,
  • "tfa_force": true,
  • "description": "string",
  • "mobile_number": "string",
  • "deactivated": "string",
  • "group_ids": [
    ],
  • "login_popup_enabled": true,
  • "login_logo": "string",
  • "login_text": "string",
  • "last_folder_id": 0
}

Get one user by the given id

Requires management or superadmin global perm

Authorizations:
bearerAuth
path Parameters
userId
required
integer

the id of the user

Responses

Response samples

Content type
application/json
{
  • "user_id": 0,
  • "username": "string",
  • "email": "string",
  • "name": "string",
  • "locale": "de_DE",
  • "darkmode": true,
  • "token_sec": 0,
  • "read_perm": true,
  • "download_perm": true,
  • "upload_file_perm": true,
  • "edit_file_perm": true,
  • "edit_own_file_perm": true,
  • "admin_perm": true,
  • "super_admin_perm": true,
  • "log_perm": true,
  • "mail_perm": true,
  • "tfa_force": true,
  • "description": "string",
  • "mobile_number": "string",
  • "deactivated": "string",
  • "group_ids": [
    ],
  • "login_popup_enabled": true,
  • "login_logo": "string",
  • "login_text": "string",
  • "last_folder_id": 0
}

Updates a specific user

The API user needs the global permission management or superadmin, depending on the app settings, to perform this action

Authorizations:
bearerAuth
path Parameters
userId
required
integer

the id of the user

Request Body schema: application/json

User object hat needs to be updated

username
string

the user's login-/username

email
string unique

the user's email

name
string

the user's surname and forename

locale
string
Enum: "de_DE" "en_GB" "fr_FR" "pl_PL"

the language that has been selected on the latest login

darkmode
boolean

use of dark mode in the app

token_sec
integer

amount of seconds the access token is valid. has to be in the range of the currently selected tenant

read_perm
boolean

user is allowed to read/display pdf documents

download_perm
boolean

user is allowed to download files/documents

upload_file_perm
boolean

user is allowed to upload files

edit_file_perm
boolean

user is allowed to edit files uploaded by other users

edit_own_file_perm
boolean

user is allowed to edit own files, meaning uploaded by him-/herself

admin_perm
boolean

user has admin permission

super_admin_perm
boolean

user has super admin permission

log_perm
boolean

user is allowed to see the log of actions on files

mail_perm
boolean

user is allowed to send notifications

tfa_force
boolean

enforce a user to setup and use TFA authentication

description
string

some additional info about the user

mobile_number
string

mobile phone number of the user

deactivated
string

ISO 8601 date of deactivation or null for the chosen tenant

group_ids
Array of integers

the user's group ids.

login_popup_enabled
boolean

displays a popup after each login with logo and text

login_logo
string

login logo as Base64 to display in popup if enabled, can be null

login_text
string

text to display in popup if enabled, may be html formatted

last_folder_id
integer

id of the last folder fetched/selected

Responses

Request samples

Content type
application/json
{
  • "username": "string",
  • "email": "string",
  • "name": "string",
  • "locale": "de_DE",
  • "darkmode": true,
  • "token_sec": 0,
  • "read_perm": true,
  • "download_perm": true,
  • "upload_file_perm": true,
  • "edit_file_perm": true,
  • "edit_own_file_perm": true,
  • "admin_perm": true,
  • "super_admin_perm": true,
  • "log_perm": true,
  • "mail_perm": true,
  • "tfa_force": true,
  • "description": "string",
  • "mobile_number": "string",
  • "deactivated": "string",
  • "group_ids": [
    ],
  • "login_popup_enabled": true,
  • "login_logo": "string",
  • "login_text": "string",
  • "last_folder_id": 0
}

Response samples

Content type
application/json
{
  • "user_id": 0,
  • "username": "string",
  • "email": "string",
  • "name": "string",
  • "locale": "de_DE",
  • "darkmode": true,
  • "token_sec": 0,
  • "read_perm": true,
  • "download_perm": true,
  • "upload_file_perm": true,
  • "edit_file_perm": true,
  • "edit_own_file_perm": true,
  • "admin_perm": true,
  • "super_admin_perm": true,
  • "log_perm": true,
  • "mail_perm": true,
  • "tfa_force": true,
  • "description": "string",
  • "mobile_number": "string",
  • "deactivated": "string",
  • "group_ids": [
    ],
  • "login_popup_enabled": true,
  • "login_logo": "string",
  • "login_text": "string",
  • "last_folder_id": 0
}

Gets all user ids from a specific group. Needs admin perm

Authorizations:
bearerAuth
path Parameters
groupId
required
integer

the id of the group

Responses

Response samples

Content type
application/json
[
  • 0
]

Gets short user info for all assigned users.

Authorizations:
bearerAuth
path Parameters
fileId
required
integer

the id of the file

Responses

Response samples

Content type
application/json
{
  • "user_id": 0,
  • "name": "string",
  • "username": "string",
  • "email": "string"
}

Gets short user info for all assigned users.

Authorizations:
bearerAuth
path Parameters
folderId
required
integer

the id of the folder

Responses

Response samples

Content type
application/json
[
  • 0
]

Notification after upload

Sends a notification mail to certain users once a user uploads a file in a folder

Gets all notification after upload objects from a user. Needs admin perm

Authorizations:
bearerAuth
path Parameters
userId
required
integer

the id of the user

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Gets all notification after upload objects from a folder. Needs admin perm

Authorizations:
bearerAuth
path Parameters
folderId
required
integer

the id of the folder

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Creates a new notification after upload object or overwrites an existing one. Needs admin perm.

Authorizations:
bearerAuth
Request Body schema: application/json

The notification after upload object to create

user_id
integer

user's id for whom this custom mail after upload is set up

folder_id
integer

folder id for which this custom mail after upload is set up

custom
boolean

true if this custom mail after upload should be used

recipients
Array of integers

list of user ids to whom the notification will be sent provided the user is assigned to the folder where the uploaded file resides

Responses

Request samples

Content type
application/json
{
  • "user_id": 0,
  • "folder_id": 0,
  • "custom": true,
  • "recipients": [
    ]
}

Response samples

Content type
application/json
{
  • "user_id": 0,
  • "folder_id": 0,
  • "custom": true,
  • "recipients": [
    ]
}

Deletes a notification after upload object. Needs admin perm

Authorizations:
bearerAuth
path Parameters
userId
required
integer

the id of the user

folderId
required
integer

the id of the folder

Responses

Response samples

Content type
application/json
{
  • "timestamp": "2020-07-23T11:59:59.000+0200",
  • "status": 400,
  • "error": "Bad Request",
  • "message": "Some Message",
  • "path": "/some/path"
}

Groups

Create or modify a group. A group is used to map users with folders

Gets all groups from the tenant

Returns all group that the tenant has. Needs admin perm

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Creates a new group

Creates a new group. API user needs the global permission "management" or "superadmin" to perform this action

Authorizations:
bearerAuth
Request Body schema: application/json

Group object that needs to be created

name
string

the name of the group

show_check_mark
boolean

if this is set to true, the users inside the group can mark files as "done" in folders, that have checkboxes enabled as well

user_ids
Array of integers

the groups assigned users. this is for write operations only.

folder_ids
Array of integers

the groups assigned folders and subfolders. this is for write operations only.

groupadmin_ids
Array of integers

the users assigned as group admins

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "show_check_mark": true,
  • "user_ids": [
    ],
  • "folder_ids": [
    ],
  • "groupadmin_ids": [
    ]
}

Response samples

Content type
application/json
{
  • "group_id": 0,
  • "name": "string",
  • "show_check_mark": true,
  • "user_ids": [
    ],
  • "folder_ids": [
    ],
  • "groupadmin_ids": [
    ]
}

Get a group by id

Returns a group. If a group with this id is not found, response code 404 will be returned. Can only return group if is user is assigned to that group or has management / superadmin global perm. Returns 401 if not.

Authorizations:
bearerAuth
path Parameters
groupId
required
integer

the id of the group

Responses

Response samples

Content type
application/json
{
  • "group_id": 0,
  • "name": "string",
  • "show_check_mark": true,
  • "user_ids": [
    ],
  • "folder_ids": [
    ],
  • "groupadmin_ids": [
    ]
}

Update an existing group

Updates an existing group. API user needs the global permission "management" or "superadmin" to perform this action

Authorizations:
bearerAuth
path Parameters
groupId
required
integer

the id of the group

Request Body schema: application/json

Updated group object

name
string

the name of the group

show_check_mark
boolean

if this is set to true, the users inside the group can mark files as "done" in folders, that have checkboxes enabled as well

user_ids
Array of integers

the groups assigned users. this is for write operations only.

folder_ids
Array of integers

the groups assigned folders and subfolders. this is for write operations only.

groupadmin_ids
Array of integers

the users assigned as group admins

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "show_check_mark": true,
  • "user_ids": [
    ],
  • "folder_ids": [
    ],
  • "groupadmin_ids": [
    ]
}

Response samples

Content type
application/json
{
  • "group_id": 0,
  • "name": "string",
  • "show_check_mark": true,
  • "user_ids": [
    ],
  • "folder_ids": [
    ],
  • "groupadmin_ids": [
    ]
}

Delete an existing group

Deletes an existing group. API user needs admin perms to perform this action.

Authorizations:
bearerAuth
path Parameters
groupId
required
integer

the id of the group

Responses

Response samples

Content type
application/json
{
  • "timestamp": "2020-07-23T11:59:59.000+0200",
  • "status": 400,
  • "error": "Bad Request",
  • "message": "Some Message",
  • "path": "/some/path"
}

Gets all group ids from a specific user

Needs admin perm.

Authorizations:
bearerAuth
path Parameters
userId
required
integer

the id of the user

Responses

Response samples

Content type
application/json
[
  • 0
]

Gets all groups from a specific folder

Needs admin perm.

Authorizations:
bearerAuth
path Parameters
folderId
required
integer

the id of the folder

Responses

Response samples

Content type
application/json
[
  • 0
]

Groupadmins

Create and modify users for a group by a groupadmin.

Get all folders for user where he is assigned as groupadmin

Authorizations:
bearerAuth
path Parameters
userId
required
integer

the id of the user

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Update a user as a groupadmin

Updates an existing user in the group.

Authorizations:
bearerAuth
path Parameters
userId
required
integer

the id of the user

Request Body schema: application/json

Updated user object

username
string

the user's login-/username

email
string unique

the user's email

name
string

the user's surname and forename

locale
string
Enum: "de_DE" "en_GB" "fr_FR" "pl_PL"

the language that has been selected on the latest login

darkmode
boolean

use of dark mode in the app

token_sec
integer

amount of seconds the access token is valid. has to be in the range of the currently selected tenant

read_perm
boolean

user is allowed to read/display pdf documents

download_perm
boolean

user is allowed to download files/documents

upload_file_perm
boolean

user is allowed to upload files

edit_file_perm
boolean

user is allowed to edit files uploaded by other users

edit_own_file_perm
boolean

user is allowed to edit own files, meaning uploaded by him-/herself

admin_perm
boolean

user has admin permission

super_admin_perm
boolean

user has super admin permission

log_perm
boolean

user is allowed to see the log of actions on files

mail_perm
boolean

user is allowed to send notifications

tfa_force
boolean

enforce a user to setup and use TFA authentication

description
string

some additional info about the user

mobile_number
string

mobile phone number of the user

deactivated
string

ISO 8601 date of deactivation or null for the chosen tenant

group_ids
Array of integers

the user's group ids.

login_popup_enabled
boolean

displays a popup after each login with logo and text

login_logo
string

login logo as Base64 to display in popup if enabled, can be null

login_text
string

text to display in popup if enabled, may be html formatted

last_folder_id
integer

id of the last folder fetched/selected

Responses

Request samples

Content type
application/json
{
  • "username": "string",
  • "email": "string",
  • "name": "string",
  • "locale": "de_DE",
  • "darkmode": true,
  • "token_sec": 0,
  • "read_perm": true,
  • "download_perm": true,
  • "upload_file_perm": true,
  • "edit_file_perm": true,
  • "edit_own_file_perm": true,
  • "admin_perm": true,
  • "super_admin_perm": true,
  • "log_perm": true,
  • "mail_perm": true,
  • "tfa_force": true,
  • "description": "string",
  • "mobile_number": "string",
  • "deactivated": "string",
  • "group_ids": [
    ],
  • "login_popup_enabled": true,
  • "login_logo": "string",
  • "login_text": "string",
  • "last_folder_id": 0
}

Response samples

Content type
application/json
{
  • "user_id": 0,
  • "username": "string",
  • "email": "string",
  • "name": "string",
  • "locale": "de_DE",
  • "darkmode": true,
  • "token_sec": 0,
  • "read_perm": true,
  • "download_perm": true,
  • "upload_file_perm": true,
  • "edit_file_perm": true,
  • "edit_own_file_perm": true,
  • "admin_perm": true,
  • "super_admin_perm": true,
  • "log_perm": true,
  • "mail_perm": true,
  • "tfa_force": true,
  • "description": "string",
  • "mobile_number": "string",
  • "deactivated": "string",
  • "group_ids": [
    ],
  • "login_popup_enabled": true,
  • "login_logo": "string",
  • "login_text": "string",
  • "last_folder_id": 0
}

Create new user for groups where api user is groupadmin

Authorizations:
bearerAuth
query Parameters
welcome
boolean
Default: true

Flag whether a welcome mail should be send to the new user.

Request Body schema: application/json

User object that needs to be added to the database

username
string

the user's login-/username

email
string unique

the user's email

name
string

the user's surname and forename

locale
string
Enum: "de_DE" "en_GB" "fr_FR" "pl_PL"

the language that has been selected on the latest login

darkmode
boolean

use of dark mode in the app

token_sec
integer

amount of seconds the access token is valid. has to be in the range of the currently selected tenant

read_perm
boolean

user is allowed to read/display pdf documents

download_perm
boolean

user is allowed to download files/documents

upload_file_perm
boolean

user is allowed to upload files

edit_file_perm
boolean

user is allowed to edit files uploaded by other users

edit_own_file_perm
boolean

user is allowed to edit own files, meaning uploaded by him-/herself

log_perm
boolean

user is allowed to see the log of actions on files

mail_perm
boolean

user is allowed to send notifications

tfa_force
boolean

enforce a user to setup and use TFA authentication

group_ids
Array of integers

the created user's group ids for of groups where api user is groupadmin

Responses

Request samples

Content type
application/json
{
  • "username": "string",
  • "email": "string",
  • "name": "string",
  • "locale": "de_DE",
  • "darkmode": true,
  • "token_sec": 0,
  • "read_perm": true,
  • "download_perm": true,
  • "upload_file_perm": true,
  • "edit_file_perm": true,
  • "edit_own_file_perm": true,
  • "log_perm": true,
  • "mail_perm": true,
  • "tfa_force": true,
  • "group_ids": [
    ]
}

Response samples

Content type
application/json
{
  • "user_id": 0,
  • "username": "string",
  • "email": "string",
  • "name": "string",
  • "locale": "de_DE",
  • "darkmode": true,
  • "token_sec": 0,
  • "read_perm": true,
  • "download_perm": true,
  • "upload_file_perm": true,
  • "edit_file_perm": true,
  • "edit_own_file_perm": true,
  • "admin_perm": true,
  • "super_admin_perm": true,
  • "log_perm": true,
  • "mail_perm": true,
  • "tfa_force": true,
  • "description": "string",
  • "mobile_number": "string",
  • "deactivated": "string",
  • "group_ids": [
    ],
  • "login_popup_enabled": true,
  • "login_logo": "string",
  • "login_text": "string",
  • "last_folder_id": 0
}

Get the group with id if user is groupadmin for this group

Authorizations:
bearerAuth
path Parameters
groupId
required
integer

the id of the group

Responses

Response samples

Content type
application/json
{
  • "group_id": 0,
  • "name": "string",
  • "show_check_mark": true,
  • "user_ids": [
    ],
  • "folder_ids": [
    ],
  • "groupadmin_ids": [
    ]
}

Get all folders for user where he is assigned as groupadmin

Authorizations:
bearerAuth
path Parameters
groupId
required
integer

the id of the group

Request Body schema: application/json

Changed group object

user_ids
Array of integers

the list of user ids to assign to this group, all previous one will be removed

Responses

Request samples

Content type
application/json
{
  • "user_ids": [
    ]
}

Response samples

Content type
application/json
{
  • "group_id": 0,
  • "name": "string",
  • "show_check_mark": true,
  • "user_ids": [
    ],
  • "folder_ids": [
    ],
  • "groupadmin_ids": [
    ]
}

Reset of user's password by group admin

Authorizations:
bearerAuth
path Parameters
userId
required
integer

the id of the user

Responses

Response samples

Content type
application/json
{
  • "timestamp": "2020-07-23T11:59:59.000+0200",
  • "status": 401,
  • "error": "Unauthorized",
  • "message": "No Message",
  • "path": "/some/path"
}

Reset of user's TFA by group admin

Authorizations:
bearerAuth
path Parameters
userId
required
integer

the id of the user

Responses

Response samples

Content type
application/json
{
  • "timestamp": "2020-07-23T11:59:59.000+0200",
  • "status": 401,
  • "error": "Unauthorized",
  • "message": "No Message",
  • "path": "/some/path"
}

Reset of user's login attempts, b/c the user is maybe locked for a longer period

Authorizations:
bearerAuth
path Parameters
userId
required
integer

the id of the user

Responses

Response samples

Content type
application/json
{
  • "timestamp": "2020-07-23T11:59:59.000+0200",
  • "status": 401,
  • "error": "Unauthorized",
  • "message": "No Message",
  • "path": "/some/path"
}

Get all groups where the user is assigend as group admin

Authorizations:
bearerAuth
path Parameters
userId
required
integer

the id of the user

Responses

Response samples

Content type
application/json
[
  • 0
]

Folders

Create a new (sub-)folder or get folders

Gets all folders for that tenant

Returns all folder if API user has management or superadmin perm. Otherwise only accessable folder will be returned

Authorizations:
bearerAuth
query Parameters
subfolders
boolean
Default: false

true if subfolders should be included in the response body. if this is false, only parent folders will be returned here

all
boolean
Default: false

true if admin user should receive all folders regardless assignment, no effect for other users.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new (sub-)folder

The API user needs the global permission "management" or "superadmin" to perform this action

Authorizations:
bearerAuth
Request Body schema: application/json

Folder object that needs to be created

parent_folder_id
integer or null

id of parent folder. only set if folder is a child folder, otherwise null

name
string

the folders name

full_path_name
string

full path name, each level separated by a slash (/)

show_check_mark
boolean

true if docs inside this folder can be marked as "done" by groups, that have checkboxes enabled as well

inactive_at
string

the date the folder becomes inactive. docs inside inactive folders are invisible. returns null if there is no expiration date set for this folder.

allow_delete_files
string

the date the docs inside this folder can be deleted. returns null if docs inside this folder can be deleted at any time.

auto_delete_files
boolean

if this is set the true, the documents inside this folder get deleted automatically when the allow_delete_files date has been reached.

group_ids
Array of integers

the folders assigned groups. this is for write operations only.

file_delete_files
integer

Defines number of days need to pass since first access to file inside folder to be deleted automatically. A value of 0 disables this auto delete

mail_after_upload_enable
boolean

General mail after upload notification for all users

mail_after_upload_custom
boolean

Whether a custom set of users should be notified or all users assigned to the folder

mail_after_upload_users
Array of integers

Custom set of user ids which should be notified

Responses

Request samples

Content type
application/json
{
  • "parent_folder_id": 0,
  • "name": "string",
  • "full_path_name": "string",
  • "show_check_mark": true,
  • "inactive_at": "2020-07-23T11:59:59.000+0200",
  • "allow_delete_files": "2020-07-23T11:59:59.000+0200",
  • "auto_delete_files": true,
  • "group_ids": [
    ],
  • "file_delete_files": 0,
  • "mail_after_upload_enable": true,
  • "mail_after_upload_custom": true,
  • "mail_after_upload_users": [
    ]
}

Response samples

Content type
application/json
{
  • "folder_id": 0,
  • "parent_folder_id": 0,
  • "name": "string",
  • "full_path_name": "string",
  • "show_check_mark": true,
  • "inactive_at": "2020-07-23T11:59:59.000+0200",
  • "allow_delete_files": "2020-07-23T11:59:59.000+0200",
  • "auto_delete_files": true,
  • "subfolders": [
    ],
  • "file_delete_files": 0,
  • "mail_after_upload_enable": true,
  • "mail_after_upload_custom": true,
  • "mail_after_upload_users": [
    ]
}

Get a specific folder by id

Authorizations:
bearerAuth
path Parameters
folderId
required
integer

the id of the folder

query Parameters
all
boolean
Default: false

true if admin user should receive all folders regardless assignment, no effect for other users.

Responses

Response samples

Content type
application/json
{
  • "folder_id": 0,
  • "parent_folder_id": 0,
  • "name": "string",
  • "full_path_name": "string",
  • "show_check_mark": true,
  • "inactive_at": "2020-07-23T11:59:59.000+0200",
  • "allow_delete_files": "2020-07-23T11:59:59.000+0200",
  • "auto_delete_files": true,
  • "subfolders": [
    ],
  • "file_delete_files": 0,
  • "mail_after_upload_enable": true,
  • "mail_after_upload_custom": true,
  • "mail_after_upload_users": [
    ]
}

Update an exisiting folder

The API user needs the admin or superadmin permissin to perform this action.

Authorizations:
bearerAuth
path Parameters
folderId
required
integer

the id of the folder

Request Body schema: application/json

Folder object hat needs to be updated

parent_folder_id
integer or null

id of parent folder. only set if folder is a child folder, otherwise null

name
string

the folders name

full_path_name
string

full path name, each level separated by a slash (/)

show_check_mark
boolean

true if docs inside this folder can be marked as "done" by groups, that have checkboxes enabled as well

inactive_at
string

the date the folder becomes inactive. docs inside inactive folders are invisible. returns null if there is no expiration date set for this folder.

allow_delete_files
string

the date the docs inside this folder can be deleted. returns null if docs inside this folder can be deleted at any time.

auto_delete_files
boolean

if this is set the true, the documents inside this folder get deleted automatically when the allow_delete_files date has been reached.

group_ids
Array of integers

the folders assigned groups. this is for write operations only.

file_delete_files
integer

Defines number of days need to pass since first access to file inside folder to be deleted automatically. A value of 0 disables this auto delete

mail_after_upload_enable
boolean

General mail after upload notification for all users

mail_after_upload_custom
boolean

Whether a custom set of users should be notified or all users assigned to the folder

mail_after_upload_users
Array of integers

Custom set of user ids which should be notified

Responses

Request samples

Content type
application/json
{
  • "parent_folder_id": 0,
  • "name": "string",
  • "full_path_name": "string",
  • "show_check_mark": true,
  • "inactive_at": "2020-07-23T11:59:59.000+0200",
  • "allow_delete_files": "2020-07-23T11:59:59.000+0200",
  • "auto_delete_files": true,
  • "group_ids": [
    ],
  • "file_delete_files": 0,
  • "mail_after_upload_enable": true,
  • "mail_after_upload_custom": true,
  • "mail_after_upload_users": [
    ]
}

Response samples

Content type
application/json
{
  • "folder_id": 0,
  • "parent_folder_id": 0,
  • "name": "string",
  • "full_path_name": "string",
  • "show_check_mark": true,
  • "inactive_at": "2020-07-23T11:59:59.000+0200",
  • "allow_delete_files": "2020-07-23T11:59:59.000+0200",
  • "auto_delete_files": true,
  • "subfolders": [
    ],
  • "file_delete_files": 0,
  • "mail_after_upload_enable": true,
  • "mail_after_upload_custom": true,
  • "mail_after_upload_users": [
    ]
}

Delete an existing folder

Deletes an existing folder. API user needs admin perms to perform this action.

Authorizations:
bearerAuth
path Parameters
folderId
required
integer

the id of the folder

Responses

Response samples

Content type
application/json
{
  • "timestamp": "2020-07-23T11:59:59.000+0200",
  • "status": 400,
  • "error": "Bad Request",
  • "message": "Some Message",
  • "path": "/some/path"
}

Gets all folder ids from a specific user

Needs admin perm for accessing another user's folders

Authorizations:
bearerAuth
path Parameters
userId
required
integer

the id of the user

Responses

Response samples

Content type
application/json
[
  • 0
]

Gets the users favorised folder ids

Needs admin perm for accessing another user's folders

Authorizations:
bearerAuth
path Parameters
userId
required
integer

the id of the user

Responses

Response samples

Content type
application/json
[
  • 0
]

Gets all folder ids from a specific group

Needs admin perm.

Authorizations:
bearerAuth
path Parameters
groupId
required
integer

the id of the group

Responses

Response samples

Content type
application/json
[
  • 0
]

Files

Upload or get a file

Get all accessable documents by the API user

Returns all documents that the user can access according to the assignments of groups and folders.

Authorizations:
basicAuth
query Parameters
all
boolean
Default: false

true if admin user should receive all files regardless assignment, no effect for other users.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Uploads a new document

Uploads a new document into a (sub-)folder, if the API user has the permission to upload in that specific (sub-)folder.
200 is returned when the upload has 100% finished.
Please check your HTTP timeout settings and consider accessing this asynchronously.
Also note that mails may be sent after uploading a new document, depending on the API user settings and on the app settings.

Authorizations:
bearerAuth
Request Body schema: application/json

Document object that needs to be uploaded

version
string

the document's version

folder_id
integer <integer>

the (sub-)folder that contains this document

title
string

the document's title

description
string

the document's description

filename
string

the document's datatype (file extension)

label_name
string or null

the name of the current file label

label_color
string or null

the hex color of the current file label

file_data
string or null

used for POST and PUT to specify the raw document data and file type. To GET the data from a document, please take a look at /files/{fileId}/read and GET /files/{fileId}/download

allow_download
boolean

true if document can be downloaded

active_date
string

the date that defines when the file should be active and visible to users

inactive_date
string

the date that defines when the file should be inactive and therefore invisible to users

identifier
string

additional identifier for the file

first_access
string or null

first access time read or download after initial upload

delete_after_next_download
boolean

true, if the file should and will be deleted after the next download

internal_note
string or null

additional notes to the file

Responses

Request samples

Content type
application/json
{
  • "version": "string",
  • "folder_id": 0,
  • "title": "string",
  • "description": "string",
  • "filename": "string",
  • "label_name": "string",
  • "label_color": "#FFFFFF",
  • "file_data": "string",
  • "allow_download": true,
  • "active_date": "string",
  • "inactive_date": "string",
  • "identifier": "string",
  • "first_access": "2022-08-01T11:59:59.000+0200",
  • "delete_after_next_download": true,
  • "internal_note": "string"
}

Response samples

Content type
application/json
{
  • "file_id": 0,
  • "version": "string",
  • "folder_id": 0,
  • "folder_inactive_at": "string",
  • "title": "string",
  • "description": "string",
  • "filename": "string",
  • "label_name": "string",
  • "label_color": "#FFFFFF",
  • "size_bytes": 0,
  • "size_mega_bytes": 0,
  • "access_counter": 0,
  • "allow_download": true,
  • "latest_change": "2020-07-23T11:59:59.000+0200",
  • "read_by_user": true,
  • "active_date": "string",
  • "inactive_date": "string",
  • "done_state": {
    },
  • "is_creator": true,
  • "identifier": "string",
  • "first_access": "2022-08-01T11:59:59.000+0200",
  • "is_on_fileserver": true,
  • "delete_after_next_download": true,
  • "internal_note": "string"
}

Gets all inactive files. Needs admin perm.

Authorizations:
basicAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get all file IDs assigned to the folder

Authorizations:
bearerAuth
path Parameters
folderId
required
integer

the id of the folder

Responses

Response samples

Content type
application/json
[
  • 0
]

Get all accessable documents by the API user

Returns all documents that the user can access. Please note that the document data will NOT be send here. Use GET /files/{fileId}/download afterwards to fetch the document data

Authorizations:
bearerAuth
path Parameters
folderId
required
integer

the id of the folder

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Gets a specific document by it's id

Returns a specific document if the API user has the permission to view this document.
Please note that the document data will NOT be send here.
You may use GET /files/{fileId}/download or GET /files/{fileId}/read afterwards to fetch the document data.

Authorizations:
bearerAuth
path Parameters
fileId
required
integer

the id of the file

Responses

Response samples

Content type
application/json
{
  • "file_id": 0,
  • "version": "string",
  • "folder_id": 0,
  • "folder_inactive_at": "string",
  • "title": "string",
  • "description": "string",
  • "filename": "string",
  • "label_name": "string",
  • "label_color": "#FFFFFF",
  • "size_bytes": 0,
  • "size_mega_bytes": 0,
  • "access_counter": 0,
  • "allow_download": true,
  • "latest_change": "2020-07-23T11:59:59.000+0200",
  • "read_by_user": true,
  • "active_date": "string",
  • "inactive_date": "string",
  • "done_state": {
    },
  • "is_creator": true,
  • "identifier": "string",
  • "first_access": "2022-08-01T11:59:59.000+0200",
  • "is_on_fileserver": true,
  • "delete_after_next_download": true,
  • "internal_note": "string"
}

Updates an exisiting document

Updates a document, if the API user has the permission to upload in that (sub-)folder.
Please note that you may ommit file_data, if you just want to update the documents metadata.

Authorizations:
bearerAuth
path Parameters
fileId
required
integer

the id of the folder

Request Body schema: application/json

Document object

version
string

the document's version

folder_id
integer <integer>

the (sub-)folder that contains this document

title
string

the document's title

description
string

the document's description

filename
string

the document's datatype (file extension)

label_name
string or null

the name of the current file label

label_color
string or null

the hex color of the current file label

file_data
string or null

used for POST and PUT to specify the raw document data and file type. To GET the data from a document, please take a look at /files/{fileId}/read and GET /files/{fileId}/download

allow_download
boolean

true if document can be downloaded

active_date
string

the date that defines when the file should be active and visible to users

inactive_date
string

the date that defines when the file should be inactive and therefore invisible to users

identifier
string

additional identifier for the file

first_access
string or null

first access time read or download after initial upload

delete_after_next_download
boolean

true, if the file should and will be deleted after the next download

internal_note
string or null

additional notes to the file

Responses

Request samples

Content type
application/json
{
  • "version": "string",
  • "folder_id": 0,
  • "title": "string",
  • "description": "string",
  • "filename": "string",
  • "label_name": "string",
  • "label_color": "#FFFFFF",
  • "file_data": "string",
  • "allow_download": true,
  • "active_date": "string",
  • "inactive_date": "string",
  • "identifier": "string",
  • "first_access": "2022-08-01T11:59:59.000+0200",
  • "delete_after_next_download": true,
  • "internal_note": "string"
}

Response samples

Content type
application/json
{
  • "file_id": 0,
  • "version": "string",
  • "folder_id": 0,
  • "folder_inactive_at": "string",
  • "title": "string",
  • "description": "string",
  • "filename": "string",
  • "label_name": "string",
  • "label_color": "#FFFFFF",
  • "size_bytes": 0,
  • "size_mega_bytes": 0,
  • "access_counter": 0,
  • "allow_download": true,
  • "latest_change": "2020-07-23T11:59:59.000+0200",
  • "read_by_user": true,
  • "active_date": "string",
  • "inactive_date": "string",
  • "done_state": {
    },
  • "is_creator": true,
  • "identifier": "string",
  • "first_access": "2022-08-01T11:59:59.000+0200",
  • "is_on_fileserver": true,
  • "delete_after_next_download": true,
  • "internal_note": "string"
}

Delete an existing file

Deletes an existing file and its data. API user needs admin perms to perform this action.

Authorizations:
bearerAuth
path Parameters
fileId
required
integer

the id of the file

Responses

Response samples

Content type
application/json
{
  • "timestamp": "2020-07-23T11:59:59.000+0200",
  • "status": 400,
  • "error": "Bad Request",
  • "message": "Some Message",
  • "path": "/some/path"
}

Get the doc data from a document for a 'read' operation. This usually gets used to display a PDF internally.

This method gets used if a user wants to read or show a file in the app itself NOT for download. A read type file log will be created when this API method gets invoked.

Authorizations:
bearerAuth
path Parameters
fileId
required
integer

the id of the folder

Responses

Response samples

Content type
application/json
{
  • "filename": "string",
  • "data": "string"
}

Get the doc data from a document for a 'download' operation. This gets used to download any file.

This method gets used if a user wants to download a file. A download type file log will be created when this API method gets invoked.

Authorizations:
bearerAuth
path Parameters
fileId
required
integer

the id of the folder

Responses

Response samples

Content type
application/json
{
  • "filename": "string",
  • "data": "string"
}

Updates this files done state (checked or unchecked)

Authorizations:
bearerAuth
path Parameters
fileId
required
integer

the id of the file

donestate
required
boolean

the new state (checked = true, unchecked = false) for this file

Responses

Response samples

Content type
application/json
{
  • "timestamp": "2020-07-23T11:59:59.000+0200",
  • "status": 400,
  • "error": "Bad Request",
  • "message": "Some Message",
  • "path": "/some/path"
}

Returns the hash of the current file data in its DECRYPTED form. Admin only.

Authorizations:
bearerAuth
path Parameters
fileId
required
integer

the id of the file

Responses

Response samples

Content type
application/json
{
  • "hash": "string",
  • "latest_change": "2020-07-23T11:59:59.000+0200"
}

Resets the first access for the given file by id

Authorizations:
bearerAuth
path Parameters
fileId
required
integer

the id of the file

Responses

Response samples

Content type
application/json
{
  • "timestamp": "2020-07-23T11:59:59.000+0200",
  • "status": 400,
  • "error": "Bad Request",
  • "message": "Some Message",
  • "path": "/some/path"
}

Shares a file via SMS and E-Mail for users without an account

Authorizations:
bearerAuth
path Parameters
fileId
required
integer

the id of the file

Request Body schema: application/json

File share request

email
string

email to sent the shared file link

number
string

phone number to send the code to access the file

valid_until
string

date time in ISO 8061 until the link is valid

locale_of_tenant
boolean

should the sent text be in the same language as the tenant or secondary

Responses

Request samples

Content type
application/json
{
  • "email": "user@example.com",
  • "number": "+49151123456789",
  • "valid_until": "2022-07-29T11:59:59.000+0200",
  • "locale_of_tenant": true
}

Response samples

Content type
application/json
{
  • "timestamp": "2020-07-23T11:59:59.000+0200",
  • "status": 400,
  • "error": "Bad Request",
  • "message": "Some Message",
  • "path": "/some/path"
}

Set of IDs of all files accessable by the auth user

Authorizations:
bearerAuth
query Parameters
all
boolean

true if should fetch all IDs for an admin auth user

Responses

Response samples

Content type
application/json
[
  • 0
]

Files loaded paging by offset and limit

Authorizations:
bearerAuth
Request Body schema: application/json

Paging IDs with offset and limit

ids
Array of integers unique

IDs apply the paging on

offset
integer
limit
integer
sortDirection
string

Sorting direction: ASC, DESC

sortColumn
string

Sorting column apply on: labelName, identifier, title, latestChange, accessCounter, filename, donestate

Responses

Request samples

Content type
application/json
{
  • "ids": [
    ],
  • "offset": 0,
  • "limit": 0,
  • "sortDirection": "string",
  • "sortColumn": "string"
}

Response samples

Content type
application/json
[
  • {
    }
]

IDs of files unread by the auth user

Responses

Response samples

Content type
application/json
[
  • 0
]

IDs of files prefilted by request

Authorizations:
bearerAuth
Request Body schema: application/json

Paging IDs with offset and limit

search
string

Search keywords

preFilteredIds
Array of integers unique

IDs of some files already prefiltered by another logic

Responses

Request samples

Content type
application/json
{
  • "search": "string",
  • "preFilteredIds": [
    ]
}

Response samples

Content type
application/json
[
  • 0
]

File labels

File labels with name, color and priority

Gets the tenants default file labels as a suggestion for new folders

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Creates a new file label suggestion for the tenant

Authorizations:
bearerAuth
Request Body schema: application/json

The file label suggestion to create

name
string

the name of the file label

color
string

the color assigned to this label

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "color": "string"
}

Response samples

Content type
application/json
{
  • "timestamp": "2020-07-23T11:59:59.000+0200",
  • "status": 400,
  • "error": "Bad Request",
  • "message": "Some Message",
  • "path": "/some/path"
}

Updates a specific file label suggestion for the current tenant (by name)

Authorizations:
bearerAuth
path Parameters
name
required
string

the name of the suggestion to update (URL encoded)

Request Body schema: application/json

The updated file label suggestion

name
string

the name of the file label

color
string

the color assigned to this label

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "color": "string"
}

Response samples

Content type
application/json
{
  • "timestamp": "2020-07-23T11:59:59.000+0200",
  • "status": 400,
  • "error": "Bad Request",
  • "message": "Some Message",
  • "path": "/some/path"
}

Deletes a specific file label suggestion

Authorizations:
bearerAuth
path Parameters
name
required
string

the name of the suggestion to delete (URL encoded)

Responses

Response samples

Content type
application/json
{
  • "timestamp": "2020-07-23T11:59:59.000+0200",
  • "status": 400,
  • "error": "Bad Request",
  • "message": "Some Message",
  • "path": "/some/path"
}

Gets all file labels from a specific folder

Authorizations:
bearerAuth
path Parameters
folderId
required
integer

the id of the folder

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Creates a new file label for the folder

Authorizations:
bearerAuth
path Parameters
folderId
required
integer

the id of the folder

Request Body schema: application/json

The file label to create

name
string

the name of the file label

color
string

the color assigned to this label

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "color": "string"
}

Response samples

Content type
application/json
{
  • "timestamp": "2020-07-23T11:59:59.000+0200",
  • "status": 400,
  • "error": "Bad Request",
  • "message": "Some Message",
  • "path": "/some/path"
}

Updates a new file label from the folder

Authorizations:
bearerAuth
path Parameters
folderId
required
integer

the id of the folder

name
required
string

the name of the label to update

Request Body schema: application/json

The file label to update

name
string

the name of the file label

color
string

the color assigned to this label

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "color": "string"
}

Response samples

Content type
application/json
{
  • "timestamp": "2020-07-23T11:59:59.000+0200",
  • "status": 400,
  • "error": "Bad Request",
  • "message": "Some Message",
  • "path": "/some/path"
}

Deletes a specific file label from the folder

Authorizations:
bearerAuth
path Parameters
folderId
required
integer

the id of the folder

name
required
string

the name of the label to update

Responses

Response samples

Content type
application/json
{
  • "timestamp": "2020-07-23T11:59:59.000+0200",
  • "status": 400,
  • "error": "Bad Request",
  • "message": "Some Message",
  • "path": "/some/path"
}

File reports

Report of file accessed by users

Gets a file report of users who accessed this file.

Needs log permission for the folder where the file is.

Authorizations:
bearerAuth
path Parameters
fileId
required
integer

the id of the file

Responses

Response samples

Content type
application/json
{
  • "filename": "string",
  • "data": "string"
}

Gets a file report of this file shared via SMS and e-mail

Needs log permission for the folder where the file is.

Authorizations:
bearerAuth
path Parameters
fileId
required
integer

the id of the file

Responses

Response samples

Content type
application/json
{
  • "filename": "string",
  • "data": "string"
}

Folder favorites

User folder favorites

Get the users folder favorites. Folders no longer assigned to but still marked as favorite will be omitted.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • 0
]

Marks this folder as favorite for the current user.

Authorizations:
bearerAuth
path Parameters
folderId
required
integer

the id of the folder to mark as favorite

Responses

Response samples

Content type
application/json
{
  • "timestamp": "2020-07-23T11:59:59.000+0200",
  • "status": 400,
  • "error": "Bad Request",
  • "message": "Some Message",
  • "path": "/some/path"
}

Delete a folder favorite

Deletes an existing folder favorite

Authorizations:
bearerAuth
path Parameters
folderId
required
integer

the id of the folder to remove from favorites

Responses

Response samples

Content type
application/json
{
  • "timestamp": "2020-07-23T11:59:59.000+0200",
  • "status": 400,
  • "error": "Bad Request",
  • "message": "Some Message",
  • "path": "/some/path"
}

IDs of files marked as favorite by auth user

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • 0
]

Files from favorite folders fetched by offset and limit

Authorizations:
bearerAuth
query Parameters
offset
integer

offset to fetch the files from favorites

limit
integer

limit of files to fetch

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Mail template

Mail templates for each folder

Gets the default template of the current tenant.

Needs admin permission.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "folder_id": 0,
  • "subject": "string",
  • "subject_en": "string",
  • "body": "string",
  • "body_en": "string",
  • "to_email": "string",
  • "rest_bcc": true
}

Updates the default template of the current tenant.

Needs admin permission.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "folder_id": 0,
  • "subject": "string",
  • "subject_en": "string",
  • "body": "string",
  • "body_en": "string",
  • "to_email": "string",
  • "rest_bcc": true
}

Gets a list of all custom folder templates.

Needs admin permission.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Gets a custom template of the current tenant for a specific folder.

Needs admin permission.

Authorizations:
bearerAuth
path Parameters
folderId
required
integer

the id of the folder favorite

Responses

Response samples

Content type
application/json
{
  • "folder_id": 0,
  • "subject": "string",
  • "subject_en": "string",
  • "body": "string",
  • "body_en": "string",
  • "to_email": "string",
  • "rest_bcc": true
}

Creates a custom template for the current tenant for a specific folder.

There can only be one custom template for a folder. Previous template will be overwritten if already present. Needs admin permission.

Authorizations:
bearerAuth
path Parameters
folderId
required
integer

the id of the folder favorite

Request Body schema: application/json

Mail template for folder.

subject
string

the mails subject for the tenants primary locale

subject_en
string

the mails subject for users, that do not use the tenants primary locale. this should be in english in most cases

body
string

the mails body for the tenants primary locale

body_en
string

the mails body for users, that do not use the tenants primary locale. this should be in english in most cases

to_email
string

the mail templates visible sender address

rest_bcc
boolean

true if every recipient should be added into the mails BCC instead of TO

Responses

Request samples

Content type
application/json
{
  • "subject": "string",
  • "subject_en": "string",
  • "body": "string",
  • "body_en": "string",
  • "to_email": "string",
  • "rest_bcc": true
}

Response samples

Content type
application/json
{
  • "folder_id": 0,
  • "subject": "string",
  • "subject_en": "string",
  • "body": "string",
  • "body_en": "string",
  • "to_email": "string",
  • "rest_bcc": true
}

Deletes a custom template for a specific folder.

Needs admin permission.

Authorizations:
bearerAuth
path Parameters
folderId
required
integer

the id of the folder favorite

Responses

Response samples

Content type
application/json
{
  • "timestamp": "2020-07-23T11:59:59.000+0200",
  • "status": 400,
  • "error": "Bad Request",
  • "message": "Some Message",
  • "path": "/some/path"
}

Gets default template for emergency folder

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "folder_id": 0,
  • "subject": "string",
  • "subject_en": "string",
  • "body": "string",
  • "body_en": "string",
  • "to_email": "string",
  • "rest_bcc": true
}

Update the default template for emergency folder

Authorizations:
bearerAuth
Request Body schema: application/json

Mail template for folder.

subject
string

the mails subject for the tenants primary locale

subject_en
string

the mails subject for users, that do not use the tenants primary locale. this should be in english in most cases

body
string

the mails body for the tenants primary locale

body_en
string

the mails body for users, that do not use the tenants primary locale. this should be in english in most cases

to_email
string

the mail templates visible sender address

rest_bcc
boolean

true if every recipient should be added into the mails BCC instead of TO

Responses

Request samples

Content type
application/json
{
  • "subject": "string",
  • "subject_en": "string",
  • "body": "string",
  • "body_en": "string",
  • "to_email": "string",
  • "rest_bcc": true
}

Response samples

Content type
application/json
{
  • "folder_id": 0,
  • "subject": "string",
  • "subject_en": "string",
  • "body": "string",
  • "body_en": "string",
  • "to_email": "string",
  • "rest_bcc": true
}

Gets custom template for the folder

Authorizations:
bearerAuth
path Parameters
folderId
required
integer

the id of the folder favorite

Responses

Response samples

Content type
application/json
{
  • "folder_id": 0,
  • "subject": "string",
  • "subject_en": "string",
  • "body": "string",
  • "body_en": "string",
  • "to_email": "string",
  • "rest_bcc": true
}

Update the custom template for the folder

Authorizations:
bearerAuth
path Parameters
folderId
required
integer

the id of the folder favorite

Request Body schema: application/json

Mail template for folder.

subject
string

the mails subject for the tenants primary locale

subject_en
string

the mails subject for users, that do not use the tenants primary locale. this should be in english in most cases

body
string

the mails body for the tenants primary locale

body_en
string

the mails body for users, that do not use the tenants primary locale. this should be in english in most cases

to_email
string

the mail templates visible sender address

rest_bcc
boolean

true if every recipient should be added into the mails BCC instead of TO

Responses

Request samples

Content type
application/json
{
  • "subject": "string",
  • "subject_en": "string",
  • "body": "string",
  • "body_en": "string",
  • "to_email": "string",
  • "rest_bcc": true
}

Response samples

Content type
application/json
{
  • "folder_id": 0,
  • "subject": "string",
  • "subject_en": "string",
  • "body": "string",
  • "body_en": "string",
  • "to_email": "string",
  • "rest_bcc": true
}

SMS template

SMS templates for each folder

Get default SMS template for emergency folder

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "folder_id": 0,
  • "message": "string",
  • "message_eng": "string",
  • "type": "string"
}

Update default SMS template for emergency folder

Authorizations:
bearerAuth
Request Body schema: application/json

SMS template

message
string

the SMS message for the tenant's primary locale

message_eng
string

the SMS message for users not using the tenat's primary locale. this should be in english in most cases

Responses

Request samples

Content type
application/json
{
  • "message": "string",
  • "message_eng": "string"
}

Response samples

Content type
application/json
{
  • "folder_id": 0,
  • "message": "string",
  • "message_eng": "string",
  • "type": "string"
}

Get all custom SMS templates for any emergency folder

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get custom SMS template for an emergency folder

Authorizations:
bearerAuth
path Parameters
folderId
required
integer

the id of the folder favorite

Responses

Response samples

Content type
application/json
{
  • "folder_id": 0,
  • "message": "string",
  • "message_eng": "string",
  • "type": "string"
}

Update custom SMS template for an emergency folder

Authorizations:
bearerAuth
path Parameters
folderId
required
integer

the id of the folder favorite

Request Body schema: application/json

SMS template

message
string

the SMS message for the tenant's primary locale

message_eng
string

the SMS message for users not using the tenat's primary locale. this should be in english in most cases

Responses

Request samples

Content type
application/json
{
  • "message": "string",
  • "message_eng": "string"
}

Response samples

Content type
application/json
{
  • "folder_id": 0,
  • "message": "string",
  • "message_eng": "string",
  • "type": "string"
}

Delete custom SMS template for an emergency folder

Authorizations:
bearerAuth
path Parameters
folderId
required
integer

the id of the folder favorite

Responses

Response samples

Content type
application/json
{
  • "timestamp": "2020-07-23T11:59:59.000+0200",
  • "status": 400,
  • "error": "Bad Request",
  • "message": "Some Message",
  • "path": "/some/path"
}

Notifications

Send a notification about a file

Sends a new email notification to certain users

API user needs mail permission to perform this action.
Please note that every user in the user_ids field has to be assigned to this folder in order to view this document.
If one of the users is not assigned to the folder the document is in, 401 will be thrown

Authorizations:
bearerAuth
Request Body schema: application/json

Notification object that needs to be send

file_id
integer <integer>
user_ids
Array of integers <integer> non-empty unique [ items <integer > ]

an array of the user ids that should receive the notification

Responses

Request samples

Content type
application/json
{
  • "file_id": 0,
  • "user_ids": [
    ]
}

Response samples

Content type
application/json
{
  • "file_id": 0,
  • "user_ids": [
    ]
}

Folder Permissions

Check if a user can access a folder or if the user is allowed to do a specific action in a folder

Get the users permission for a specific folder

Query the user permissions for a specific folder. Returns folder permissions if present, otherwise 404.

Authorizations:
bearerAuth
path Parameters
userId
required
integer

the id of the user. API user needs admin permission to query for a different user

folderId
required
integer

the id of the folder to check

Responses

Response samples

Content type
application/json
{
  • "user_id": 0,
  • "folder_id": 0,
  • "active": true,
  • "read": true,
  • "download": true,
  • "upload": true,
  • "edit": true,
  • "edit_own": true,
  • "mail": true,
  • "log": true
}

Create a folder permission object for a specific user or overwrites existing one.

Needs admin permission and depending on the app settings superadmin permission.

Authorizations:
bearerAuth
path Parameters
userId
required
integer

the id of the user.

folderId
required
integer

the id of the folder to check

Request Body schema: application/json

Permissions object

active
boolean

true if this folder permission object is active

read
boolean

true if user can read a doc from this folder

download
boolean

true if user could download a doc from this folder (if it's active and has no downloadlock)

upload
boolean

true if user can upload a document in this folder

edit
boolean

true if user can edit files that have not been uploaded by them

edit_own
boolean

true if user can edit files that have been uploaded by them

mail
boolean

true if user can send notification

log
boolean

true if user can see logs from docs, that the user did not UPLOAD himself

Responses

Request samples

Content type
application/json
{
  • "active": true,
  • "read": true,
  • "download": true,
  • "upload": true,
  • "edit": true,
  • "edit_own": true,
  • "mail": true,
  • "log": true
}

Response samples

Content type
application/json
{
  • "user_id": 0,
  • "folder_id": 0,
  • "active": true,
  • "read": true,
  • "download": true,
  • "upload": true,
  • "edit": true,
  • "edit_own": true,
  • "mail": true,
  • "log": true
}

Deletes a folder permission object for a specific user

Needs admin perm and depending on the app settings superadmin permission.

Authorizations:
bearerAuth
path Parameters
userId
required
integer

the id of the user.

folderId
required
integer

the id of the folder to check

Responses

Response samples

Content type
application/json
{
  • "timestamp": "2020-07-23T11:59:59.000+0200",
  • "status": 400,
  • "error": "Bad Request",
  • "message": "Some Message",
  • "path": "/some/path"
}

Returns all custom folder permissions for a specific user.

Authorizations:
bearerAuth
path Parameters
userId
required
integer

the id of the user. API user needs admin permission to query for a different user

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Returns all custom folder permissions for a specific folder.

Authorizations:
bearerAuth
path Parameters
folderId
required
integer

the id of the folder to check

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Returns the effective permissions for a user for a specific folder.

This is a convenience method that checks if there is a folder permission for this user and if not returns the users global permissions.
Requires admin permission for other user ids.

Authorizations:
bearerAuth
path Parameters
userId
required
integer

the id of the user

folderId
required
integer

the id of the folder

Responses

Response samples

Content type
application/json
{
  • "read": true,
  • "download": true,
  • "upload": true,
  • "edit": true,
  • "edit_own": true,
  • "mail": true,
  • "log": true,
  • "show_checkmark": true
}

Logs

Logs for mails, user logins, user status edit, file log

Gets the app API system logs. LANTECH ONLY.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Creates a new systemlog object. This is used to log an error that has occured.

Authorizations:
bearerAuth
Request Body schema: application/json

The error to log

Array
category
string

the category of the error. the available category strings are pre-defined by LANTECH

action
string

the action name of the error. this could be something like 'mail sending'. the available action strings are pre-defined by LANTECH

stacktrace
string

the complete stacktrace, if available, for that error. if theres no stacktrace, this will be null

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
[
  • {
    }
]

Deletes a systemlog object. LANTECH ONLY.

Authorizations:
bearerAuth
path Parameters
systemlogId
required
integer

the id of the systemlog

Responses

Response samples

Content type
application/json
{
  • "timestamp": "2020-07-23T11:59:59.000+0200",
  • "status": 400,
  • "error": "Bad Request",
  • "message": "Some Message",
  • "path": "/some/path"
}

Gets file logs for a specific file. This contains reads, downloads, edits and creation. Admin or history perm for the file's folder needed.

Authorizations:
bearerAuth
path Parameters
fileId
required
integer

the id of the file

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Gets logs of shared file via SMS for all shared external users of that file

Authorizations:
bearerAuth
path Parameters
fileId
required
integer

the id of the file

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Gets logs of a shared file via SMS only fo the one shared external user

Authorizations:
bearerAuth
path Parameters
fileShareId
required
integer

the id of the file share to one external user

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Gets login/logout logs of all users for a tenant. User needs admin perm.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Gets login/logout logs for a specific user for the current tenant. User needs admin permission.

Authorizations:
bearerAuth
path Parameters
userId
required
integer

the id of the user

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Gets the previous login for the user.

Authorizations:
bearerAuth
path Parameters
userId
required
integer

the id of the user

Responses

Response samples

Content type
application/json
{
  • "user_id": 0,
  • "tenant_id": 0,
  • "app_id": 0,
  • "type": "string",
  • "created": "string"
}

Gets the last login for the user.

Authorizations:
bearerAuth
path Parameters
userId
required
integer

the id of the user

Responses

Response samples

Content type
application/json
{
  • "user_id": 0,
  • "tenant_id": 0,
  • "app_id": 0,
  • "type": "string",
  • "created": "string"
}

Gets logs of successfully sent mails from a tenant. User needs admin permission.

Authorizations:
bearerAuth
query Parameters
all
boolean

LANTECH only. Returns logs for all tenants.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Gets mail error logs from a tenant. User needs admin permission.

Authorizations:
bearerAuth
query Parameters
all
boolean

LANTECH only. Returns logs for all tenants.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Gets file deletion logs from a tenant. User needs admin permission.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Gets user edit logs for a user. LANTECH ONLY.

Authorizations:
bearerAuth
path Parameters
userId
required
integer

the id of the user

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Privacy report

Generate a GDPR report for a specific user

Gets a privacy report for a specific user.

Needs admin permission if query is made for another user other than themself.

Authorizations:
bearerAuth
path Parameters
userId
required
integer

the id of the user

Responses

Response samples

Content type
application/json
{
  • "filename": "string",
  • "data": "string"
}

Test mail

Test methods for sending mails

Sends an email for test purpouse. Needs admin permission.

Authorizations:
bearerAuth
query Parameters
appconfig
boolean

Whether the tenant's or app's config is used to send the email. Default is false.
LANTECH ONLY is allowed to set it true.

Responses

Response samples

Content type
application/json
{
  • "timestamp": "2020-07-23T11:59:59.000+0200",
  • "status": 401,
  • "error": "Unauthorized",
  • "message": "No Message",
  • "path": "/some/path"
}

Setup

Methods to bootstrap the application.

Bootstrap the application.

Only possible if the apllication has been bootstrapped already.
Checking several environment variables for the bootstrap state.
Depending on the environment variable it might be setup into a demo modus.

Request Body schema: text

License

string

Responses

Request samples

Content type
text
ABCDE-12345-KLMNO-67890-PQRST

Response samples

Content type
application/json
{
  • "timestamp": "2020-07-23T11:59:59.000+0200",
  • "status": 403,
  • "error": "Forbidden",
  • "message": "Some Message",
  • "path": "/some/path"
}

License

Methods to verify license and fetch information about license status.

Fetch the current license key for the tenant. Needs admin permission.

Authorizations:
bearerAuth
path Parameters
tenantId
required
integer

the id of the tenant

Responses

Response samples

Content type
text/plain
eyoThis1sAnInv4l1dLic3nseK3y==

Set a license key for the tenant. LANTECH ONLY.

Authorizations:
bearerAuth
path Parameters
tenantId
required
integer

the id of the tenant

Request Body schema: text/plain

License key

string

Responses

Request samples

Content type
text/plain
eyoThis1sAnInv4l1dLic3nseK3y==

Response samples

Content type
application/json
{
  • "timestamp": "2020-07-23T11:59:59.000+0200",
  • "status": 401,
  • "error": "Unauthorized",
  • "message": "No Message",
  • "path": "/some/path"
}

Fetch some information about the license. Needs admin permission.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "license": {
    },
  • "dates": {
    },
  • "points": {
    }
}

List of features ids active for the currently used tenant.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • 0
]

Third party applications

Logic to add and edit third party applications and their user keys

This creates a new access token and assigns the user to the defined tenant. This token is already fully activated.

Authorizations:
basicAuth

Responses

Response samples

Content type
application/json
{
  • "user_id": 0,
  • "token": "string",
  • "token_expire": "string"
}

Fetch all registered third party applications. Needs admin permission.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new application. Needs admin permission.

Authorizations:
bearerAuth
Request Body schema: application/json

App properties

name
string

name of the app

deactivated
string

ISO 8601 date when this application is deactivated or null

user_ids
Array of integers <integer> [ items <integer > ]

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "deactivated": "string",
  • "user_ids": [
    ]
}

Response samples

Content type
application/json
{
  • "app_id": 0,
  • "name": "string",
  • "deactivated": "string",
  • "user_ids": [
    ]
}

Fetch the app entity. Needs admin permission.

Authorizations:
bearerAuth
path Parameters
appId
required
integer

the id of the app

Responses

Response samples

Content type
application/json
{
  • "app_id": 0,
  • "name": "string",
  • "deactivated": "string",
  • "user_ids": [
    ]
}

Update an app and the assigned users. Needs admin permission.

Authorizations:
bearerAuth
path Parameters
appId
required
integer

the id of the app

Request Body schema: application/json

Updated app entity

name
string

name of the app

deactivated
string

ISO 8601 date when this application is deactivated or null

user_ids
Array of integers <integer> [ items <integer > ]

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "deactivated": "string",
  • "user_ids": [
    ]
}

Response samples

Content type
application/json
{
  • "app_id": 0,
  • "name": "string",
  • "deactivated": "string",
  • "user_ids": [
    ]
}

Fetch all app tokens for the authenticated user.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Delete app tokens for the given app by id.

Authorizations:
bearerAuth
path Parameters
appId
required
integer

the id of the app

Responses

Response samples

Content type
application/json
{
  • "timestamp": "2020-07-23T11:59:59.000+0200",
  • "status": 401,
  • "error": "Unauthorized",
  • "message": "No Message",
  • "path": "/some/path"
}

Software update

Methods to check for and perform software updates

Checks whether there are update available. Returns 404 if no update is available. Needs admin for on premise and LANTECH for SaaS.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "installed": {
    },
  • "available": {
    }
}

Starts the download of the files needed for the update. Needs admin for on premise and LANTECH for SaaS.

The HTTP return code is simply returned from the updater.jar/war, so there can be some more HTTP return codes than here listed.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "timestamp": "2020-07-23T11:59:59.000+0200",
  • "status": 401,
  • "error": "Unauthorized",
  • "message": "No Message",
  • "path": "/some/path"
}

Starts the update installation process for the application. This logs out everyone except for the user calling this. Needs admin for on premise and LANTECH for SaaS.

Authorizations:
bearerAuth
Request Body schema: application/json

provide a installation date, null if install right away, see schema description for more info

install_date
string

ISO 8601 date when the installation process should be started. Needs to be in the future. Null to start right away.

Responses

Request samples

Content type
application/json
{
  • "install_date": "string"
}

Response samples

Content type
application/json
{
  • "timestamp": "2020-07-23T11:59:59.000+0200",
  • "status": 401,
  • "error": "Unauthorized",
  • "message": "No Message",
  • "path": "/some/path"
}

Fetch the current status of the update process. Needs admin perm.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "status": "LATEST",
  • "percentage": 0,
  • "planned_date": "string"
}

Test URI

Returns arbitrary HTTP code for the called uri.

query Parameters
uri
required
string

URI to retrieve the HTTP code from.

Responses