{"openapi":"3.0.0","info":{"title":"OX HTTP API","description":"Documentation of the Open-Xchange HTTP API which is used by the new AJAX GUI.\n","contact":{"name":"Open-Xchange GmbH","email":"info@open-xchange.com","url":"https://www.open-xchange.com/"},"version":"7.10.4"},"servers":[{"url":"https://api.example.com/v1"}],"tags":[{"name":"Login","description":"The login module is used to obtain a session from the user's login credentials. To understand the details\nof the different login methods, see the article titled [Login variations](http://oxpedia.org/wiki/index.php?title=Login_variations).\n\nBecause of security reasons each login variation will reject requests containing the parameter\n\"password\" within the URL query. \n"},{"name":"Config","description":"The config module is used to retrieve and set user-specific configuration. The configuration is\nstored in a tree. Each node of the tree has a name and a value. The values of leaf nodes are strings\nwhich store the actual configuration data. The values of inner nodes are defined recursively as\nobjects with one field for each child node. The name and the value of each field is the name and the\nvalue of the corresponding child node, respectively.\n"},{"name":"Folders","description":"The folders module is used to access the OX folder structure.\n\nSpecial system folders:\n\n<table class=simpleTable>\n  <thead>\n    <tr>\n      <th>ID</th>\n      <th>Type</th>\n      <th>Description</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <td>6</td>\n      <td>contacts</td>\n      <td>System Users</td>\n    </tr>\n  </tbody>\n</table>\n"},{"name":"Tasks","description":"The tasks module is used to access task information."},{"name":"Contacts","description":"The contacts module is used to access contact information."},{"name":"Calendar","description":"The calendar module is used to access calendar data."},{"name":"Mail","description":"The mail module is used to access mail data. When mails are stored on an IMAP server, some functionality is not available due to restrictions of the IMAP protocol. Such functionality is marked with \"not IMAP\"."},{"name":"Groups","description":"The group module allows to query available groups. It is mainly used by the dialog for the selection of participants."},{"name":"Resources","description":"The resource module allows to query available resources. It is mainly used by the dialog for the selection of participants."},{"name":"Infostore","description":"The module infostore or filestore or files or drive has been renamed quite often. Whatever its name, it combines the knowledge database, bookmarks and document storage."},{"name":"Attachments","description":"The module attachments allows file attachments to arbitrary objects. An attachment always belongs to an object (called 'attached') in a certain folder of a certain module."},{"name":"Reminder","description":"The reminder module provides the ability to fetch all active reminders for a user between two dates."},{"name":"Multiple","description":"The multiple module allows to bundle multiple requests to most other modules in a single request."},{"name":"Quota","description":"The filestore module allows accessing information about the use and quota of the filestore."},{"name":"Import","description":"The module import allows to import specific module data (like Contacts, Tasks or Appointments) in several formats (iCal, vCard, CSV) into a folder. Please note: The callback for all actions of this bundle is `callback_import`, not `callback_$actionname` for legacy purposes."},{"name":"Export","description":"The module export allows to export specific module data (like contacts, tasks or appointments) from a folder in several formats (iCal, vCard, CSV)."},{"name":"Sync","description":"The module sync delivers several core API extensions to support common operations used in a mobile synchronization environment."},{"name":"Token","description":"The module token delivers several core API extensions to support token based logins."},{"name":"Mailfilter","description":"The mailfilter module is used to access all mail filter related options.\n\nFirst of all the main structure of a mail filter script is, that it has different rules. Each of them contains one command. This command takes a test condition which executes the actions given in that command if the test condition is true.\nThe test condition consists of a test command and some arguments for this command depending on the command itself. Because the available tests depend on the mail filter server, these tests must be determined at runtime. So that no test field is transferred to the server which it isn't able to handle. Examples for tests are `address`, `allof` and `anyof`.\nEach test has a special comparison. The list of available comparisons depends on the test given and the mail filter server configuration so they have to be determined at runtime too. See chapter [Mail filter](#mail-filter) for more information.\n"},{"name":"File","description":"The ajax file upload module offers to store files in server's dedicated download directory for a configurable amount of time. The files are then accessible for further operations like inline images in (html) mails."},{"name":"Image","description":"The image module allows to download images from Open-Xchange server without providing a session ID in request's URL parameters."},{"name":"Conversion","description":"The conversion module is a generic module to request data from a data source and to process obtained/submitted data with a data handler. Thus data is converted from a data source by a data handler."},{"name":"Mailaccount","description":"The mailaccount module is used to manage multiple mail accounts held by a user."},{"name":"MailCompose","description":"The MailCompose REST API."},{"name":"Autoconfig","description":"The module autoconfig can be used to request the best available settings for an appropriate mail server."},{"name":"User","description":"The user module is used to access user information."},{"name":"User/Me","description":"The module user/me is used to access formal information about current user."},{"name":"OAuth","description":"The Open-Xchange server can act as an OAuth client or be an OAuth provider itself. The OAuth module supports both aspects:\n * Manage multiple OAuth accounts for certain online services for a user. The OAuth mechanism allows the Open-Xchange application to act as behalf of this user using previously obtained access tokens granted by user. The according interface is divided into two parts: Account access and service's meta data access.\n * Manage granted accesses of external services that can access a users data on his behalf, called \"grants\".\n"},{"name":"JSlob","description":"The JSlob module is used to store and retrieve arbitrary JSON-structured configuration for a single user."},{"name":"Freebusy","description":"Provides access to free/busy information."},{"name":"Messaging","description":"The messaging module is divided into services which represent a messaging backend (they add a new folder module \"messaging\"),\ninto accounts which represent the concrete configuration of accounts for a given messaging service, and into messages which\nrepresent single messages consisting of some metadata, headers and a content.\n"},{"name":"Snippet"},{"name":"Halo"},{"name":"Capabilities","description":"Provides access to capabilities, i.e. modules or features that are available on the backend and the user has access to."},{"name":"Jump","description":"The jump module is used to pass an acquired identity token for an authenticated user from one system to another for a single sign-on."},{"name":"Find","description":"The find module consists of calls for performing searches within the modules mail, contacts, tasks and drive.\nIt was designed to provide an iterative approach where the search criteria can be refined step-wise until\nthe desired items are found.  The starting point is always an `autocomplete` request, that suggests possible\nsearch filters based on a users input. Those filters are grouped into categories, called \"facets\".\nA facet may provide one or more values with every value being a possible filter. A client is meant to remember\nevery value that was selected by a user and include it within the following `autocomplete` and `query` requests,\nwhile `query` performs the actual search and returns the found items.\n\nSome of the objects returned by the server contain former user input. A client must never interpret strings as HTML\nbut always as plain text to be not vulnerable for CSS attacks!\n"},{"name":"Share/Management","description":"The share/management module can create and manage share links via different actions. Dedicated actions to list all shares of a\nuser can be found in the corresponding modules, like `/folders?action=shares` of module \"folders\" or `/infostore?action=shares`\nof module \"infostore\".\n"},{"name":"Passwordchange","description":"Via the passwordchange module the users can change their password."},{"name":"Filestorage","description":"The file storage module provides access to file storage backends, e.g. Drive, Dropbox, etc."},{"name":"Mail_categories","description":"The module mail_categories allows to manage mail categories."},{"name":"Advertisement","description":"Via the advertisement module the client can retrieve the advertisement configuration"},{"name":"Clientonboarding","description":"Via the client on-boarding module the client can retrieve possible on-boarding configurations"},{"name":"Pns","description":"The interface to add/remove notification subscriptions associated with a token for certain topics"},{"name":"Userfeedback","description":"The user feedback module"},{"name":"RSS Feed","description":"The RSS Feed module"},{"name":"Sessionmanagement","description":"The session management module"},{"name":"Jobqueue","description":"The job queue module"},{"name":"OpenId","description":"This module supports the Single Sign On mechanism known as OpenId and therefore a few requests are needed to initiate an authentication and trigger the end of the session."},{"name":"SAML","description":"Endpoints of the built-in SAML 2.0 service provider. See https://documentation.open-xchange.com/latest/middleware/login/02_saml.html."},{"name":"System","description":"The module for API related to the middelware system"}],"paths":{"/account?action=all":{"get":{"operationId":"getAllAccounts","tags":["Mailaccount"],"summary":"Gets all mail accounts.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamAccountColumns"}],"responses":{"200":{"description":"A JSON object containing an array with data for all mail accounts. Each array element describes one account and\nis itself an array. The elements of each array contain the information specified by the corresponding\nidentifiers in the `columns` parameter. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailAccountsResponse"}}}}}}},"/account?action=delete":{"put":{"operationId":"deleteAccount","tags":["Mailaccount"],"summary":"Deletes a mail account.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A JSON object containing an array with identifiers of deleted accounts. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailAccountDeletionResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"integer"}}}},"description":"A JSON array with the ID of the mail account that shall be deleted.","required":true}}},"/account?action=get":{"get":{"operationId":"getAccount","tags":["Mailaccount"],"summary":"Gets a mail account.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"Account ID of the requested account.","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"An object containing all data of the requested account. In case of errors the\nresponsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailAccountResponse"}}}}}}},"/account?action=new":{"put":{"operationId":"createAccount","tags":["Mailaccount"],"summary":"Creates a new mail account.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A JSON object containing the data of the inserted mail account. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailAccountUpdateResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailAccountData"}}},"description":"A JSON object describing the new account to create.","required":true}}},"/account?action=status":{"get":{"operationId":"statusAccount","tags":["Mailaccount"],"summary":"Gets the status for a mail account.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"The optional account identifier to query the status for a single mail account. If not set the status for all accounts are returned","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"A small JSON response providing the accounts' status information; such as \"ok\" or \"invalid_credentials\"\nIn case of errors the responsible fields in the response are filled\n(see [Error handling](https://documentation.open-xchange.com/latest/middleware/http_api/1_introduction.html#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailAccountStatusResponse"}}}}}}},"/account?action=update":{"put":{"operationId":"updateAccount","tags":["Mailaccount"],"summary":"Updates a mail account.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A JSON object containing the data of the updated mail account. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailAccountUpdateResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailAccountData"}}},"description":"A JSON object identifying (by field `id`) and describing the account to update. Only modified fields are present.","required":true}}},"/account?action=validate":{"put":{"operationId":"validateAccount","tags":["Mailaccount"],"summary":"Validates a mail account which shall be created.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"tree","description":"Indicates whether on successful validation the folder tree shall be returned (or `null`on failure) or\nif set to `false` or missing only a boolean is returned which indicates validation result.\n","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"A JSON object that contains a value representing the validation result (may be a boolean or a folder tree object).\nIf the validation fails then the error fields are filled and an additional `warnings` field might be added.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailAccountValidationResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailAccountData"}}},"description":"A JSON object describing the account to validate.","required":true}}},"/advertisement?action=get":{"get":{"operationId":"getAdvertisementConfig","tags":["Advertisement"],"summary":"Retrieves the advertisement configuration","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"'The configuration as a JSON object or in case of errors the responsible fields in the\nresponse are filled (see [Error handling](#error-handling)).'\n","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/appPasswords?action=add":{"post":{"operationId":"addApplicationPassword","tags":["AppPassword"],"summary":"Adds a new application password to the users account","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A JSON object containing the username and password to use in login.\nIn case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppPasswordRegistrationResponse"}}}}},"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","title":"Application Data","properties":{"appScope":{"description":"The scope name of the application","type":"string"},"appName":{"description":"The user chosen name for the application password","type":"string"}}}}}}}},"/appPasswords?action=getApps":{"get":{"operationId":"getApplications","tags":["AppPassword"],"summary":"Lists the existing application available","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A JSON object containing the list of available applications.\nIn case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppPasswordGetAppsResponse"}}}}}}},"/appPasswords?action=remove":{"post":{"operationId":"removeApplicationPassword","tags":["AppPassword"],"summary":"Removes an application password","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A JSON object containing the result, which should be OK, otherwise error.\nIn case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppPasswordRemovalResponse"}}}}},"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","title":"Application Data","properties":{"uuid":{"description":"Type uuid of the password to remove","type":"string"}}}}}}}},"/appPasswords?action=list":{"get":{"operationId":"listApplicationPassword","tags":["AppPassword"],"summary":"Lists the existing application passwords for the user","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A JSON object containing the existing password list.\nIn case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppPasswordListResponse"}}}}}}},"/attachment?action=all":{"get":{"operationId":"getAllAttachments","tags":["Attachments"],"summary":"Gets all attachments for an object.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamAttached"},{"$ref":"#/components/parameters/gblQueryParamAttachmentsFolder"},{"$ref":"#/components/parameters/gblQueryParamAttachmentsModule"},{"$ref":"#/components/parameters/gblQueryParamAttachmentsColumns"},{"in":"query","name":"sort","description":"The identifier of a column which determines the sort order of the response. If this parameter is specified, then the parameter order must be also specified.","required":false,"schema":{"type":"string"}},{"in":"query","name":"order","description":"\"asc\" if the response entities should be sorted in the ascending order, \"desc\" if the response entries should be sorted in the descending order. If this parameter is specified, then the parameter sort must be also specified.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing an array with data for all attachments. Each array element describes one attachment and\nis itself an array. The elements of each array contain the information specified by the corresponding\nidentifiers in the `columns` parameter. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachmentsResponse"}}}}}}},"/attachment?action=attach":{"post":{"operationId":"createAttachment","tags":["Attachments"],"summary":"Creates an attachment.","description":"#### Note\nIt is possible to create multiple attachments at once. Therefor add additional form fields and replace \"[index]\" in `json_[index]`\nand `file_[index]` with the appropriate index, like `json_1`, `file_1`. The index always starts with 0 (mandatory attachment object).\n","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A HTML page as described in [File uploads](#file-uploads) containing a JSON array of object IDs of the newly created attachments or errors if some occurred.\n","content":{"text/html":{"schema":{"type":"string"}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","title":"createAttachmentBody","properties":{"json_0":{"description":"A JSON string representing an attachment object as described in [AttachmentData](#/definitions/AttachmentData) model with at least the fields `folder`, `attached` and `module`.","type":"string"},"file_0":{"description":"The attachment file as per `<input type=\"file\" />`.","type":"string","format":"binary"}},"required":["json_0","file_0"]}}}}}},"/attachment?action=detach":{"put":{"operationId":"deleteAttachments","tags":["Attachments"],"summary":"Deletes attachments.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamAttached"},{"$ref":"#/components/parameters/gblQueryParamAttachmentsFolder"},{"$ref":"#/components/parameters/gblQueryParamAttachmentsModule"}],"responses":{"200":{"description":"In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}},"description":"A JSON array with the identifiers of the attachments that shall be deleted.","required":true}}},"/attachment?action=document":{"get":{"operationId":"getAttachmentDocument","tags":["Attachments"],"summary":"Gets an attachment's document/filedata.","description":"It is possible to add a filename to the request's URI like `/attachment/{filename}?action=document`.\nThe filename may be added to the customary attachment path to suggest a filename to a Save-As dialog.\n","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamAttached"},{"$ref":"#/components/parameters/gblQueryParamAttachmentsFolder"},{"$ref":"#/components/parameters/gblQueryParamAttachmentsModule"},{"in":"query","name":"id","description":"Object ID of the requested attachment.","required":true,"schema":{"type":"string"}},{"in":"query","name":"content_type","description":"If present the response declares the given `content_type` in the Content-Type header and not the attachments file MIME type.","required":false,"schema":{"type":"string"}},{"in":"query","name":"scan","description":"Flag to request an Anti-Virus scan for the specified attachment before downloading it.\n","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"The raw byte data of the document. The response type for the HTTP request is set accordingly to the defined MIME type for this attachment or the content_type given.","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}}}}},"/attachment?action=get":{"get":{"operationId":"getAttachment","tags":["Attachments"],"summary":"Gets an attachment.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"Object ID of the requested infoitem.","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/gblQueryParamAttached"},{"$ref":"#/components/parameters/gblQueryParamAttachmentsFolder"},{"$ref":"#/components/parameters/gblQueryParamAttachmentsModule"}],"responses":{"200":{"description":"A JSON object containing all data of the requested attachment. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachmentResponse"}}}}}}},"/attachment?action=list":{"put":{"operationId":"getAttachmentList","tags":["Attachments"],"summary":"Gets a list of attachments.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamAttached"},{"$ref":"#/components/parameters/gblQueryParamAttachmentsFolder"},{"$ref":"#/components/parameters/gblQueryParamAttachmentsModule"},{"$ref":"#/components/parameters/gblQueryParamAttachmentsColumns"}],"responses":{"200":{"description":"A JSON object containing an array with data for the requested infoitems. Each array element describes one infoitem and\nis itself an array. The elements of each array contain the information specified by the corresponding\nidentifiers in the `columns` parameter. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InfoItemsResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"integer"}}}},"description":"A JSON array with the identifiers of the requested attachments.","required":true}}},"/attachment?action=updates":{"get":{"operationId":"getAttachmentUpdates","tags":["Attachments"],"summary":"Gets the new and deleted attachments.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamAttached"},{"$ref":"#/components/parameters/gblQueryParamAttachmentsFolder"},{"$ref":"#/components/parameters/gblQueryParamAttachmentsColumns"},{"$ref":"#/components/parameters/gblQueryParamAttachmentsModule"},{"in":"query","name":"timestamp","description":"Timestamp of the last update of the requested infoitems.","required":false,"schema":{"type":"integer","format":"int64"}},{"in":"query","name":"ignore","description":"Which kinds of updates should be ignored. Currently, the only valid value – \"deleted\" – causes deleted object IDs not to be returned.","required":false,"schema":{"type":"string","enum":["deleted"]}},{"in":"query","name":"sort","description":"The identifier of a column which determines the sort order of the response. If this parameter is specified, then the parameter order must be also specified.","required":false,"schema":{"type":"string"}},{"in":"query","name":"order","description":"\"asc\" if the response entities should be sorted in the ascending order, \"desc\" if the response entries should be sorted in the descending order. If this parameter is specified, then the parameter sort must be also specified.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"An array with new and deleted attachments. New attachments are represented by arrays. The\nelements of each array contain the information specified by the corresponding identifiers in the `columns`\nparameter. Deleted attachments would be identified by their object IDs as integer, without being part of\na nested array. In case of errors the responsible fields in the response are filled (see\n[Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachmentUpdatesResponse"}}}}}}},"/attachment?action=zipDocuments":{"put":{"operationId":"getZippedAttachmentDocuments","tags":["Attachments"],"summary":"Gets a ZIP archive for multipe attachment data.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamAttached"},{"$ref":"#/components/parameters/gblQueryParamAttachmentsFolder"},{"$ref":"#/components/parameters/gblQueryParamAttachmentsModule"}],"responses":{"200":{"description":"The raw byte data of the ZIP archive.","content":{"application/zip":{"schema":{"type":"string","format":"binary"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"integer"}}}},"description":"A JSON array with the identifiers of the attachments, which shall be put into ZIP archive","required":true}}},"/autoconfig?action=get":{"post":{"operationId":"getAutoConfig","tags":["Autoconfig"],"summary":"Gets the auto configuration for a mail account.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A JSON object containing the best available settings for an appropriate mail server for the given email\naddress. The data may be incomplete or empty. In case of errors the responsible fields in the response\nare filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoConfigResponse"}}}}},"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","title":"autoConfigBody","properties":{"email":{"description":"The email address for which a mail configuration will be discovered.","type":"string"},"password":{"description":"The corresponding password for the mail account.","type":"string"},"force_secure":{"description":"Enforces a secure connection for configured mail account, default is `true`.","type":"boolean"},"oauth":{"description":"The optional identifier of the OAuth account to use for authentication.","type":"integer"}},"required":["email","password"]}}}}}},"/calendar?action=all":{"get":{"operationId":"getAllAppointments","tags":["Calendar"],"summary":"Gets all appointments.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamCalendarColumns"},{"in":"query","name":"start","description":"Lower inclusive limit of the queried range as a Date. Only appointments which start on or after this date are returned.","required":true,"schema":{"type":"integer","format":"int64"}},{"in":"query","name":"end","description":"Upper exclusive limit of the queried range as a Date. Only appointments which end before this date are returned.","required":true,"schema":{"type":"integer","format":"int64"}},{"in":"query","name":"folder","description":"Object ID of the folder, whose contents are queried. If not specified, defaults to all calendar folders.","required":false,"schema":{"type":"string"}},{"$ref":"#/components/parameters/gblQueryParamRecurrenceMaster"}],"responses":{"200":{"description":"A JSON object containing an array with appointment data. Each array element describes one appointment and\nis itself an array. The elements of each array contain the information specified by the corresponding\nidentifiers in the `columns` parameter. Appointment sequencies are broken up into individual appointments\nand each occurrence of a sequence in the requested range is returned separately. The appointments are\nsorted in ascending order by the field `start_date`. In case of errors the responsible fields in the\nresponse are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppointmentsResponse"}}}}}}},"/calendar?action=confirm":{"put":{"operationId":"confirmAppointment","tags":["Calendar"],"summary":"Confirms an appointment.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"Object ID of the appointment that shall be confirmed.","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/gblQueryParamCalendarFolder"},{"in":"query","name":"timestamp","description":"Timestamp of the last update of the appointment.","required":true,"schema":{"type":"integer","format":"int64"}},{"in":"query","name":"occurrence","description":"The numeric identifier of the occurrence to which the confirmation applies (in case `id` denotes a series appointment).","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Nothing, except the standard response object with empty data, the timestamp of the confirmed and thereby\nupdated appointment, and maybe errors. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppointmentConfirmationBody"}}},"description":"A JSON object with the fields `confirmation`, `confirmmessage` and optionally `id`.","required":true}}},"/calendar?action=copy":{"put":{"operationId":"createAppointment","tags":["Calendar"],"summary":"Creates an appointment.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"Object ID of the requested appointment.","required":true,"schema":{"type":"string"}},{"in":"query","name":"ignore_conflicts","description":"Flag indicating whether conflicts should be ignored or not.","required":true,"schema":{"type":"boolean"}},{"$ref":"#/components/parameters/gblQueryParamCalendarFolder"},{"in":"query","name":"timezone","description":"The timezone which should be used","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"'A JSON object containing the id of the newly created appointment if it was created successfully.\nIf the appointment could not be created due to conflicts, the response body is an object with the\nfield `conflicts`, which is an array of appointment objects which caused the conflict. Each appointment\nobject which represents a resource conflict contains an additional field `hard_conflict` with the\nBoolean value `true`. If the user does not have read access to a conflicting appointment, only the\nfields `id`, `start_date`, `end_date`, `shown_as` and `participants` are present and the field `participants`\ncontains only the participants which caused the conflict. In case of errors the responsible fields\nin the response are filled (see [Error handling](#error-handling)).'\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppointmentCreationResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","title":"CalendarCopyBody","properties":{"folder_id":{"type":"string","description":"ID of the destination folder."}}}}},"description":"A JSON object containing the new destination folder id.","required":true}}},"/calendar?action=delete":{"put":{"operationId":"deleteAppointment","tags":["Calendar"],"summary":"Deletes appointments.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"timestamp","description":"Timestamp of the last update of the deleted appointments.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"A JSON array of objects identifying the appointments which were modified after the specified timestamp and were therefore not deleted. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppointmentDeletionsResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AppointmentDeletionsElement"}}}},"description":"A JSON array of JSON objects with the id, folder and optionally the recurrence position (if present in an appointment to fully identify it) of the appointments.","required":true}}},"/calendar?action=freebusy":{"get":{"operationId":"getFreeAndBusy","summary":"Gets appointments between a specified time range.","tags":["Calendar"],"parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"Internal user id. Must be obtained from the contact module.","required":true,"schema":{"type":"integer"}},{"in":"query","name":"start","description":"Lower inclusive limit of the queried range as a Date. Only appointments which end on or after this date are returned.","required":true,"schema":{"type":"integer","format":"int64"}},{"in":"query","name":"end","description":"Upper exclusive limit of the queried range as a Date. Only appointments which start before this date are returned.","required":true,"schema":{"type":"integer","format":"int64"}},{"in":"query","name":"type","description":"Constant for user or resource (1 for users, 3 for resources).","required":true,"schema":{"type":"integer","enum":[1,3]}}],"responses":{"200":{"description":"An array of objects identifying the appointments which lie between start and end as described. In\ncase of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppointmentFreeBusyResponse"}}}}}}},"/calendar?action=getChangeExceptions":{"get":{"operationId":"getChangeExceptions","tags":["Calendar"],"summary":"Gets all change exceptions.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"Object ID of the appointment series.","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/gblQueryParamCalendarFolder"},{"$ref":"#/components/parameters/gblQueryParamCalendarColumns"}],"responses":{"200":{"description":"A JSON object containing an array with appointment data. Each array element describes one appointment and\nis itself an array. The elements of each array contain the information specified by the corresponding\nidentifiers in the `columns` parameter. In case of errors the responsible fields in the response are filled\n(see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppointmentsResponse"}}}}}}},"/calendar?action=get":{"get":{"operationId":"getAppointment","tags":["Calendar"],"summary":"Gets an appointment.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"Object ID of the requested appointment.","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/gblQueryParamCalendarFolder"},{"in":"query","name":"recurrence_position","description":"Recurrence position of requested appointment.","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"An object containing all data of the requested appointment. In case of errors the\nresponsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppointmentResponse"}}}}}}},"/calendar?action=has":{"get":{"operationId":"hasAppointmentsOnDays","tags":["Calendar"],"summary":"Requests whether there are appointments on days in a specified time range.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"start","description":"Lower inclusive limit of the queried range as a Date. Only appointments which start on or after this date are returned.","required":true,"schema":{"type":"integer","format":"int64"}},{"in":"query","name":"end","description":"Upper exclusive limit of the queried range as a Date. Only appointments which end before this date are returned.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"A JSON object containing an array with the length of the number of days between `start` and `end`. Meaning,\neach element corresponds with one day in the range that was queried, explaining whether there is an\nappointment on this day (true) or not (false). In case of errors the responsible fields in the response\nare filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppointmentInfoResponse"}}}}}}},"/calendar?action=list":{"put":{"operationId":"getAppointmentList","tags":["Calendar"],"summary":"Gets a list of appointments.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamCalendarColumns"},{"$ref":"#/components/parameters/gblQueryParamRecurrenceMaster"}],"responses":{"200":{"description":"A JSON object containing an array with data for the requested appointments. Each array element describes one appointment and\nis itself an array. The elements of each array contain the information specified by the corresponding\nidentifiers in the `columns` parameter. In case of errors the responsible fields in the response\nare filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppointmentsResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AppointmentListElement"}}}},"description":"A JSON array of JSON objects with the id, folder and optionally either recurrence_position or recurrence_date_position of the requested appointments.","required":true}}},"/calendar?action=new":{"put":{"operationId":"createAppointment_put_req","tags":["Calendar"],"summary":"Creates an appointment.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"'A JSON object containing the id of the newly created appointment if it was created successfully.\nIf the appointment could not be created due to conflicts, the response body is an object with the\nfield `conflicts`, which is an array of appointment objects which caused the conflict. Each appointment\nobject which represents a resource conflict contains an additional field `hard_conflict` with the\nBoolean value `true`. If the user does not have read access to a conflicting appointment, only the\nfields `id`, `start_date`, `end_date`, `shown_as` and `participants` are present and the field `participants`\ncontains only the participants which caused the conflict. In case of errors the responsible fields\nin the response are filled (see [Error handling](#error-handling)).'\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppointmentCreationResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppointmentData"}}},"description":"A JSON object containing the appointment's data.","required":true}}},"/calendar?action=newappointments":{"get":{"operationId":"getNewAppointments","tags":["Calendar"],"summary":"Gets new appointments.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamCalendarColumns"},{"in":"query","name":"start","description":"Lower inclusive limit of the queried range as a Date. Only appointments which end on or after this date are returned.","required":true,"schema":{"type":"integer","format":"int64"}},{"in":"query","name":"end","description":"Upper exclusive limit of the queried range as a Date. Only appointments which start before this date are returned.","required":true,"schema":{"type":"integer","format":"int64"}},{"in":"query","name":"limit","description":"Limits the number of returned objects to the given value.","required":true,"schema":{"type":"string"}},{"in":"query","name":"sort","description":"The identifier of a column which determines the sort order of the response. If this parameter is specified and holds a column number, then the parameter order must be also specified.","required":false,"schema":{"type":"string"}},{"in":"query","name":"order","description":"\"asc\" if the response entires should be sorted in the ascending order, \"desc\" if the response entries should be sorted in the descending order. If this parameter is specified, then the parameter sort must be also specified.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing an array with appointment data. Appointments are represented by arrays. The elements of each array contain the\ninformation specified by the corresponding identifiers in the `columns` parameter. In case of errors the\nresponsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppointmentsResponse"}}}}}}},"/calendar?action=resolveuid":{"get":{"operationId":"resolveUID","tags":["Calendar"],"summary":"Resolves the UID to an OX object ID.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"uid","description":"The UID that shall be resolved.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing the related object ID in the field `id`. If no object exists with the\nspecified UID or in case of errors the responsible fields in the response are filled\n(see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppointmentUpdateResponse"}}}}}}},"/calendar?action=search":{"put":{"operationId":"searchAppointments","tags":["Calendar"],"summary":"Searches for appointments.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamCalendarColumns"}],"responses":{"200":{"description":"A JSON object containing an array with matching appointments. Appointments are represented by arrays. The elements of each array contain the\ninformation specified by the corresponding identifiers in the `columns` parameter. In case of errors the\nresponsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppointmentsResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppointmentSearchBody"}}},"description":"A JSON object containing search parameters.","required":true}}},"/calendar?action=update":{"put":{"operationId":"updateAppointment","tags":["Calendar"],"summary":"Updates an appointment.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"Object ID of the requested appointment.","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/gblQueryParamCalendarFolder"},{"in":"query","name":"timestamp","description":"Timestamp of the updated appointment. If the appointment was modified after the specified timestamp, then the update must fail.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"A JSON object containing the id of the updated appointment. In case of errors the\nresponsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppointmentUpdateResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppointmentData"}}},"description":"A JSON object containing the appointment's data. The field `recurrence_id` is always present\nif it is present in the original appointment. The field `recurrence_position` is present if\nit is present in the original appointment and only this single appointment should be modified.\nThe field `id` is not present because it is already included as a parameter. Other fields are\npresent only if modified.\n","required":true}}},"/calendar?action=updates":{"get":{"operationId":"getAppointmentUpdates","tags":["Calendar"],"summary":"Gets updated appointments.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamCalendarColumns"},{"in":"query","name":"timestamp","description":"Timestamp of the last update of the requested appointments.","required":true,"schema":{"type":"integer","format":"int64"}},{"in":"query","name":"folder","description":"Object ID of the folder, whose contents are queried. That parameter may be absent in case ignore is set to \"deleted\", which means all accessible calendar folders are considered. If ignore is not set to \"deleted\", that parameter is mandatory.","required":false,"schema":{"type":"string"}},{"in":"query","name":"start","description":"Lower inclusive limit of the queried range as a Date. Only appointments which end on or after this date are returned. This parameter is optional in case a certain folder is queried, but mandatory if all accessible calendar folders are supposed to be considered (folder not specified).","required":false,"schema":{"type":"integer","format":"int64"}},{"in":"query","name":"end","description":"Upper exclusive limit of the queried range as a Date. Only appointments which start before this date are returned. This parameter is optional in case a certain folder is queried, but mandatory if all accessible calendar folders are supposed to be considered (folder not specified).","required":false,"schema":{"type":"integer","format":"int64"}},{"in":"query","name":"ignore","description":"Which kinds of updates should be ignored. Currently, the only valid value – \"deleted\" – causes deleted object IDs not to be returned.","required":false,"schema":{"type":"string","enum":["deleted"]}},{"$ref":"#/components/parameters/gblQueryParamRecurrenceMaster"}],"responses":{"200":{"description":"An array with new, modified and deleted appointments. New and modified appointments are represented by arrays.\nThe elements of each array contain the information specified by the corresponding identifiers in the\n`columns` parameter. Deleted appointments (should the ignore parameter be ever implemented) would be identified\nby their object IDs as integers, without being part of a nested array. Appointment sequencies are broken up\ninto individual appointments and each modified occurrence of a sequence in the requested range is returned\nseparately. The appointments are sorted in ascending order by the field start_date. In case of errors the\nresponsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppointmentUpdatesResponse"}}}}}}},"/capabilities?action=all":{"get":{"operationId":"getAllCapabilities","tags":["Capabilities"],"summary":"Gets all capabilities.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A JSON object containing an array with data for all capabilities. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CapabilitiesResponse"}}}}}}},"/capabilities?action=get":{"get":{"operationId":"getCapability","tags":["Capabilities"],"summary":"Gets a capability.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"The identifier of the capability","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing the data of the capability or an empty result, if capability not available. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CapabilityResponse"}}}}}}},"/certificate?action=all":{"get":{"operationId":"getAllCertificates","tags":["Certificate"],"summary":"Gets all SSL certificates.","description":"Returns all trusted and untrusted SSL certificates","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A JSON object containing an array with data for all certificates. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CertificatesAllResponse"}}}}}}},"/certificate?action=deleteAll":{"put":{"operationId":"deleteAllCertificates","tags":["Certificate"],"summary":"Deletes all fingerprint/hostname combinations for the user","description":"Deletes all fingerprint/hostname combinations for the user","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"An empty JSON object. In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling))."}}}},"/certificate?action=delete":{"put":{"operationId":"deleteCertificate","tags":["Certificate"],"summary":"Deletes the fingerprint/hostname combination","description":"Deletes the fingerprint/hostname combination","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"fingerprint","description":"The fingerprint of the SSL certificate","required":true,"schema":{"type":"string"}},{"in":"query","name":"hostname","description":"The hostname for which the SSL certificate is trusted/not trusted. If absent, then all entries for the specified fingerprint will be deleted","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"An empty JSON object. In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling))."}}}},"/certificate?action=examine":{"get":{"operationId":"examineCertificate","tags":["Certificate"],"summary":"Examines an untrusted SSL certificate from a previous endpoint call","description":"Examines an untrusted SSL certificate from a previous endpoint call. The SSL certificate is cached for a brief amount of time by the middleware (2 minutes).","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"fingerprint","description":"The fingerprint of the SSL certificate","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing the data of the certificate. In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CertificateExamineResponse"}}}}}}},"/certificate?action=get":{"get":{"operationId":"getCertificate","tags":["Certificate"],"summary":"Gets a specific or all SSL certificates","description":"Gets a specific or all SSL certificates","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"fingerprint","description":"The fingerprint of the SSL certificate","required":true,"schema":{"type":"string"}},{"in":"query","name":"hostname","description":"The hostname for which the SSL certificate is trusted/not trusted. If absent, then all entries for the specified fingerprint will be returned","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing an array with data for all certificates. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CertificatesAllResponse"}}}}}}},"/certificate?action=store":{"put":{"operationId":"storeCertificate","tags":["Certificate"],"summary":"Stores the fingerprint of an SSL certificate.","description":"Stores the fingerprint of an SSL certificate in combination with a hostname as either trusted or untrusted. This API call also accepts a JSONObject.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"fingerprint","description":"The fingerprint of the SSL certificate","required":true,"schema":{"type":"string"}},{"in":"query","name":"hostname","description":"The hostname for which to trust/untrust the SSL certificate","required":true,"schema":{"type":"string"}},{"in":"query","name":"trust","description":"Whether the combination of the SSL certificate and the hostname is to be trusted","required":true,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"An empty JSON object. In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling))."}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CertificateStoreData"}}},"description":"A JSON object describing the SSL certificate."}}},"/certificate?action=update":{"put":{"operationId":"storeCertificate_put_req","tags":["Certificate"],"summary":"Updates the exception for an SSL certificate in combination with a hostname as either trusted or untrusted","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"fingerprint","description":"The fingerprint of the SSL certificate","required":true,"schema":{"type":"string"}},{"in":"query","name":"hostname","description":"The hostname for which to trust/untrust the SSL certificate","required":true,"schema":{"type":"string"}},{"in":"query","name":"trust","description":"Whether the combination of the SSL certificate and the hostname is to be trusted","required":true,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"An empty JSON object. In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling))."}}}},"/chronos/account?action=probe":{"put":{"operationId":"probe","tags":["Chronos","ICal"],"summary":"Probe to check given ICal calendar properties before creating a new account.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A JSON object describing the possible calendar accounts. In case of errors the responsible fields in the\nresponse are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalendarAccountProbeResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalendarAccountProbeData"}}},"description":"The properties to check.\n","required":true}}},"/chronos/alarm?action=ack":{"get":{"operationId":"acknowledgeAlarm","tags":["Chronos"],"summary":"Acknowledges an alarm.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/QueryParamChronosID"},{"$ref":"#/components/parameters/QueryParamChronosFolder"},{"$ref":"#/components/parameters/QueryParamChronosExtendedEntities"},{"$ref":"#/components/parameters/QueryParamChronosPushToken"},{"$ref":"#/components/parameters/QueryParamChronosFields"},{"in":"query","name":"alarmId","description":"The id of the alarm which shall be acknowledged.\n","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"A JSON object containing containing the result of the acknowledge operation. In case of errors the\nresponsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChronosCalendarResultResponse"}}}}}}},"/chronos/alarm?action=pending":{"get":{"operationId":"getAlarmTrigger","tags":["Chronos"],"summary":"Retrieves not acknowledged alarm triggers.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"rangeStart","description":"Lower inclusive limit of the queried range as a utc date-time value as specified in rfc 5545 chapter 3.3.5. E.g. \"20170708T220000Z\". Only alarms that should trigger on or after this date are returned.\n","required":false,"schema":{"type":"string"}},{"in":"query","name":"rangeEnd","description":"Upper exclusive limit of the queried range as a utc date-time value as specified in rfc 5545 chapter 3.3.5. E.g. \"20170708T220000Z\". Only alarms that should trigger on or after this date are returned.\n","required":true,"schema":{"type":"string"}},{"in":"query","name":"actions","description":"A comma separated list of alarm actions. Only this actions will be returned.\n","required":false,"schema":{"type":"string","default":"DISPLAY, AUDIO"}}],"responses":{"200":{"description":"An array of alarm trigger objects. In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlarmTriggerResponse"}}}}}}},"/chronos/alarm?action=snooze":{"get":{"operationId":"snoozeAlarm","tags":["Chronos"],"summary":"Snoozes an alarm by the given duration.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/QueryParamChronosID"},{"$ref":"#/components/parameters/QueryParamChronosFolder"},{"$ref":"#/components/parameters/QueryParamChronosExtendedEntities"},{"$ref":"#/components/parameters/QueryParamChronosPushToken"},{"$ref":"#/components/parameters/QueryParamChronosFields"},{"in":"query","name":"alarmId","description":"The id of the alarm which shall be snoozed.\n","required":true,"schema":{"type":"integer"}},{"in":"query","name":"snoozeTime","description":"The duration in milliseconds the alarm should be snoozed by. E.g. 300000 for 5 minutes.\n","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"A JSON object containing containing the result of the snooze operation. In case of errors the\nresponsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChronosCalendarResultResponse"}}}}}}},"/chronos/alarm?action=updateAlarms":{"put":{"operationId":"updateAlarms","tags":["Chronos"],"summary":"Updates the personal alarms of an event.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/QueryParamChronosFolder"},{"$ref":"#/components/parameters/QueryParamChronosID"},{"$ref":"#/components/parameters/QueryParamChronosRecurrenceID"},{"$ref":"#/components/parameters/QueryParamChronosExtendedEntities"},{"$ref":"#/components/parameters/QueryParamChronosPushToken"},{"$ref":"#/components/parameters/QueryParamChronosFields"},{"in":"query","name":"timestamp","description":"Timestamp of the last update of the event.","required":true,"schema":{"type":"integer","format":"int64"}},{"$ref":"#/components/parameters/QueryParamChronosExpand"},{"$ref":"#/components/parameters/QueryParamChronosScheduling"},{"in":"query","name":"rangeStart","description":"If expand is set to 'true' this parameter defines a lower inclusive limit as a utc date-time value as specified in rfc 5545 chapter 3.3.5. E.g. \"20170708T220000Z\". \nOnly events which start on or after this date are returned.\n","required":false,"schema":{"type":"string"}},{"in":"query","name":"rangeEnd","description":"If expand is set to 'true' this parameter defines a upper exclusive limit as a utc date-time value as specified in rfc 5545 chapter 3.3.5. E.g. \"20170708T220000Z\". \nOnly events which end before this date are returned.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing containing the result of the update. In case of errors the\nresponsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChronosCalendarResultResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"array","title":"Alarms","items":{"$ref":"#/components/schemas/Alarm"}}}},"description":"A JSON array containing the alarms.","required":true}}},"/chronos/availability?action=get":{"get":{"operationId":"getAvailability","tags":["Chronos"],"summary":"Gets the configured availability of the user.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"An object containing all data of the requested availability. In case of errors the\nresponsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetAvailabilityResponse"}}}}}}},"/chronos/availability?action=set":{"put":{"operationId":"setAvailability","tags":["Chronos"],"summary":"Sets/Overwrites the availability of the user. If an empty payload is sent, then the availability of the user is deleted/unset.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"'If the availability of the user was successfully set, then an empty JSON object is returned to indicate that.\nIn case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).'\n"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/AvailabilityData"}}},"description":"A JSON object containing the availability's data.","required":true}}},"/chronos?action=all":{"get":{"operationId":"getAllEvents","tags":["Chronos"],"summary":"Gets all events in folder.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"folder","description":"ID of the folder who contains the events. If not set, all events of the default account will be queried.","required":false,"schema":{"type":"string"}},{"in":"query","name":"rangeStart","description":"Lower inclusive limit of the queried range as a utc date-time value as specified in rfc 5545 chapter 3.3.5. E.g. \"20170708T220000Z\". Only events which start on or after this date are returned.\n","required":true,"schema":{"type":"string"}},{"in":"query","name":"rangeEnd","description":"Upper exclusive limit of the queried range as a utc date-time value as specified in rfc 5545 chapter 3.3.5. E.g. \"20170708T220000Z\". Only events which end before this date are returned.\n","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/QueryParamChronosFields"},{"$ref":"#/components/parameters/QueryParamChronosOrder"},{"$ref":"#/components/parameters/QueryParamChronosSort"},{"$ref":"#/components/parameters/QueryParamChronosExpand"},{"$ref":"#/components/parameters/QueryParamChronosExtendedEntities"},{"$ref":"#/components/parameters/QueryParamChronosUpdateCache"}],"responses":{"200":{"description":"A JSON object containing an array with events. The events are\nsorted in ascending order by the field `start_date`. In case of errors the responsible fields in the\nresponse are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventsResponse"}}}}}},"put":{"operationId":"getAllEventsForMultipleFolders","tags":["Chronos"],"summary":"Gets all events of multiple folders.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"rangeStart","description":"Lower inclusive limit of the queried range as a utc date-time value as specified in rfc 5545 chapter 3.3.5. E.g. \"20170708T220000Z\". Only events which start on or after this date are returned.\n","required":true,"schema":{"type":"string"}},{"in":"query","name":"rangeEnd","description":"Upper exclusive limit of the queried range as a utc date-time value as specified in rfc 5545 chapter 3.3.5. E.g. \"20170708T220000Z\". Only events which end before this date are returned.\n","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/QueryParamChronosFields"},{"$ref":"#/components/parameters/QueryParamChronosOrder"},{"$ref":"#/components/parameters/QueryParamChronosSort"},{"$ref":"#/components/parameters/QueryParamChronosExpand"},{"$ref":"#/components/parameters/QueryParamChronosUpdateCache"}],"responses":{"200":{"description":"A JSON object containing an array with events. The events are\nsorted in ascending order by the field `start_date`. In case of errors the responsible fields in the\nresponse are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MultipleFolderEventsResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChronosFolderBody"}}},"description":"A JSON object containing the folder ids.","required":true}}},"/chronos?action=changeOrganizer":{"put":{"operationId":"changeOrganizer","tags":["Chronos"],"summary":"Changes an organizer of an event.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/QueryParamChronosFolder"},{"$ref":"#/components/parameters/QueryParamChronosID"},{"$ref":"#/components/parameters/QueryParamChronosRecurrenceID"},{"$ref":"#/components/parameters/QueryParamChronosRecurrenceRange"},{"$ref":"#/components/parameters/QueryParamChronosExpand"},{"$ref":"#/components/parameters/QueryParamChronosFields"},{"$ref":"#/components/parameters/QueryParamChronosPushToken"},{"in":"query","name":"timestamp","description":"Timestamp of the last update of the event.","required":true,"schema":{"type":"integer","format":"int64"}},{"in":"query","name":"rangeStart","description":"If expand is set to 'true' this parameter defines a lower inclusive limit as a utc date-time value as specified in rfc 5545 chapter 3.3.5. E.g. \"20170708T220000Z\". \nOnly events which start on or after this date are returned.\n","required":false,"schema":{"type":"string"}},{"in":"query","name":"rangeEnd","description":"If expand is set to 'true' this parameter defines a upper exclusive limit as a utc date-time value as specified in rfc 5545 chapter 3.3.5. E.g. \"20170708T220000Z\". \nOnly events which end before this date are returned.\n","schema":{"type":"string"}},{"$ref":"#/components/parameters/QueryParamChronosScheduling"}],"responses":{"200":{"description":"A JSON object containing containing the result of the update. In case of errors the\nresponsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChronosCalendarResultResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","title":"changeOrganizerBody","properties":{"organizer":{"$ref":"#/components/schemas/CalendarUser"},"comment":{"type":"string","description":"Optional comment for the acting organizer to provide information about the reason of transmitting the event to an new organizer. This will not be peristed and is just used to inform the attendees via notification mails"}}}}},"description":"A JSON object containing the new organizer and an optional comment.","required":true}}},"/chronos?action=delete":{"put":{"operationId":"deleteEvent","tags":["Chronos"],"summary":"Deletes events.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"timestamp","description":"Timestamp of the last update of the events.","required":true,"schema":{"type":"integer","format":"int64"}},{"in":"query","name":"rangeStart","description":"If expand is set to 'true' this parameter defines a lower inclusive limit as a utc date-time value as specified in rfc 5545 chapter 3.3.5. E.g. \"20170708T220000Z\". \nOnly events which start on or after this date are returned.\n","required":false,"schema":{"type":"string"}},{"in":"query","name":"rangeEnd","description":"If expand is set to 'true' this parameter defines a upper exclusive limit as a utc date-time value as specified in rfc 5545 chapter 3.3.5. E.g. \"20170708T220000Z\". \nOnly events which end before this date are returned.\n","required":false,"schema":{"type":"string"}},{"$ref":"#/components/parameters/QueryParamChronosExpand"},{"$ref":"#/components/parameters/QueryParamChronosExtendedEntities"},{"$ref":"#/components/parameters/QueryParamChronosFields"},{"$ref":"#/components/parameters/QueryParamChronosPushToken"},{"$ref":"#/components/parameters/QueryParamChronosScheduling"}],"responses":{"200":{"description":"An json object containing the deleted event if the deletion was successful. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChronosMultipleCalendarResultResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","title":"deleteEventBody","properties":{"events":{"type":"array","items":{"$ref":"#/components/schemas/EventId"}},"comment":{"type":"string","description":"Optional comment for the user to provide information about the deletion of the event. This will not be peristed and is just used to inform the attendees via notifications and invitation mails.\n"}}}}},"description":"A JSON array of JSON objects with the id and optionally the recurrence position of the event.","required":true}}},"/chronos?action=freeBusy":{"put":{"operationId":"freebusy","tags":["Chronos"],"summary":"Gets free-busy timeslots for the given attendees.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/ChronosFromTimeRange"},{"$ref":"#/components/parameters/ChronosUntilTimeRange"},{"in":"query","name":"maskId","description":"The identifier of an existing event or event series to ignore when calculating free/busy information. \nThis is useful when a client wants to find a new timeslot for an existing event.\n","required":false,"schema":{"type":"string"}},{"in":"query","name":"merge","description":"Set to <code>true</code> to merge the resulting free/busy-times.\n","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"An object containing an array of json objects for each attendee containing a list of free-busy times. In case of errors the\nresponsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChronosFreeBusyResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","title":"FreeBusyBody","properties":{"attendees":{"type":"array","description":"A list of attendees","items":{"$ref":"#/components/schemas/Attendee"}}}}}},"description":"A JSON object containing the attendees' data.","required":true}}},"/chronos?action=getAttachment":{"get":{"operationId":"getEventAttachment","tags":["Chronos"],"summary":"Gets the attachment of an event.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/QueryParamChronosID"},{"$ref":"#/components/parameters/QueryParamChronosFolder"},{"in":"query","name":"managedId","description":"The identifier of the attachment.","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"The attachment's raw data. In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).","content":{"application/json":{"schema":{"type":"string","format":"byte"}}}}}}},"/chronos?action=get":{"get":{"operationId":"getEvent","tags":["Chronos"],"summary":"Gets an event.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/QueryParamChronosID"},{"$ref":"#/components/parameters/QueryParamChronosFolder"},{"$ref":"#/components/parameters/QueryParamChronosRecurrenceID"},{"$ref":"#/components/parameters/QueryParamChronosFields"},{"$ref":"#/components/parameters/QueryParamChronosExtendedEntities"}],"responses":{"200":{"description":"An object containing all data of the requested event. In case of errors the\nresponsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventResponse"}}}}}}},"/chronos?action=list":{"put":{"operationId":"getEventList","tags":["Chronos"],"summary":"Gets a list of events.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/QueryParamChronosFields"},{"$ref":"#/components/parameters/QueryParamChronosExtendedEntities"}],"responses":{"200":{"description":"A JSON object containing an array with events. In case of errors the responsible fields in the\nresponse are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventsResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/EventId"}}}},"description":"A JSON array of JSON objects with the id and optionally the recurrence position of the event.","required":true}}},"/chronos?action=move":{"post":{"operationId":"moveEvent","tags":["Chronos"],"summary":"Moves an event to another calendar folder.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/QueryParamChronosCheckConflicts"},{"$ref":"#/components/parameters/QueryParamChronosFolder"},{"$ref":"#/components/parameters/QueryParamChronosID"},{"$ref":"#/components/parameters/QueryParamChronosRecurrenceID"},{"$ref":"#/components/parameters/QueryParamChronosScheduling"},{"$ref":"#/components/parameters/QueryParamChronosExtendedEntities"},{"$ref":"#/components/parameters/QueryParamChronosPushToken"},{"$ref":"#/components/parameters/QueryParamChronosFields"},{"in":"query","name":"timestamp","description":"Timestamp of the last update of the event.","required":true,"schema":{"type":"integer","format":"int64"}},{"in":"query","name":"targetFolder","description":"ID of the target folder.","required":true,"schema":{"type":"string"}},{"in":"query","name":"rangeStart","description":"If expand is set to 'true' this parameter defines a lower inclusive limit as a utc date-time value as specified in rfc 5545 chapter 3.3.5. E.g. \"20170708T220000Z\". \nOnly events which start on or after this date are returned.\n","required":false,"schema":{"type":"string"}},{"in":"query","name":"rangeEnd","description":"If expand is set to 'true' this parameter defines a upper exclusive limit as a utc date-time value as specified in rfc 5545 chapter 3.3.5. E.g. \"20170708T220000Z\". \nOnly events which end before this date are returned.\n","required":false,"schema":{"type":"string"}},{"$ref":"#/components/parameters/QueryParamChronosExpand"}],"responses":{"200":{"description":"A JSON object containing containing the result of the update. In case of errors the\nresponsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChronosCalendarResultResponse"}}}}}}},"/chronos?action=needsAction":{"get":{"operationId":"getEventsNeedingAction","tags":["Chronos"],"summary":"Gets all events where the session userattendee's participation status equals \"NEEDS-ACTION\".","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"rangeStart","description":"Lower inclusive limit of the queried range as a utc date-time value as specified in rfc 5545 chapter 3.3.5. E.g. \"20170708T220000Z\". Only events which start on or after this date are returned.\n","required":true,"schema":{"type":"string"}},{"in":"query","name":"rangeEnd","description":"Upper exclusive limit of the queried range as a utc date-time value as specified in rfc 5545 chapter 3.3.5. E.g. \"20170708T220000Z\". Only events which end before this date are returned.\n","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/QueryParamChronosFields"},{"$ref":"#/components/parameters/QueryParamChronosOrder"},{"$ref":"#/components/parameters/QueryParamChronosSort"},{"$ref":"#/components/parameters/QueryParamChronosExtendedEntities"}],"responses":{"200":{"description":"A JSON object containing an array with events. In case of errors the responsible fields in the\nresponse are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventsResponse"}}}}}}},"/chronos?action=new":{"put":{"operationId":"createEvent","tags":["Chronos"],"summary":"Creates an event.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/QueryParamChronosFolder"},{"$ref":"#/components/parameters/QueryParamChronosCheckConflicts"},{"$ref":"#/components/parameters/QueryParamChronosScheduling"},{"$ref":"#/components/parameters/QueryParamChronosExtendedEntities"},{"$ref":"#/components/parameters/QueryParamChronosPushToken"},{"in":"query","name":"rangeStart","description":"If expand is set to 'true' this parameter defines a lower inclusive limit as a utc date-time value as specified in rfc 5545 chapter 3.3.5. E.g. \"20170708T220000Z\". \nOnly events which start on or after this date are returned.\n","required":false,"schema":{"type":"string"}},{"in":"query","name":"rangeEnd","description":"If expand is set to 'true' this parameter defines a upper exclusive limit as a utc date-time value as specified in rfc 5545 chapter 3.3.5. E.g. \"20170708T220000Z\". \nOnly events which end before this date are returned.\n","required":false,"schema":{"type":"string"}},{"$ref":"#/components/parameters/QueryParamChronosExpand"},{"in":"query","name":"usedGroups","description":"In case the client resolves groups into single attendees the client can provide the ids \nof the groups he used (resolved) as a comma separated list. This way the usecount of those groups will be increased.\n","schema":{"type":"string"}}],"responses":{"200":{"description":"'A JSON object containing the newly created event, if it was created successfully.\nIf the event could not be created due to conflicts, the response body is an object with the\nfield `conflicts`, which holds informations about the conflict. In case of errors the responsible fields\nin the response are filled (see [Error handling](#error-handling)).'\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChronosCalendarResultResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventData"}}},"description":"A JSON object containing the event's data.","required":true}},"post":{"operationId":"createEventWithAttachments","tags":["Chronos"],"summary":"Creates an event and attaches files.","description":"#### Note\nIt is possible to create multiple attachments at once. Therefore add additional form fields and replace \"[index]\" in `file_[index]` \nwith the appropriate index, like `file_1`. The index always starts with 0 (mandatory attachment object). There can only be\none json payload describing the EventData, the rest json payloads (if present) will simply be ignored.\n","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/QueryParamChronosFolder"},{"$ref":"#/components/parameters/QueryParamChronosCheckConflicts"},{"$ref":"#/components/parameters/QueryParamChronosScheduling"},{"$ref":"#/components/parameters/QueryParamChronosExtendedEntities"},{"in":"query","name":"usedGroups","description":"In case the client resolves groups into single attendees the client can provide the ids \nof the groups he used (resolved) as a comma separated list. This way the usecount of those groups will be increased.\n","schema":{"type":"string"}}],"responses":{"200":{"description":"A HTML page containing the newly created event or in case of errors an error object (see [File uploads](https://documentation.open-xchange.com/latest/middleware/http_api/1_introduction.html#file-uploads) as an example).\nIf the event could not be created due to conflicts, the HTML Page contains an object with the\nfield `conflicts`, which holds informations about the conflict.\n","content":{"text/html":{"schema":{"type":"string"}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","title":"NewRequestBody","properties":{"json_0":{"description":"A JSON object containing the event's data as described in [EventData](#/definitions/EventData).","type":"string"},"file_0":{"description":"The attachment file as per `<input type=\"file\" />`.","type":"string","format":"binary"}},"required":["json_0","file_0"]}}}}}},"/chronos?action=resolve":{"get":{"operationId":"resolveEvent","tags":["Chronos"],"summary":"Resolves an event identifier to an event, and returns it in the perspective of the current session's user, i.e. having an appropriate parent folder identifier assigned.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/QueryParamChronosID"},{"$ref":"#/components/parameters/QueryParamChronosFields"},{"$ref":"#/components/parameters/QueryParamChronosExtendedEntities"},{"in":"query","name":"sequence","description":"The expected sequence number to match. If set, a resolved event is only returned if the stored sequence number is equal to this value.","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"An object containing all data of the requested event, or an empty result if no event was found. In case of errors the\nresponsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventResponse"}}}}}}},"/chronos?action=updateAttendee":{"put":{"operationId":"updateAttendee","tags":["Chronos"],"summary":"Updates the attendee status of an event.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/QueryParamChronosFolder"},{"$ref":"#/components/parameters/QueryParamChronosID"},{"$ref":"#/components/parameters/QueryParamChronosRecurrenceID"},{"$ref":"#/components/parameters/QueryParamChronosScheduling"},{"$ref":"#/components/parameters/QueryParamChronosExtendedEntities"},{"$ref":"#/components/parameters/QueryParamChronosPushToken"},{"$ref":"#/components/parameters/QueryParamChronosFields"},{"in":"query","name":"timestamp","description":"Timestamp of the last update of the event.","required":true,"schema":{"type":"integer","format":"int64"}},{"$ref":"#/components/parameters/QueryParamChronosCheckConflicts"},{"in":"query","name":"rangeStart","description":"If expand is set to 'true' this parameter defines a lower inclusive limit as a utc date-time value as specified in rfc 5545 chapter 3.3.5. E.g. \"20170708T220000Z\". \nOnly events which start on or after this date are returned.\n","required":false,"schema":{"type":"string"}},{"in":"query","name":"rangeEnd","description":"If expand is set to 'true' this parameter defines a upper exclusive limit as a utc date-time value as specified in rfc 5545 chapter 3.3.5. E.g. \"20170708T220000Z\". \nOnly events which end before this date are returned.\n","required":false,"schema":{"type":"string"}},{"$ref":"#/components/parameters/QueryParamChronosExpand"}],"responses":{"200":{"description":"A JSON object containing containing the result of the update. In case of errors the\nresponsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChronosCalendarResultResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","title":"AttendeeAndAlarm","properties":{"attendee":{"$ref":"#/components/schemas/Attendee"},"alarms":{"type":"array","description":"A list of alarms for this event.","items":{"$ref":"#/components/schemas/Alarm"}}}}}},"description":"A JSON object with the field `attendee` and `alarms`.","required":true}}},"/chronos?action=update":{"put":{"operationId":"updateEvent","tags":["Chronos"],"summary":"Updates an event.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/QueryParamChronosFolder"},{"$ref":"#/components/parameters/QueryParamChronosID"},{"$ref":"#/components/parameters/QueryParamChronosRecurrenceID"},{"$ref":"#/components/parameters/QueryParamChronosRecurrenceRange"},{"$ref":"#/components/parameters/QueryParamChronosCheckConflicts"},{"$ref":"#/components/parameters/QueryParamChronosScheduling"},{"$ref":"#/components/parameters/QueryParamChronosExtendedEntities"},{"$ref":"#/components/parameters/QueryParamChronosPushToken"},{"$ref":"#/components/parameters/QueryParamChronosFields"},{"in":"query","name":"rangeStart","description":"If expand is set to 'true' this parameter defines a lower inclusive limit as a utc date-time value as specified in rfc 5545 chapter 3.3.5. E.g. \"20170708T220000Z\". \nOnly events which start on or after this date are returned.\n","required":false,"schema":{"type":"string"}},{"in":"query","name":"rangeEnd","description":"If expand is set to 'true' this parameter defines a upper exclusive limit as a utc date-time value as specified in rfc 5545 chapter 3.3.5. E.g. \"20170708T220000Z\". \nOnly events which end before this date are returned.\n","required":false,"schema":{"type":"string"}},{"$ref":"#/components/parameters/QueryParamChronosExpand"},{"in":"query","name":"usedGroups","description":"In case the client resolves groups into single attendees the client can provide the ids \nof the groups he used (resolved) as a comma separated list. This way the usecount of those groups will be increased.\n","schema":{"type":"string"}},{"in":"query","name":"timestamp","description":"Timestamp of the last update of the event.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"A JSON object containing containing the result of the update. In case of errors the\nresponsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChronosCalendarResultResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","title":"updateEventBody","properties":{"event":{"type":"object","$ref":"#/components/schemas/EventData"},"comment":{"type":"string","description":"Optional comment for the user to provide information about the update of the event. This will not be peristed and is just used to inform the attendees via notifications and invitation mails"}}}}},"description":"A JSON object containing the event's data.","required":true}},"post":{"operationId":"updateEventWithAttachments","tags":["Chronos"],"summary":"Updates an event and its attachments.","description":"#### Note\nIt is possible to update multiple attachments at once. Therefore add additional form fields and replace \"[index]\" in `file_[index]` \nwith the appropriate index, like `file_1`. The index always starts with 0 (mandatory attachment object). There can only be\none json payload describing the EventData, the rest json payloads (if present) will simply be ignored.\nIf the event already has attachments, then for each of those attachments their valid manageId must be provided as part of the attachment\nmetadata. The absense of an already existing attachment for the event will result in the deletion of that attachment.\n","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/QueryParamChronosFolder"},{"$ref":"#/components/parameters/QueryParamChronosID"},{"$ref":"#/components/parameters/QueryParamChronosRecurrenceID"},{"$ref":"#/components/parameters/QueryParamChronosCheckConflicts"},{"$ref":"#/components/parameters/QueryParamChronosScheduling"},{"$ref":"#/components/parameters/QueryParamChronosExtendedEntities"},{"in":"query","name":"usedGroups","description":"In case the client resolves groups into single attendees the client can provide the ids \nof the groups he used (resolved) as a comma separated list. This way the usecount of those groups will be increased.\n","schema":{"type":"string"}},{"in":"query","name":"timestamp","description":"Timestamp of the last update of the event.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"A HTML page containing the result of the update or in case of errors an error object (see [File uploads](https://documentation.open-xchange.com/latest/middleware/http_api/1_introduction.html#file-uploads) as an example).\n","content":{"text/html":{"schema":{"type":"string"}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","title":"UpdateRequestBody","properties":{"json_0":{"description":"A JSON object containing an optional comment for the user to provide information about the update of the event under the key 'comment' and \nthe event's data as described in [EventData](#/definitions/EventData) under the key 'data'.\n","type":"string"},"file_0":{"description":"The attachment file as per `<input type=\"file\" />`.","type":"string","format":"binary"}},"required":["json_0","file_0"]}}}}}},"/chronos?action=updates":{"get":{"operationId":"getUpdates","tags":["Chronos"],"summary":"Gets all changed events since the given timestamp.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/QueryParamChronosFolder"},{"in":"query","name":"timestamp","description":"Timestamp of the last update of the requested events.","required":true,"schema":{"type":"integer","format":"int64"}},{"in":"query","name":"rangeStart","description":"Lower inclusive limit of the queried range as a utc date-time value as specified in rfc 5545 chapter 3.3.5. E.g. \"20170708T220000Z\". Only events which start on or after this date are returned.\n","required":false,"schema":{"type":"string"}},{"in":"query","name":"rangeEnd","description":"Upper exclusive limit of the queried range as a utc date-time value as specified in rfc 5545 chapter 3.3.5. E.g. \"20170708T220000Z\". Only events which end before this date are returned.\n","required":false,"schema":{"type":"string"}},{"$ref":"#/components/parameters/QueryParamChronosFields"},{"$ref":"#/components/parameters/QueryParamChronosOrder"},{"$ref":"#/components/parameters/QueryParamChronosSort"},{"$ref":"#/components/parameters/QueryParamChronosExpand"},{"$ref":"#/components/parameters/QueryParamChronosExtendedEntities"}],"responses":{"200":{"description":"A JSON object containing two arrays. One with new and updated events and another one with deleted events. The events are\nsorted in ascending order by the field `start_date`. In case of errors the responsible fields in the\nresponse are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChronosUpdatesResponse"}}}}}}},"/chronos?action=zipAttachments":{"put":{"operationId":"getZippedEventAttachments","tags":["Chronos"],"summary":"Gets a ZIP archive for multiple attachments of an event.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/QueryParamChronosID"},{"$ref":"#/components/parameters/QueryParamChronosFolder"}],"responses":{"200":{"description":"The raw data of the ZIP archive. In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).","content":{"application/zip":{"schema":{"type":"string","format":"byte"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}},"description":"A JSON array with the identifiers of the attachments, which shall be put into ZIP archive","required":true}}},"/chronos/itip?action=accept":{"put":{"operationId":"accept","tags":["Chronos"],"summary":"Accepts an itip invitation.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"message","description":"The comment the attendee wants to transmit","required":false,"schema":{"type":"string"}},{"in":"query","name":"dataSource","description":"The identifier of the data source. Currently only \"com.openexchange.mail.ical\" is valid.","required":true,"schema":{"type":"string","default":"com.openexchange.mail.ical"}},{"in":"query","name":"descriptionFormat","description":"The desired output fromat. Currently only \"html\" is valid.","required":true,"schema":{"type":"string","default":"html"}}],"responses":{"200":{"description":"An array of Events that were newly created or changed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionResponse"}}}}},"requestBody":{"$ref":"#/components/requestBodies/ConversionDataSource"}}},"/chronos/itip?action=accept_and_ignore_conflicts":{"put":{"operationId":"accept_and_ignore_conflicts","tags":["Chronos"],"summary":"Accepts an itip invitation and ignores conflicts ir possible.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"message","description":"The comment the attendee wants to transmit","required":false,"schema":{"type":"string"}},{"in":"query","name":"dataSource","description":"The identifier of the data source. Currently only \"com.openexchange.mail.ical\" is valid.","required":true,"schema":{"type":"string"}},{"in":"query","name":"descriptionFormat","description":"The desired output fromat. Currently only \"html\" is valid.","required":true,"schema":{"type":"string","default":"html"}}],"responses":{"200":{"description":"An array of Events that were newly created or changed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionResponse"}}}}},"requestBody":{"$ref":"#/components/requestBodies/ConversionDataSource"}}},"/chronos/itip?action=analyze":{"put":{"operationId":"analyze","tags":["Chronos"],"summary":"Analyzes an itip message.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"dataSource","description":"The identifier of the data source. Currently only \"com.openexchange.mail.ical\" is valid.","required":true,"schema":{"type":"string","default":"com.openexchange.mail.ical"}},{"in":"query","name":"descriptionFormat","description":"The desired output fromat. Currently only \"html\" is valid.","required":true,"schema":{"type":"string","default":"html"}},{"in":"query","name":"timezone","description":"The timezone to show the event in.","required":false,"schema":{"type":"string","default":"UTC"}}],"responses":{"200":{"description":"An analyze response describing what the ical intends to do and handling suggestions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyzeResponse"}}}}},"requestBody":{"$ref":"#/components/requestBodies/ConversionDataSource"}}},"/chronos/itip?action=decline":{"put":{"operationId":"decline","tags":["Chronos"],"summary":"Declines an itip invitation.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"message","description":"The comment the attendee wants to transmit","required":false,"schema":{"type":"string"}},{"in":"query","name":"dataSource","description":"The identifier of the data source. Currently only \"com.openexchange.mail.ical\" is valid.","required":true,"schema":{"type":"string","default":"com.openexchange.mail.ical"}},{"in":"query","name":"descriptionFormat","description":"The desired output fromat. Currently only \"html\" is valid.","required":true,"schema":{"type":"string","default":"html"}}],"responses":{"200":{"description":"An array of Events that were newly created or changed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionResponse"}}}}},"requestBody":{"$ref":"#/components/requestBodies/ConversionDataSource"}}},"/chronos/itip?action=tentative":{"put":{"operationId":"tentative","tags":["Chronos"],"summary":"Tentatively accepts an itip invitation.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"message","description":"The comment the attendee wants to transmit","required":false,"schema":{"type":"string"}},{"in":"query","name":"dataSource","description":"The identifier of the data source. Currently only \"com.openexchange.mail.ical\" is valid.","required":true,"schema":{"type":"string","default":"com.openexchange.mail.ical"}},{"in":"query","name":"descriptionFormat","description":"The desired output fromat. Currently only \"html\" is valid.","required":true,"schema":{"type":"string","default":"html"}}],"responses":{"200":{"description":"An array of Events that were newly created or changed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionResponse"}}}}},"requestBody":{"$ref":"#/components/requestBodies/ConversionDataSource"}}},"/chronos/itip?action=update":{"put":{"operationId":"update","tags":["Chronos"],"summary":"Updates an event based on an update sent by the organizer or a reply sent to the organizer.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"dataSource","description":"The identifier of the data source. Currently only \"com.openexchange.mail.ical\" is valid.","required":true,"schema":{"type":"string","default":"com.openexchange.mail.ical"}},{"in":"query","name":"descriptionFormat","description":"The desired output fromat. Currently only \"html\" is valid.","required":true,"schema":{"type":"string","default":"html"}}],"responses":{"200":{"description":"An array of Events that were newly created or changed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionResponse"}}}}},"requestBody":{"$ref":"#/components/requestBodies/ConversionDataSource"}}},"/chronos/itip?action=delete":{"put":{"operationId":"cancel","tags":["Chronos"],"summary":"Deletes an event that has been cancled via iTIP","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"message","description":"The comment the attendee wants to transmit","required":false,"schema":{"type":"string"}},{"in":"query","name":"dataSource","description":"The identifier of the data source. Currently only \"com.openexchange.mail.ical\" is valid.","required":true,"schema":{"type":"string"}},{"in":"query","name":"descriptionFormat","description":"The desired output fromat. Currently only \"html\" is valid.","required":true,"schema":{"type":"string","default":"html"}}],"responses":{"200":{"description":"An array of Events that were newly created or changed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionResponse"}}}}},"requestBody":{"$ref":"#/components/requestBodies/ConversionDataSource"}}},"/chronos/schedjoules?action=browse":{"get":{"operationId":"browse","tags":["Chronos"],"summary":"Browses a specific page of the SchedJoules calendars catalog. If no 'id' is provided, then the root page is returned.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"The identifier of the page.","required":false,"schema":{"type":"integer"}},{"$ref":"#/components/parameters/QueryParamChronosSchedJoulesLanguage"},{"in":"query","name":"country","description":"The country/location for which to fetch the available catalog pages from the SchedJoules. If none is provided then \nthe country of the user's session will be used. If that one is not available then falls back to 'us'. The 'country' \nparameter is only used for the root page. Otherwise it has no effect.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing the result of the browse operation. The structure of the returned JSON object can be found\nhere (https://github.com/schedjoules/calendar-store-api/blob/master/details/pages.md)\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrowseResponse"}}}}}}},"/chronos/schedjoules?action=countries":{"get":{"operationId":"countries","tags":["Chronos"],"summary":"Retreives a list of all countries that are supported by SchedJoules.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/QueryParamChronosSchedJoulesLanguage"}],"responses":{"200":{"description":"An object containing all supported countries. In case of errors the\nresponsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CountriesResponse"}}}}}}},"/chronos/schedjoules?action=languages":{"get":{"operationId":"languages","tags":["Chronos"],"summary":"Retrieves a list of all supported languages by SchedJoules","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"An object containing all supported languages. In case of errors the\nresponsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LanguagesResponse"}}}}}}},"/chronos/schedjoules?action=search":{"get":{"operationId":"search","tags":["Chronos"],"summary":"Performs a full text search with the specified query.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"query","description":"The query","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/QueryParamChronosSchedJoulesLanguage"},{"in":"query","name":"maxRows","description":"Specifies the maximum amount of results to return. If not specified, then it will fall back to '20'\n","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"A JSON object containing the result of the browse operation. The structure of the returned JSON object can be found\nhere (https://github.com/schedjoules/calendar-store-api/blob/master/details/pages.md)\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchResponse"}}}}}}},"/config?action=get_property":{"get":{"operationId":"getConfigProperty","tags":["Config"],"summary":"Gets a property of the configuration.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"name","description":"The name of the property to return.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON response providing the property's name and its value. In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfigPropertyResponse"}}}}}}},"/config?action=set_property":{"put":{"operationId":"setConfigProperty","tags":["Config"],"summary":"Sets a property of the configuration.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"name","description":"The name of the property to return.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON response providing the property's name and its value. In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfigPropertyResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfigPropertyBody"}}},"description":"A JSON object providing the value to set (Example: {\"value\":\"test123\"}).","required":true}}},"/config/{path}":{"get":{"operationId":"getConfigNode","tags":["Config"],"summary":"Gets data of a configuration node.","description":"The configuration is stored in a tree. Each node of the tree has a name and a value.\nThe values of leaf nodes are strings which store the actual configuration data. The\nvalues of inner nodes are defined recursively as objects with one field for each child node.\nThe name and the value of each field is the name and the value of the corresponding child\nnode, respectively.\n","parameters":[{"$ref":"#/components/parameters/gblPathParamConfigNode"},{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"Value of the node specified by path. In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfigResponse"}}}}}},"put":{"operationId":"putConfigNode","tags":["Config"],"summary":"Sets the value of a configuration node.","description":"The configuration is stored in a tree. Each node of the tree has a name and a value.\nThe values of leaf nodes are strings which store the actual configuration data. The\nvalues of inner nodes are defined recursively as objects with one field for each child node.\nThe name and the value of each field is the name and the value of the corresponding child\nnode, respectively.\n","parameters":[{"$ref":"#/components/parameters/gblPathParamConfigNode"},{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfigBody"}}},"description":"A JSON object containing the value of the config node.","required":true}}},"/contacts?action=advancedSearch":{"put":{"operationId":"searchContactsAdvanced","tags":["Contacts"],"summary":"Search for contacts by filter.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamContactColumns"},{"in":"query","name":"sort","description":"The identifier of a column which determines the sort order of the response. If this parameter is specified , then the parameter order must be also specified.","required":false,"schema":{"type":"string"}},{"in":"query","name":"order","description":"\"asc\" if the response entires should be sorted in the ascending order, \"desc\" if the response entries should be sorted in the descending order. If this parameter is specified, then the parameter sort must be also specified.","required":false,"schema":{"type":"string"}},{"in":"query","name":"collation","description":"Allows you to specify a collation to sort the contacts by. Only supports \"gbk\" and \"gb2312\", not needed for other languages. Parameter sort should be set for this to work.","required":false,"schema":{"type":"string","enum":["gbk","gb2312"]}},{"in":"query","name":"admin","description":"(DEPRECATED) Specifies whether to include the contact representing the admin in the result or not. Defaults to `true`.","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"A JSON object containing an array with matching contacts. Contacts are represented by arrays. The elements of each array contain the\ninformation specified by the corresponding identifiers in the `columns` parameter. In case of errors the\nresponsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactsResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"A JSON object describing the search term as introducted in [Advanced search](https://documentation.open-xchange.com/latest/middleware/http_api/5_advanced_search.html). Example:\n`{\"filter\":[\"and\",[\"=\", {\"field\":\"last_name\"},\"Mustermann\"],[\"=\",{\"field\":\"first_name\"},\"Max\"]]}`\nwhich represents 'last_name = \"Mustermann\" AND first_name = \"Max\"'. Valid fields are the ones specified in [Contact data](#/definitions/ContactData) model.\n","required":true}}},"/contacts?action=all":{"get":{"operationId":"getAllContacts","tags":["Contacts"],"summary":"Gets all contacts.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamContactFolder"},{"$ref":"#/components/parameters/gblQueryParamContactColumns"},{"in":"query","name":"sort","description":"The identifier of a column which determines the sort order of the response. If this parameter is specified, then the parameter order must be also specified.","required":false,"schema":{"type":"string"}},{"in":"query","name":"order","description":"\"asc\" if the response entities should be sorted in the ascending order, \"desc\" if the response entries should be sorted in the descending order. If this parameter is specified, then the parameter sort must be also specified.","required":false,"schema":{"type":"string"}},{"in":"query","name":"admin","description":"(DEPRECATED) Defines whether the context admin should be included or not. Defaults to `true`.","required":false,"schema":{"type":"boolean"}},{"in":"query","name":"collation","description":"Allows you to specify a collation to sort the contacts by. Only supports \"gbk\" and \"gb2312\", not needed for other languages. Parameter sort should be set for this to work.","required":false,"schema":{"type":"string","enum":["gbk","gb2312"]}}],"responses":{"200":{"description":"A JSON object containing an array with data for all contacts. Each array element describes one contact and\nis itself an array. The elements of each array contain the information specified by the corresponding\nidentifiers in the `columns` parameter. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactsResponse"}}}}}}},"/contacts?action=anniversaries":{"get":{"operationId":"searchContactsByAnniversary","tags":["Contacts"],"summary":"Search for contacts by anniversary.","description":"Finds contacts whose anniversary falls into a specified time range.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamContactColumns"},{"in":"query","name":"start","description":"The lower (inclusive) limit of the requested time range.","required":true,"schema":{"type":"integer","format":"int64"}},{"in":"query","name":"end","description":"The upper (exclusive) limit of the requested time range.","required":true,"schema":{"type":"integer","format":"int64"}},{"in":"query","name":"folder","description":"Object ID of the parent folder that is searched. If not set, all visible folders are used.","required":false,"schema":{"type":"string"}},{"in":"query","name":"sort","description":"The identifier of a column which determines the sort order of the response. If this parameter is specified , then the parameter order must be also specified.","required":false,"schema":{"type":"string"}},{"in":"query","name":"order","description":"\"asc\" if the response entires should be sorted in the ascending order, \"desc\" if the response entries should be sorted in the descending order. If this parameter is specified, then the parameter sort must be also specified.","required":false,"schema":{"type":"string"}},{"in":"query","name":"collation","description":"Allows you to specify a collation to sort the contacts by. Only supports \"gbk\" and \"gb2312\", not needed for other languages. Parameter sort should be set for this to work.","required":false,"schema":{"type":"string","enum":["gbk","gb2312"]}}],"responses":{"200":{"description":"A JSON object containing an array with matching contacts. Contacts are represented by arrays. The elements of each array contain the\ninformation specified by the corresponding identifiers in the `columns` parameter. In case of errors the\nresponsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactsResponse"}}}}}}},"/contacts?action=autocomplete":{"get":{"operationId":"doAutoCompleteContacts","tags":["Contacts"],"summary":"Auto-complete contacts.","description":"Finds contacts based on a prefix, usually used to auto-complete e-mail recipients while the user is typing.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamContactColumns"},{"in":"query","name":"query","description":"The query to search for.","required":true,"schema":{"type":"string"}},{"in":"query","name":"email","description":"Whether to only include contacts with at least one e-mail address. Defaults to `true`.","required":false,"schema":{"type":"boolean","default":true}},{"in":"query","name":"folder","description":"Object ID of the parent folder that is searched. If not set, all visible folders are used.","required":false,"schema":{"type":"string"}},{"in":"query","name":"sort","description":"The identifier of a column which determines the sort order of the response. If this parameter is specified, then the parameter order must be also specified. If this parameter is missing, response is sorted by a user-specific use count of contacts, ID of contacts' parent folder and display name.","required":false,"schema":{"type":"string"}},{"in":"query","name":"order","description":"\"asc\" if the response entires should be sorted in the ascending order, \"desc\" if the response entries should be sorted in the descending order. If this parameter is specified, then the parameter sort must be also specified.","required":false,"schema":{"type":"string"}},{"in":"query","name":"collation","description":"Allows you to specify a collation to sort the contacts by. Only supports \"gbk\" and \"gb2312\", not needed for other languages. Parameter sort should be set for this to work.","required":false,"schema":{"type":"string","enum":["gbk","gb2312"]}},{"in":"query","name":"left_hand_limit","description":"A positive integer number to specify the \"left-hand\" limit of the range to return.","required":false,"schema":{"type":"integer"}},{"in":"query","name":"right_hand_limit","description":"A positive integer number to specify the \"right-hand\" limit of the range to return.","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"A JSON object containing the contact data. Contacts are represented by arrays. The elements of each array contain the\ninformation specified by the corresponding identifiers in the `columns` parameter. In case of errors the\nresponsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactsResponse"}}}}}}},"/contacts?action=birthdays":{"get":{"operationId":"searchContactsByBirthday","tags":["Contacts"],"summary":"Search for contacts by birthday.","description":"Finds contacts whose birthday falls into a specified time range.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamContactColumns"},{"in":"query","name":"start","description":"The lower (inclusive) limit of the requested time range.","required":true,"schema":{"type":"integer","format":"int64"}},{"in":"query","name":"end","description":"The upper (exclusive) limit of the requested time range.","required":true,"schema":{"type":"integer","format":"int64"}},{"in":"query","name":"folder","description":"Object ID of the parent folder that is searched. If not set, all visible folders are used.","required":false,"schema":{"type":"string"}},{"in":"query","name":"sort","description":"The identifier of a column which determines the sort order of the response. If this parameter is specified , then the parameter order must be also specified.","required":false,"schema":{"type":"string"}},{"in":"query","name":"order","description":"\"asc\" if the response entires should be sorted in the ascending order, \"desc\" if the response entries should be sorted in the descending order. If this parameter is specified, then the parameter sort must be also specified.","required":false,"schema":{"type":"string"}},{"in":"query","name":"collation","description":"Allows you to specify a collation to sort the contacts by. Only supports \"gbk\" and \"gb2312\", not needed for other languages. Parameter sort should be set for this to work.","required":false,"schema":{"type":"string","enum":["gbk","gb2312"]}}],"responses":{"200":{"description":"A JSON object containing an array with matching contacts. Contacts are represented by arrays. The elements of each array contain the\ninformation specified by the corresponding identifiers in the `columns` parameter. In case of errors the\nresponsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactsResponse"}}}}}}},"/contacts?action=delete":{"put":{"operationId":"deleteContacts","tags":["Contacts"],"summary":"Deletes contacts.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"timestamp","description":"Timestamp of the last update of the deleted contacts.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"A JSON array with object IDs of contacts which were modified after the specified timestamp and were therefore not deleted.\nIn case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactDeletionsResponse"}}}}},"requestBody":{"$ref":"#/components/requestBodies/ContactListElementArray"}}},"/contacts?action=get":{"get":{"operationId":"getContact","tags":["Contacts"],"summary":"Gets a contact.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"Object ID of the requested contact.","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/gblQueryParamContactFolder"}],"responses":{"200":{"description":"An object containing all data of the requested contact. In case of errors the\nresponsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactResponse"}}}}}}},"/contacts?action=getuser":{"get":{"operationId":"getContactByUser","tags":["Contacts"],"summary":"Gets a contact by user ID.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"User ID (not Object ID) of the requested user.","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"An object containing all data of the requested contact. In case of errors the\nresponsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactResponse"}}}}}}},"/contacts?action=list":{"put":{"operationId":"getContactList","tags":["Contacts"],"summary":"Gets a list of contacts.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamContactColumns"}],"responses":{"200":{"description":"A JSON object containing an array with data for the requested contacts. Each array element describes one contact and\nis itself an array. The elements of each array contain the information specified by the corresponding\nidentifiers in the `columns` parameter. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactsResponse"}}}}},"requestBody":{"$ref":"#/components/requestBodies/ContactListElementArray"}}},"/contacts?action=listuser":{"put":{"operationId":"getContactListByUsers","tags":["Contacts"],"summary":"Gets a list of users.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamContactColumns"}],"responses":{"200":{"description":"A JSON object containing an array with contact data. Each array element describes one contact and\nis itself an array. The elements of each array contain the information specified by the corresponding\nidentifiers in the `columns` parameter. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactsResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"integer"}}}},"description":"A JSON array with user IDs.","required":true}}},"/contacts?action=new":{"put":{"operationId":"createContact","tags":["Contacts"],"summary":"Creates a contact.","description":"Creates a new contact. This request cannot add contact images. Therefor it\nis necessary to use the `POST` method.\n","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A JSON object containing the ID of the newly created contact. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactUpdateResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactData"}}},"description":"A JSON object containing the contact's data. The field id is not included.","required":true}},"post":{"operationId":"createContactAdvanced","tags":["Contacts"],"summary":"Creates a contact.","description":"Creates a new contact with contact images. The normal request body must be placed as form-data using the\ncontent-type `multipart/form-data`. The form field `json` contains the contact's data while the image file\nmust be placed in a file field named `file` (see also [File uploads](#file-uploads)).\n","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A HTML page as described in [File uploads](#file-uploads) containing the object ID of the contact or errors if some occurred.\n","content":{"text/html":{"schema":{"type":"string"}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","title":"createContactAdvancedBody","properties":{"json":{"description":"Represents the normal request body as JSON string containing the contact data as described in the ContactData (see [createContact](#/Contacts/createContact) model.","type":"string"},"file":{"description":"The image file.","type":"string","format":"binary"}},"required":["json","file"]}}}}}},"/contacts?action=search":{"put":{"operationId":"searchContacts","tags":["Contacts"],"summary":"Search for contacts.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamContactColumns"},{"in":"query","name":"sort","description":"The identifier of a column which determines the sort order of the response. If this parameter is specified , then the parameter order must be also specified.","required":false,"schema":{"type":"string"}},{"in":"query","name":"order","description":"\"asc\" if the response entires should be sorted in the ascending order, \"desc\" if the response entries should be sorted in the descending order. If this parameter is specified, then the parameter sort must be also specified.","required":false,"schema":{"type":"string"}},{"in":"query","name":"collation","description":"Allows you to specify a collation to sort the contacts by. Only supports \"gbk\" and \"gb2312\", not needed for other languages. Parameter sort should be set for this to work.","required":false,"schema":{"type":"string","enum":["gbk","gb2312"]}}],"responses":{"200":{"description":"A JSON object containing an array with matching contacts. Contacts are represented by arrays. The elements of each array contain the\ninformation specified by the corresponding identifiers in the `columns` parameter. In case of errors the\nresponsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactsResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactSearchBody"}}},"description":"A JSON object containing search parameters.","required":true}}},"/contacts?action=update":{"put":{"operationId":"updateContact","tags":["Contacts"],"summary":"Updates a contact.","description":"Updates a contact's data. This request cannot change or add contact images. Therefore it\nis necessary to use the `POST` method.\n","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamContactFolder"},{"in":"query","name":"id","description":"Object ID of the contact that shall be updated.","required":true,"schema":{"type":"string"}},{"in":"query","name":"timestamp","description":"Timestamp of the updated contact. If the contact was modified after the specified timestamp, then the update must fail.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"A JSON object with a timestamp. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactUpdateResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactData"}}},"description":"A JSON object containing the contact's data. Only modified fields must be specified. To remove some contact image send the image attribute set to null.","required":true}},"post":{"operationId":"updateContactAdvanced","tags":["Contacts"],"summary":"Updates a contact.","description":"Updates a contact's data and images. The normal request body must be placed as form-data using the\ncontent-type `multipart/form-data`. The form field `json` contains the contact's data while the image file\nmust be placed in a file field named `file` (see also [File uploads](#file-uploads)).\n","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamContactFolder"},{"in":"query","name":"id","description":"Object ID of the contact that shall be updated.","required":true,"schema":{"type":"string"}},{"in":"query","name":"timestamp","description":"Timestamp of the updated contact. If the contact was modified after the specified timestamp, then the update must fail.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"A HTML page as described in [File uploads](#file-uploads) containing the object ID of the contact or errors if some occurred.\n","content":{"text/html":{"schema":{"type":"string"}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","title":"updateContactAdvancedBody","properties":{"json":{"description":"Represents the normal request body as JSON string containing the contact data as described in [ContactData](#/definitions/ContactData) model. Only modified fields must be specified but at least \"{}\".","type":"string","default":"{}"},"file":{"description":"The image file.","type":"string","format":"binary"}},"required":["json","file"]}}}}}},"/contacts?action=updates":{"get":{"operationId":"getContactUpdates","tags":["Contacts"],"summary":"Gets updated contacts.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamContactFolder"},{"$ref":"#/components/parameters/gblQueryParamContactColumns"},{"in":"query","name":"timestamp","description":"Timestamp of the last update of the requested contacts.","required":true,"schema":{"type":"integer","format":"int64"}},{"in":"query","name":"ignore","description":"Which kinds of updates should be ignored. Omit this parameter or set it to \"deleted\" to not have deleted tasks identifier in the response. Set this parameter to `false` and the response contains deleted tasks identifier.","required":false,"schema":{"type":"string","enum":["deleted"]}},{"in":"query","name":"sort","description":"The identifier of a column which determines the sort order of the response. If this parameter is specified, then the parameter order must be also specified.","required":false,"schema":{"type":"string"}},{"in":"query","name":"order","description":"\"asc\" if the response entities should be sorted in the ascending order, \"desc\" if the response entries should be sorted in the descending order. If this parameter is specified, then the parameter sort must be also specified.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"An array with new, modified and deleted contacts. New and modified contacts are represented by arrays.\nThe elements of each array contain the information specified by the corresponding identifiers in the\n`columns` parameter. Deleted contacts (should the ignore parameter be ever implemented) would be identified\nby their object IDs as integers, without being part of a nested array. In case of errors the\nresponsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactUpdatesResponse"}}}}}}},"/contacts/picture?action=get":{"get":{"operationId":"getContactPicture","tags":["Contacts"],"summary":"Gets a picture for a contact.","description":"Tries to get a picture for a given contact. To specify a contact at least one of three informations must be given:\n<ul>\n  <li><code>user_id</code> - an id of an internal user.</li>\n  <li><code>contact_id</code> and <code>folder_id</code> - together those ids identifiy a contact.</li>\n  <li><code>email</code> - an email address.</li>\n</ul>\n","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"user_id","description":"The user identifier.\n","required":false,"schema":{"type":"string"}},{"in":"query","name":"contact_id","description":"The contact identifier.\n","required":false,"schema":{"type":"string"}},{"in":"query","name":"folder_id","description":"The folder id the contact id belongs to.\n","required":false,"schema":{"type":"string"}},{"in":"query","name":"email","description":"The mail address of the contact.\n","required":false,"schema":{"type":"string"}},{"$ref":"#/components/parameters/glbQueryParamsImageTransformationRotate"},{"$ref":"#/components/parameters/glbQueryParamsImageTransformationWidth"},{"$ref":"#/components/parameters/glbQueryParamsImageTransformationHeight"},{"$ref":"#/components/parameters/glbQueryParamsImageTransformationShrinkOnly"},{"$ref":"#/components/parameters/glbQueryParamsImageTransformationScaleType"},{"$ref":"#/components/parameters/glbQueryParamsImageTransformationCropWidth"},{"$ref":"#/components/parameters/glbQueryParamsImageTransformationCropHeight"},{"$ref":"#/components/parameters/glbQueryParamsImageTransformationCropX"},{"$ref":"#/components/parameters/glbQueryParamsImageTransformationCropY"}],"responses":{"200":{"description":"The content of the requested image is directly written into output stream.","content":{"application/json":{"schema":{"type":"string","format":"byte"}}}},"404":{"description":"No image could be found."}}}},"/conversion?action=convert":{"put":{"operationId":"convertData","tags":["Conversion"],"summary":"Converts data from source using a specific data handler.","description":"#### Saving an iCal email attachment\nIf an iCal file is attached to an email, its content can be saved as appointments and tasks into given\ncalendar and task folder. If the fields \"com.openexchange.groupware.calendar.confirmstatus\" and\n\"com.openexchange.groupware.calendar.confirmmessage\" are set, the data handler inserts the appointment with\nthe given status for the user, if the appointment does not exist. If it is already existing, the handler\njust updates the participant status.\n```json\n{\n  \"datasource\": {\n    \"identifier\":\"com.openexchange.mail.ical\",\n    \"args\":\n    [\n      {\"com.openexchange.mail.conversion.fullname\":\"<folder-fullname>\"},\n      {\"com.openexchange.mail.conversion.mailid\":\"<mail-id>\"},\n      {\"com.openexchange.mail.conversion.sequenceid\":\"<attachment-sequence-id>\"}\n    ]\n  },\n  \"datahandler\": {\n    \"identifier\":\"com.openexchange.ical\",\n    \"args\":\n    [\n      {\"com.openexchange.groupware.calendar.folder\":\"<calendar-folder-id>\"},\n      {\"com.openexchange.groupware.task.folder\":\"<task-folder-id>\"},\n      {\"com.openexchange.groupware.calendar.confirmstatus\":\"<status>\"},\n      {\"com.openexchange.groupware.calendar.confirmmessage\":\"<message>\"}\n    ]\n  }\n}\n```\nThe response is a JSON array of JSON objects each providing folder and object ID of added appointments/tasks, e.g.\n`[{\"folder_id\":2567,\"id\":7689}, ...]`.\n#### Converting an iCal email attachment into JSON objects\nIf an iCal file is attached to an email, its content can be converted to JSON appointments and tasks.\n```json\n{\n  \"datasource\": {\n    \"identifier\":\"com.openexchange.mail.ical\",\n    \"args\":\n    [\n      {\"com.openexchange.mail.conversion.fullname\":\"<folder-fullname>\"},\n      {\"com.openexchange.mail.conversion.mailid\":\"<mail-id>\"},\n      {\"com.openexchange.mail.conversion.sequenceid\":\"<attachment-sequence-id>\"}\n    ]\n  },\n  \"datahandler\": {\n    \"identifier\":\"com.openexchange.ical.json\",\n    \"args\":\n    [\n      {\"com.openexchange.groupware.calendar.timezone\":\"<timezone-id>\"},\n      {\"com.openexchange.groupware.calendar.recurrencePosition\":\"<recurrence-position>\"},\n      {\"com.openexchange.groupware.calendar.searchobject\":\"<true|false>\"}\n    ]\n  }\n}\n```\nThe response is a JSON array of JSON objects for each appointment/task. See the TaskData model of the [getTask](#tasks/getTask) request and the AppointmentData model of the [getAttachment](#attachments/getAttachment) request for more informations.\n#### Saving a vCard email attachment\nIf a vCard file is attached to an email, its content can be saved as contacts into given contact folder.\n```json\n{\n  \"datasource\": {\n    \"identifier\":\"com.openexchange.mail.vcard\",\n    \"args\":\n    [\n      {\"com.openexchange.mail.conversion.fullname\":\"<folder-fullname>\"},\n      {\"com.openexchange.mail.conversion.mailid\":\"<mail-id>\"},\n      {\"com.openexchange.mail.conversion.sequenceid\":\"<attachment-sequence-id>\"}\n    ]\n  },\n  \"datahandler\": {\n    \"identifier\":\"com.openexchange.contact\",\n    \"args\":\n    [\n      {\"com.openexchange.groupware.contact.folder\":\"<contact-folder-id>\"}\n    ]\n  }\n}\n```\nThe response is a JSON array of JSON objects each providing folder and object ID of added contacts, e.g.\n`[{\"folder_id\":2567,\"id\":7689}, ...]`.\n#### Contact(s) attached to a new email as a vCard file\nObtain vCard data from spacified contact object(s).\n```json\n{\n  \"datasource\": {\n    \"identifier\":\"com.openexchange.contact\",\n    \"args\":\n    [\n      {\"folder\":\"<folder-id1>\",\"id\":\"<id1>\"},\n      ...,\n      \"folder\":\"<folder-idn>\",\"id\":\"<idn>\"\n    ]\n  },\n  \"datahandler\": {\n    \"identifier\":\"com.openexchange.mail.vcard\",\n    \"args\": []\n  }\n}\n```\nThe response is a JSON object containing mail data. See the MailData model of the [getMail](#mail/getMail) request.\n`[{\"folder_id\":2567,\"id\":7689}, ...]`.\n","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"The conversion result. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConversionResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConversionBody"}}},"description":"A JSON object the data source object and the data handler object.","required":true}}},"/gdpr/dataexport/{id}":{"get":{"operationId":"getDataExport","tags":["DataExport"],"summary":"Downloads the available result file package from user-associated data export task","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"path","name":"id","description":"The ID of the composition space","required":true,"schema":{"type":"string"}},{"in":"query","name":"number","description":"The number of the package","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"A ZIP archive.","content":{"application/zip":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Bad request, response contains error message."},"401":{"description":"Not authorized"}}}},"/gdpr/dataexport":{"get":{"operationId":"getDataExportTask","tags":["DataExport"],"summary":"Loads the available data export task for session-associated user","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A JSON object containing the requested data export task.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataExportTaskResponse"}}}},"400":{"description":"Bad request, response contains error message."},"401":{"description":"Not authorized"}}},"delete":{"operationId":"cancelDataExportTask","tags":["DataExport"],"summary":"Cancels the data export for session-associated user","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A JSON object containing the success status.","content":{"application/json":{"schema":{"type":"object","title":"cancelDataExportTaskResponse","properties":{"success":{"type":"boolean","description":"True if such a data export task has been successfully canceled; false otherwise"}}}}}},"400":{"description":"Bad request, response contains error message."},"401":{"description":"Not authorized"}}},"post":{"operationId":"submitDataExportTask","tags":["DataExport"],"summary":"Submits a data export task for execution","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"deleteOldDataExport","description":"A flag indicating whether previously completed data export is supposed to be deleted prior to submitting a new one.","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"A JSON object containing the success status.","content":{"application/json":{"schema":{"type":"object","title":"submitDataExportTaskResponse","properties":{"success":{"type":"boolean","description":"True if such a data export task has been successfully canceled; false otherwise"}}}}}},"400":{"description":"Bad request, response contains error message."},"401":{"description":"Not authorized"}},"requestBody":{"description":"A JSON object containing the modules and associated parameters.","content":{"application/json":{"schema":{"type":"string"}}}}}},"/gdpr/dataexport/availableModules":{"get":{"operationId":"getDataExportAvailableModules","tags":["DataExport"],"summary":"Loads the available data export modules for session-associated user","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A JSON object containing the available modules.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataExportModules"}}}},"400":{"description":"Bad request, response contains error message."},"401":{"description":"Not authorized"}}}},"/gdpr/dataexport/delete":{"delete":{"operationId":"deleteDataExportTask","tags":["DataExport"],"summary":"Deletes the result files and all resourcess of data export task for session-associated user","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A JSON object containing the success status.","content":{"application/json":{"schema":{"type":"object","title":"deleteDataExportTaskResponse","properties":{"success":{"type":"boolean","description":"True if such resources for data export task has been successfully deleted; false otherwise"}}}}}},"400":{"description":"Bad request, response contains error message."},"401":{"description":"Not authorized"}}}},"/export?action=CSV":{"get":{"operationId":"exportAsCSV_get_req","tags":["Export"],"summary":"Exports contact data to a CSV file.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"folder","description":"Object ID of the folder whose content shall be exported. This must be a contact folder.","required":true,"schema":{"type":"string"}},{"in":"query","name":"columns","description":"A comma-separated list of columns to export, like \"501,502\". A column is specified by a numeric column identifier, see [Detailed contact data](#detailed-contact-data).","required":false,"schema":{"type":"string"}},{"in":"query","name":"export_dlists","description":"Toggles whether distribution lists shall be exported too (default is `false`).","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"An input stream containing the content of the CSV file with the MIME type `text/csv`.","content":{"application/json":{"schema":{"type":"string"}}}}}},"put":{"operationId":"exportAsCSV_put_req","tags":["Export"],"summary":"Exports a batch of contact data to a CSV file.","description":"Exports a batch of contact data to a CSV file.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"An input stream containing the content of the CSV file with the MIME type `text/csv`.","content":{"application/json":{"schema":{"type":"string"}}}}},"requestBody":{"$ref":"#/components/requestBodies/InfoItemExportArray"}}},"/export?action=ICAL":{"get":{"operationId":"exportAsICal_get_req","tags":["Export"],"summary":"Exports appointment and task data to an iCalendar file.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"folder","description":"Object ID of the folder whose content shall be exported. This must be a calendar folder.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"An input stream containing the content of the iCal file with the MIME type `text/calendar`.","content":{"application/json":{"schema":{"type":"string"}}}}}},"put":{"operationId":"exportAsICal","tags":["Export"],"summary":"Exports a batch of appointments and tasks data to a iCalendar file.","description":"Exports a batch of appointments and tasks data to a iCalendar file.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"An input stream containing the content of the vCard file with the MIME type `text/calendar`.","content":{"application/json":{"schema":{"type":"string"}}}}},"requestBody":{"$ref":"#/components/requestBodies/InfoItemExportArray"}}},"/export?action=VCARD":{"get":{"operationId":"exportAsVCard_get_req","tags":["Export"],"summary":"Exports contact data to a vCard file.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"folder","description":"Object ID of the folder whose content shall be exported. This must be a contact folder. Only required if there is no ids parameter submitted.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"An input stream containing the content of the vCard file with the MIME type `text/x-vcard`.","content":{"application/json":{"schema":{"type":"string"}}}}}},"put":{"operationId":"exportAsVCard_put_req","tags":["Export"],"summary":"Exports a batch of contact data to a vCard file.","description":"Exports a batch of contact data to a vCard file.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"An input stream containing the content of the vCard file with the MIME type `text/x-vcard`.","content":{"application/json":{"schema":{"type":"string"}}}}},"requestBody":{"$ref":"#/components/requestBodies/InfoItemExportArray"}}},"/file?action=get":{"get":{"operationId":"getFile","tags":["File"],"summary":"Requests a formerly uploaded file.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"The ID of the uploaded file.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The content of the requested file is directly written into output stream.","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"404":{"description":"Not found."}}}},"/file?action=keepalive":{"get":{"operationId":"keepAlive","tags":["File"],"summary":"Updates a file's last access timestamp and keeps it alive.","description":"By updating the last access timestamp the file is prevented from being deleted from both session and disk\nstorage.\n","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"The ID of the uploaded file whose timestamp should be updated.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonResponse"}}}}}}},"/file?action=new":{"post":{"operationId":"uploadFile","tags":["File"],"summary":"Uploads a file.","description":"It can be uploaded multiple files at once. Each file must be specified in an own form field\n(the form field name is arbitrary).\n","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"module","description":"The module for which the file is uploaded to determine proper upload quota constraints (e.g. \"mail\", \"infostore\", etc.).","required":true,"schema":{"type":"string"}},{"in":"query","name":"type","description":"The file type filter to define which file types are allowed during upload. Currently supported filters are: file (for all), text (for `text/*`), media (for image, audio or video), image (for `image/*`), audio (for `audio/*`), video (for `video/*`) and application (for `application/*`).","required":true,"schema":{"type":"string","enum":["file","text","media","image","audio","video","application"]}}],"responses":{"200":{"description":"A HTML page as described in [File uploads](#file-uploads) containing a JSON array with the IDs of\nthe uploaded files or errors if some occurred. The files are accessible through the returned IDs\nfor future use.\n","content":{"text/html":{"schema":{"type":"string"}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","title":"uploadFileBody","properties":{"file":{"description":"The file to upload.","type":"string","format":"binary"}},"required":["file"]}}}}}},"/fileaccount?action=all":{"get":{"operationId":"getAllFileAccounts","tags":["Filestorage"],"summary":"Gets all file storage accounts.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"filestorageService","description":"The identifier of a file storage service to list only those accounts that belong to that file storage service.","required":false,"schema":{"type":"string"}},{"in":"query","name":"connectionCheck","description":"If set to true, a connection check is performed for each queried file storage account. In case the connection check failed, the hasError flag is set to true in the returned response object, and also an error object describing the cause of the failure is included.","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"A JSON object containing an array with JSON objects each describing one file storage account. In case\nof errors the responsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileAccountsResponse"}}}}}}},"/fileaccount?action=delete":{"get":{"operationId":"deleteFileAccount","tags":["Filestorage"],"summary":"Deletes a file storage account.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"filestorageService","description":"The identifier of the file storage service the account belongs to.","required":true,"schema":{"type":"string"}},{"in":"query","name":"id","description":"The ID of the account to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing the number 1 on success. In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileAccountUpdateResponse"}}}}}}},"/fileaccount?action=get":{"get":{"operationId":"getFileAccount","tags":["Filestorage"],"summary":"Gets a file storage account.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"filestorageService","description":"The identifier of the file storage service the account belongs to.","required":true,"schema":{"type":"string"}},{"in":"query","name":"id","description":"The ID of the requested account.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing the data of the file storage account. In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileAccountResponse"}}}}}}},"/fileaccount?action=new":{"put":{"operationId":"createFileAccount","tags":["Filestorage"],"summary":"Creates a file storage account.","description":"#### Example for creating a new OAuth-based file storage account\nFirst, get the description of the file storage service for which a new account is supposed to be created:\n`GET /ajax/fileservice?action=get&id=boxcom&session=...`\n\nThe response might be:\n```json\n{\n  id: \"boxcom\",\n  displayName: \"Box File Storage Service\",\n  configuration: {\n    widget: \"oauthAccount\",\n    options: {\n      type: \"com.openexchange.oauth.boxcom\"\n    },\n    name: \"account\",\n    displayName: \"Select an existing account\",\n    mandatory: true\n  }\n}\n```\nNext get the associated OAuth account information:\n`GET /ajax/oauth/accounts?action=all&serviceId=com.openexchange.oauth.boxcom&session=...`\n\nThe response might be:\n```json\n{\n  \"data\":[\n    {\n      \"id\":333,\n      \"displayName\":\"My Box.com account\",\n      \"serviceId\":\"com.openexchange.oauth.boxcom\"\n    }\n  ]\n}\n```\nFinally, create the file storage account:\n```\nPUT /ajax/fileaccount?action=new&session=...\n\n{\n  \"filestorageService\":\"boxcom\",\n  \"displayName\":\"My box.com account\",\n  \"configuration\":{\n    \"account\":\"333\",\n    \"type\":\"com.openexchange.oauth.boxcom\"\n  }\n}\n```\nThe response provides the relative identifier of the newly created account.\n","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A JSON object containing the ID of the newly created account. In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileAccountCreationResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileAccountData"}}},"description":"A JSON object describing the account to create, with at least the field `filestorageService` set.","required":true}}},"/fileaccount?action=update":{"put":{"operationId":"updateFileAccount","tags":["Filestorage"],"summary":"Updates a file storage account.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A JSON object containing the number 1 on success. In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileAccountCreationResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileAccountData"}}},"description":"A JSON object describing the updated data of the account. The fields `id` and `filestorageService` must be set.","required":true}}},"/fileservice?action=all":{"get":{"operationId":"getAllFileServices","tags":["Filestorage"],"summary":"Gets all file storage services.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A JSON object containing an array with JSON objects each describing one file storage service. In case\nof errors the responsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileServicesResponse"}}}}}}},"/fileservice?action=get":{"get":{"operationId":"getFileService","tags":["Filestorage"],"summary":"Gets a file storage service.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"The ID of the file storage service to load.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing the data of the file storage service. In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileServiceResponse"}}}}}}},"/find?action=autocomplete":{"put":{"operationId":"doAutoComplete","tags":["Find"],"summary":"Suggests possible search filters based on a user's input.","description":"Filters are grouped into categories, the so called facets.\n#### Facets\nThe style of a facet is responsible for how the according object is structured, how it is handled on the\nserver-side and how the client has to handle it. We distinguish three styles of facets:\n * simple\n * default\n * exclusive\n___\nEvery facet value contains an embedded `filter` object. The filter must not be changed by the client, it has\nto be seen as a black-box. Instead the filters of selected facet values have to be copied and sent to the\nserver with the subsequent requests.\n#### Simple facets\nA simple facet is a special facet that has exactly one value. The facet's type and its value are strictly\ncoupled, in a way that a display name for both, facet and value would be redundant. A simple facet generally\ndenotes a logical field like 'phone number'. Internally this logical field can map to several internal\nfields (e.g. 'phone_private', 'phone_mobile', 'phone_business'). In clients the facet as a whole can be\ndisplayed as a single item. Example: \"Search for 'term' in field 'phone number'\".\n#### Default facets\nA default facet contains multiple values and may be present multiple times in search requests to filter\nresults by a combination of different values (e.g. \"mails with 'foo' and 'bar' in subject\").\n\nFacet values may be one- or two-dimensional. A one-dimensional value can be displayed as is and contains an\naccording filter object. A two-dimensional value contains an array \"options\" with every option defining\ndifferent semantics of how the value is used to filter the search results.\n#### Exclusive facets\nAn exclusive facet is a facet where the contained values are mutually exclusive. That means that the facet\nmust only be present once in an autocomplete or query request.\n\nFacet values may be one- or two-dimensional. A one-dimensional value can be displayed as is and contains an\naccording filter object. A two-dimensional value contains an array \"options\" with every option defining\ndifferent semantics of how the value is used to filter the search results.\n","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"module","description":"The name of the module within that the search shall be performed. Possible modules are: mail, contacts,\ncalendar, tasks, drive. Because a user may have limited access to modules the useable modules might only\nbe a subset of the available ones. Retrieve a list of allowed modules by querying the user configuration,\nsee module \"config\" (path `search`) or module \"JSlob\" (e.g. `id=io.ox/core`).\n","required":true,"schema":{"type":"string"}},{"in":"query","name":"limit","description":"The maximum number of values returned per facet.","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"A JSON object containing the facets that were found. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FindAutoCompleteResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FindAutoCompleteBody"}}},"description":"A JSON object containing the user's input (specified in field `prefix`), already selected `facets`, and possible `options`.","required":true}}},"/find?action=query":{"put":{"operationId":"doQuery","tags":["Find"],"summary":"Performs the actual search and returns the found items.","description":"Before querying the search you should fetch the search filters (facets) by calling the [/find?action=autocomplete](#operation--find-action-autocomplete-put) \nrequest.\n#### Active facets\nEvery value that has been selected by a user must be remembered and provided with every subsequent request.\nThe representation of a facet within a request body differs from the one within an autocomplete response.\nWe call those \"active facets\". Their representation is independent from their style.\n","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"module","description":"The name of the module within that the search shall be performed. Possible modules are: mail, contacts,\ncalendar, tasks, drive. Because a user may have limited access to modules the useable modules might only\nbe a subset of the available ones. Retrieve a list of allowed modules by querying the user configuration,\nsee module \"config\" (path `search`) or module \"JSlob\" (e.g. `id=io.ox/core`).\n","required":true,"schema":{"type":"string"}},{"in":"query","name":"columns","description":"A comma-separated list of module-specific columns that shall be contained in the response items. \nSee [Column identifiers](#column-identifiers) for the numeric IDs of fields for specific modules.\n","required":false,"schema":{"type":"string"}},{"in":"query","name":"fields","description":"A comma-separated list of field identifiers. This parameter must be used instead of columns in case the module is set to 'calendar'.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing the search result. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FindQueryResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FindQueryBody"}}},"description":"A JSON object containing the selected `facets` and possible `options`. For pagination the keys `start` and `size` can be set.","required":true}}},"/folders?action=allVisible":{"get":{"operationId":"getVisibleFolders","tags":["Folders"],"summary":"Gets all visible folders of a certain module.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamFolderTree"},{"in":"query","name":"content_type","description":"The desired content type (either numbers or strings; e.g. \"tasks\", \"calendar\", \"contacts\", \"mail\", \"infostore\").","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/gblQueryParamFolderColumns"},{"$ref":"#/components/parameters/gblQueryParamLanguage"},{"in":"query","name":"all","description":"Whether or not to include subscribed folders.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"A JSON object containing three fields: \"private\", \"public, and \"shared\". Each field is a JSON array with data for all folders. \nEach folder is itself described by an array. The elements of each array contain the information specified by the corresponding identifiers in the columns parameter. \nFor the content_type \"mail\" a JSON object only containing the JSON array \"private\" is returned. Mail folders are managed by the mail storage and all are considered \nto be in private folder namespace for an Open-Xchange user.\nIn case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FoldersVisibilityResponse"}}}}}}},"/folders?action=checklimits":{"put":{"operationId":"checkLimits","tags":["Folders"],"summary":"Checks the existing upload for given type.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"Object ID of the folder to check.","required":true,"schema":{"type":"string"}},{"in":"query","name":"type","description":"The type of the files to upload (e. g. 'filestorage, 'pim')","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FolderCheckLimitsResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FolderCheckLimitsData"}}},"description":"A JSON object containing an array of file meta data (size and name).","required":true}}},"/folders?action=clear":{"put":{"operationId":"clearFolders","tags":["Folders"],"summary":"Clears the content of a list of folders.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamFolderTree"},{"$ref":"#/components/parameters/gblQueryParamAllowedModules"},{"in":"query","name":"pushToken","description":"The client's push token to restrict the generated drive event","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON array containing the IDs of folders that could not be cleared due to a concurrent modification.\nMeaning you receive an empty JSON array if everything worked well. In case of errors the responsible\nfields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FoldersCleanUpResponse"}}}}},"requestBody":{"$ref":"#/components/requestBodies/deleteFoldersBody"}}},"/folders?action=delete":{"put":{"operationId":"deleteFolders","tags":["Folders"],"summary":"Deletes a list of folders.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamFolderTree"},{"in":"query","name":"timestamp","description":"The optional timestamp of the last update of the deleted folders.","required":false,"schema":{"type":"integer","format":"int64"}},{"$ref":"#/components/parameters/gblQueryParamAllowedModules"},{"in":"query","name":"hardDelete","description":"If set to `true`, the folders are deleted permanently. Otherwise, and if the underlying storage\nsupports a trash folder and the folders are not yet located below the trash folder, they are moved\nto the trash folder.\n","required":false,"schema":{"type":"boolean","default":false}},{"in":"query","name":"failOnError","description":"If an error occured for one folder and this parameter is set to `true` the process will abort and throw an error. \nIf this parameter is set to 'false' the process will continue for the remaining folders and will add a warning to the response instead.\n","required":false,"schema":{"type":"boolean","default":false}},{"in":"query","name":"extendedResponse","description":"If this parameter is set to `true` a different response will be returned.\nThe response contains an array of json objects, which can contain the following fields:\n  <ul>\n    <li><code>new_path</code> - The new path of the folder in case of a trash operation.</li>\n    <li><code>path</code> - The old path.</li>\n    <li><code>hasFailed</code> - A boolean flag indicating that the delete operation has failed.</li>\n    <li><code>isTrashed</code> - A boolean flag indicating that the folder has been trashed.</li>\n    <li><code>isSuppoprted</code> - A boolean flag indicating that the folder storage supports trashing.</li>\n  </ul>\n","required":false,"schema":{"type":"boolean","default":false}},{"in":"query","name":"pushToken","description":"The client's push token to restrict the generated drive event","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"An array with object IDs of folders that were NOT deleted. There may be a lot of different causes\nfor a not deleted folder: A folder has been modified in the mean time, the user does not have the\npermission to delete it or those permissions have just been removed, the folder does not exist, etc.\nYou receive an empty JSON array if everything worked well. In case of errors the responsible fields\nin the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FoldersCleanUpResponse"}}}}},"requestBody":{"$ref":"#/components/requestBodies/deleteFoldersBody"}}},"/folders?action=get":{"get":{"operationId":"getFolder","tags":["Folders"],"summary":"Gets a folder.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"Object ID of the requested folder.","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/gblQueryParamFolderTree"},{"$ref":"#/components/parameters/gblQueryParamAllowedModules"},{"$ref":"#/components/parameters/gblQueryParamLanguage"}],"responses":{"200":{"description":"A JSON object containing the data of the requested folder. In case of errors the responsible\nfields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FolderResponse"}}}}}}},"/folders?action=list":{"get":{"operationId":"getSubFolders","tags":["Folders"],"summary":"Gets the subfolders of a specified parent folder.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"parent","description":"Object ID of a folder, which is the parent folder of the requested folders.","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/gblQueryParamFolderColumns"},{"in":"query","name":"all","description":"Set to 1 to list even not subscribed folders.","required":false,"schema":{"type":"integer"}},{"$ref":"#/components/parameters/gblQueryParamFolderTree"},{"$ref":"#/components/parameters/gblQueryParamAllowedModules"},{"$ref":"#/components/parameters/gblQueryParamLanguage"},{"in":"query","name":"errorOnDuplicateName","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"A JSON object containing an array with data for all folders, which have the folder with the requested object\nID as parent. Each array element describes one folder and is itself an array. The elements of each array\ncontain the information specified by the corresponding identifiers in the `columns` parameter. In case of\nerrors the responsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FoldersResponse"}}}}}}},"/folders?action=new":{"put":{"operationId":"createFolder","tags":["Folders"],"summary":"Creates a new folder.","parameters":[{"in":"query","name":"folder_id","description":"The parent folder object ID of the newly created folder.","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamFolderTree"},{"$ref":"#/components/parameters/gblQueryParamAllowedModules"},{"in":"query","name":"pushToken","description":"The client's push token to restrict the generated drive event","required":false,"schema":{"type":"string"}},{"$ref":"#/components/parameters/QueryParamFolderAutoRename"}],"responses":{"200":{"description":"A JSON object with the object ID of the folder. In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FolderUpdateResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewFolderBody"}}},"description":"JSON object with \"folder\" object containing the modified fields and optional \"notification\"\nobject to let added permission entities be notified about newly shared folders for all modules\nexcept mail. (Example: {\"folder\":{\"module\":\"infostore\",\"subscribed\":true,\"title\":\"Test123\"}} or \n{\"folder\":{\"module\":\"infostore\",\"subscribed\":true,\"title\":\"Test123\",\"permissions\":[{\"bits\":403710016,\"entity\":84,\"group\":false}]},\"notification\":{\"transport\":\"mail\",\"message\":\"The message\"}})\n","required":true}}},"/folders?action=notify":{"put":{"operationId":"notifyAboutSharedFolder","tags":["Folders"],"summary":"Notifies users or groups about a shared folder.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamFolderTree"},{"in":"query","name":"id","description":"Object ID of the shared folder to notify about.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"An empty JSON object. Any transport warnings that occurred during sending the\nnotifications are available in the warnings array of the response. In case\nof errors the responsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FolderSharingNotificationResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FolderSharingNotificationBody"}}},"description":"JSON object providing the JSON array `entities`, which holds the entity ID(s) of the users or groups that\nshould be notified. To send a custom message to the recipients, an additional JSON object `notification` may\nbe included, inside of which an optional message can be passed (otherwise, some default message is used).\n(Example: {\"entities\":[\"2332\"]} or {\"entities\":[\"2332\"],\"notification\":{\"transport\":\"mail\",\"message\":\"The message\"}})\n","required":true}}},"/folders?action=path":{"get":{"operationId":"getPath","tags":["Folders"],"summary":"Gets the parent folders above the specified folder.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"Object ID of a folder.","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/gblQueryParamFolderColumns"},{"$ref":"#/components/parameters/gblQueryParamFolderTree"},{"$ref":"#/components/parameters/gblQueryParamAllowedModules"},{"$ref":"#/components/parameters/gblQueryParamLanguage"}],"responses":{"200":{"description":"An array with data for all parent nodes of a folder. Each array element describes one folder and\nis itself an array. The elements of each array contain the information specified by the corresponding\nidentifiers in the `columns` parameter. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FoldersResponse"}}}}}}},"/folders?action=restore":{"put":{"operationId":"restoreFolders","tags":["Folders"],"summary":"Restore specified folders from trash folder","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamFolderTree"},{"in":"query","name":"pushToken","description":"The client's push token to restrict the generated drive event","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing an array with data for all folders requested to restore. Each array element describes one folder.\nIn case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FolderRestoreResponse"}}}}},"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"type":"array","items":{"type":"string","description":"The folder id"}}}},"description":"A JSON array of folder ids that shall be restored.","required":true}}},"/folders?action=root":{"get":{"operationId":"getRootFolders","tags":["Folders"],"summary":"Gets the folders at the root level of the folder structure.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamFolderColumns"},{"$ref":"#/components/parameters/gblQueryParamFolderTree"},{"$ref":"#/components/parameters/gblQueryParamAllowedModules"}],"responses":{"200":{"description":"A JSON object containing an array with data for all folders at the root level of the folder structure. Each array element\ndescribes one folder and is itself an array. The elements of each array contain the information\nspecified by the corresponding identifiers in the `columns` parameter. In case of errors the responsible\nfields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FoldersResponse"}}}}}}},"/folders?action=shares":{"get":{"operationId":"getSharedFolders","tags":["Folders"],"summary":"Gets shared folders of a certain module.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamFolderColumns"},{"in":"query","name":"content_type","description":"The desired content type (either numbers or strings; e.g. \"tasks\", \"calendar\", \"contacts\", \"mail\", \"infostore\").","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/gblQueryParamFolderTree"},{"$ref":"#/components/parameters/gblQueryParamLanguage"},{"in":"query","name":"all","description":"Set to 1 to list even not subscribed folders.","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"A JSON object containing an array with data for all folders that are considered as shared by the user.\nEach array element describes one folder and is itself an array. The elements of each array contain the\ninformation specified by the corresponding identifiers in the `columns` parameter. In case\nof errors the responsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FoldersResponse"}}}}}}},"/folders?action=update":{"put":{"operationId":"updateFolder","tags":["Folders"],"summary":"Updates a folder.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/glbQueryParamsAllowEnqueue"},{"in":"query","name":"id","description":"Object ID of the updated folder.","required":true,"schema":{"type":"string"}},{"in":"query","name":"timestamp","description":"Timestamp of the updated folder. If the folder was modified after the specified timestamp, then the update must fail.","required":false,"schema":{"type":"integer","format":"int64"}},{"$ref":"#/components/parameters/gblQueryParamFolderTree"},{"$ref":"#/components/parameters/gblQueryParamAllowedModules"},{"in":"query","name":"cascadePermissions","description":"`true` to cascade permissions to all sub-folders. The user must have administrative permissions to all\nsub-folders subject to change. If one permission change fails, the entire operation fails.\n","required":false,"schema":{"type":"boolean","default":false}},{"in":"query","name":"pushToken","description":"The client's push token to restrict the generated drive event","required":false,"schema":{"type":"string"}},{"$ref":"#/components/parameters/QueryParamFolderAutoRename"}],"responses":{"200":{"description":"A JSON object with the object id of the folder. In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FolderUpdateResponse"}}}},"202":{"description":"The operation did not complete in time and was added to job queue providing the job identifier. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetJobResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FolderBody"}}},"description":"JSON object with \"folder\" object containing the modified fields and optional \"notification\"\nobject to let added permission entities be notified about newly shared folders for all modules\nexcept mail. (Example: {\"folder\":{\"title\":\"test123\"}} or {\"folder\":{\"permissions\":[{\"bits\":403710016,\"entity\":84,\"group\":false}]},\"notification\":{\"transport\":\"mail\",\"message\":\"The message\"}})\n","required":true}}},"/folders?action=updates":{"get":{"operationId":"getFolderUpdates","tags":["Folders"],"summary":"Gets the new, modified and deleted folders of a given folder.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"parent","description":"Object ID of a folder, which is the parent folder of the requested folders.","required":true,"schema":{"type":"string"}},{"in":"query","name":"timestamp","description":"Timestamp of the last update of the requested folders.","required":true,"schema":{"type":"integer","format":"int64"}},{"$ref":"#/components/parameters/gblQueryParamFolderColumns"},{"$ref":"#/components/parameters/gblQueryParamFolderTree"},{"$ref":"#/components/parameters/gblQueryParamLanguage"},{"in":"query","name":"ignore","description":"Which kinds of updates should be ignored. Currently, the only valid value – \"deleted\" – causes deleted object IDs not to be returned.","required":false,"schema":{"type":"string","enum":["deleted"]}},{"$ref":"#/components/parameters/gblQueryParamAllowedModules"}],"responses":{"200":{"description":"An array with data for new, modified and deleted folders. New and modified folders are represented\nby arrays. The elements of each array contain the information specified by the corresponding\nidentifiers in the `columns` parameter. Deleted folders (should the ignore parameter be ever implemented)\nwould be identified by their object IDs as plain strings, without being part of a nested array. In case\nof errors the responsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FolderUpdatesResponse"}}}}}}},"/group?action=all":{"put":{"operationId":"getAllGroups","tags":["Groups"],"summary":"Gets all groups.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"columns","description":"A comma-separated list of columns to return, like \"1,700\". Each column is specified by a numeric column identifier, see [Group data](#group-data).","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing an array of group objects. In case of errors the responsible fields in the\nresponse are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupsResponse"}}}}}}},"/group?action=delete":{"put":{"operationId":"deleteGroup","tags":["Groups"],"summary":"Deletes a group.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"timestamp","description":"Timestamp of the last update of the group to delete.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"A JSON object with an empty array if the group was deleted successfully. In case of errors the responsible fields in the\nresponse are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupsResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupListElement"}}},"description":"A JSON object with the field `id` containing the unique identifier of the group.","required":true}}},"/group?action=get":{"get":{"operationId":"getGroup","tags":["Groups"],"summary":"Gets a group.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"The ID of the group.","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"A JSON object containing the group data. In case of errors the responsible fields in the\nresponse are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupResponse"}}}}}}},"/group?action=list":{"put":{"operationId":"getGroupList","tags":["Groups"],"summary":"Gets a list of groups.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A JSON object containing an array of group objects. In case of errors the responsible fields in the\nresponse are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupsResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/GroupListElement"}}}},"description":"A JSON array of JSON objects with the id of the requested groups.","required":true}}},"/group?action=new":{"put":{"operationId":"createGroup","tags":["Groups"],"summary":"Creates a group.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A JSON object with the ID of the newly created group. In case of errors the responsible fields in the\nresponse are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupUpdateResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupData"}}},"description":"A JSON object containing the group data. The field id is not present.","required":true}}},"/group?action=search":{"put":{"operationId":"searchGroups","tags":["Groups"],"summary":"Searches for groups.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A JSON object containing an array of group objects. In case of errors the responsible fields in the\nresponse are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupsResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupSearchBody"}}},"description":"A JSON object with the search parameters.","required":true}}},"/group?action=update":{"put":{"operationId":"updateGroup","tags":["Groups"],"summary":"Updates a group.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"ID of the group that shall be updated.","required":true,"schema":{"type":"integer"}},{"in":"query","name":"timestamp","description":"Timestamp of the last update of the group to update. If the group was modified after the specified timestamp, then the update must fail.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupData"}}},"description":"A JSON object containing the group data fields to change. Only modified fields are present and the field id is omitted.","required":true}}},"/group?action=updates":{"get":{"operationId":"getGroupUpdates","tags":["Groups"],"summary":"Gets the new, modified and deleted groups.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"timestamp","description":"Timestamp of the last update of the requested groups.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"A JSON object with fields `new`, `modified` and `deleted` representing arrays of new, modified and\ndeleted group objects. In case of errors the responsible fields in the response are filled\n(see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupUpdatesResponse"}}}}}}},"/halo/contact?action=investigate":{"get":{"operationId":"investigateContactHalo","tags":["Halo"],"summary":"Investigates a contact.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"provider","description":"The halo provider, like \"com.openexchange.halo.contacts\". See [/halo/contact?action=services](#operation--halo-contact-action-services-get) for available providers.","required":true,"schema":{"type":"string"}},{"in":"query","name":"email1","description":"The first eMail address of the contact","required":false,"schema":{"type":"string"}},{"in":"query","name":"email2","description":"The second eMail address of the contact","required":false,"schema":{"type":"string"}},{"in":"query","name":"email3","description":"The third eMail address of the contact","required":false,"schema":{"type":"string"}},{"in":"query","name":"internal_userid","description":"The internal id of the user","required":false,"schema":{"type":"integer","format":"int32"}},{"in":"query","name":"timezone","description":"The timezone.","required":false,"schema":{"type":"string"}},{"in":"query","name":"columns","description":"A comma-separated list of columns to return. See [Column identifiers](#column-identifiers) for a mapping of numeric identifiers to fields.","required":true,"schema":{"type":"string"}},{"in":"query","name":"start","description":"The start point. Only mandatory for provider \"com.openexchange.halo.appointments\".","required":false,"schema":{"type":"integer","format":"int64"}},{"in":"query","name":"end","description":"The end point. Only mandatory for provider \"com.openexchange.halo.appointments\".","required":false,"schema":{"type":"integer","format":"int64"}},{"in":"query","name":"sort","description":"The identifier of a column which determines the sort order of the response. If this parameter is specified, then the parameter order must be also specified. Optional for provider \"com.openexchange.halo.appointments\".","required":false,"schema":{"type":"string"}},{"in":"query","name":"order","description":"\"asc\" if the response entires should be sorted in the ascending order, \"desc\" if the response entries should be sorted in the descending order. If this parameter is specified, then the parameter sort must be also specified. Optional for provider \"com.openexchange.halo.appointments\".","required":false,"schema":{"type":"string"}},{"in":"query","name":"limit","description":"The maximum number of mails within the result. Optional for provider \"com.openexchange.halo.mail\".","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"A JSON object containing an array with data for the requested columns. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HaloInvestigationResponse"}}}}}},"put":{"operationId":"investigateContactHaloWithBody","tags":["Halo"],"summary":"Investigates a contact.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"provider","description":"The halo provider, like \"com.openexchange.halo.contacts\". See [/halo/contact?action=services](#operation--halo-contact-action-services-get) for available providers.","required":true,"schema":{"type":"string"}},{"in":"query","name":"timezone","description":"The timezone.","required":false,"schema":{"type":"string"}},{"in":"query","name":"columns","description":"A comma-separated list of columns to return. See [Column identifiers](#column-identifiers) for a mapping of numeric identifiers to fields.","required":true,"schema":{"type":"string"}},{"in":"query","name":"start","description":"The start point. Only mandatory for provider \"com.openexchange.halo.appointments\".","required":false,"schema":{"type":"integer","format":"int64"}},{"in":"query","name":"end","description":"The end point. Only mandatory for provider \"com.openexchange.halo.appointments\".","required":false,"schema":{"type":"integer","format":"int64"}},{"in":"query","name":"sort","description":"The identifier of a column which determines the sort order of the response. If this parameter is specified, then the parameter order must be also specified. Optional for provider \"com.openexchange.halo.appointments\".","required":false,"schema":{"type":"string"}},{"in":"query","name":"order","description":"\"asc\" if the response entires should be sorted in the ascending order, \"desc\" if the response entries should be sorted in the descending order. If this parameter is specified, then the parameter sort must be also specified. Optional for provider \"com.openexchange.halo.appointments\".","required":false,"schema":{"type":"string"}},{"in":"query","name":"limit","description":"The maximum number of mails within the result. Optional for provider \"com.openexchange.halo.mail\".","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"A JSON object containing an array with data for the requested columns. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HaloInvestigationResponse"}}}}},"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/ContactDataWithInternalId"}}},"description":"A JSON object containing the contact's data.","required":true}}},"/halo/contact?action=services":{"get":{"operationId":"getHaloServices","tags":["Halo"],"summary":"Gets all halo services.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A JSON object containing an array with available halo providers. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HaloServicesResponse"}}}}}}},"/halo/contact/picture":{"get":{"operationId":"getHaloContactPicture","tags":["Halo"],"summary":"Gets a contact picture.","description":"<b>Important:</b>\nThis endpoint is deprecated and will be removed in the future. Use the new /contacts/picture endpoint instead.\n\nAt least one of the optional search parameters should be set. All parameters are connected by OR during\nthe search. More specific parameters like `user_id` or `id` are prioritized in case of multiple matches.\n","deprecated":true,"parameters":[{"in":"query","name":"session","description":"Falls back to the public session cookie.","required":false,"schema":{"type":"string"}},{"in":"query","name":"internal_userid","description":"The internal user ID of a user whose picture you want to load.","required":false,"schema":{"type":"integer"}},{"in":"query","name":"userid","description":"An alias for `internal_userid`.","required":false,"schema":{"type":"integer"}},{"in":"query","name":"user_id","description":"An alias for `internal_userid`.","required":false,"schema":{"type":"integer"}},{"in":"query","name":"id","description":"A contact ID.","required":false,"schema":{"type":"string"}},{"in":"query","name":"email","description":"An email to searchz for. Will pick global address book matches before regular matches. After that picks the most recently changed contact.","required":false,"schema":{"type":"string"}},{"in":"query","name":"email1","description":"An alias for `email`.","required":false,"schema":{"type":"string"}},{"in":"query","name":"email2","description":"An alias for `email`.","required":false,"schema":{"type":"string"}},{"in":"query","name":"email3","description":"An alias for `email`.","required":false,"schema":{"type":"string"}},{"in":"query","name":"transformationNeeded","description":"Indicate if the image needs to be transformed.","required":false,"schema":{"type":"boolean"}},{"in":"query","name":"cropWidth","description":"The width a cropped image should have. Needs to be a bigger value than the images width.","required":false,"schema":{"type":"integer"}},{"in":"query","name":"cropHeight","description":"The height a cropped image should have. Needs to be a bigger value than the images hight.","required":false,"schema":{"type":"integer"}},{"in":"query","name":"rotate","description":"Indicate if the image should get rotated","required":false,"schema":{"type":"boolean"}},{"in":"query","name":"compress","description":"Indicate if the image should be compressed. Output format depends on scaleType.","required":false,"schema":{"type":"boolean"}},{"in":"query","name":"width","description":"The maximum width of the target image. Can not be greater than the value set in 'com.openexchange.tools.images.maxWidth'. Default is 4096.","required":false,"schema":{"type":"integer"}},{"in":"query","name":"height","description":"The maximum height of the target image. Can not be greater than the value set in 'com.openexchange.tools.images.maxHeight'. Default is 4096.","required":false,"schema":{"type":"integer"}},{"in":"query","name":"shrinkOnly","description":"Set to 'true' to only scale images 'greater than' target size","required":false,"schema":{"type":"boolean"}},{"in":"query","name":"scaleType","description":"The scale type to use.","required":false,"schema":{"type":"string","enum":["contain","containforcedimension","cover","coverandcrop"]}}],"responses":{"200":{"description":"The picture with proper ETag and caching headers set.","content":{"application/json":{"schema":{"type":"string","format":"binary"}}}},"404":{"description":"If no picture could be found."}}}},"/image/contact/picture":{"get":{"operationId":"getContactProfileImage","tags":["Image"],"summary":"Requests a contact's profile image.","description":"<b>Important:</b> This endpoint is deprecated and will be removed in the future. Use the new /contacts/picture endpoint instead.","deprecated":true,"parameters":[{"in":"query","name":"folder","description":"The folder ID in which the contact resides.","required":true,"schema":{"type":"string"}},{"in":"query","name":"id","description":"The object ID of the contact.","required":true,"schema":{"type":"integer"}},{"in":"query","name":"transformationNeeded","description":"Indicate if the image needs to be transformed.","required":false,"schema":{"type":"boolean"}},{"in":"query","name":"cropWidth","description":"The width a cropped image should have. Needs to be a bigger value than the images width.","required":false,"schema":{"type":"integer"}},{"in":"query","name":"cropHeight","description":"The height a cropped image should have. Needs to be a bigger value than the images hight.","required":false,"schema":{"type":"integer"}},{"in":"query","name":"rotate","description":"Indicate if the image should get rotated","required":false,"schema":{"type":"boolean"}},{"in":"query","name":"compress","description":"Indicate if the image should be compressed. Output format depends on scaleType.","required":false,"schema":{"type":"boolean"}},{"in":"query","name":"width","description":"The maximum width of the target image. Can not be greater than the value set in 'com.openexchange.tools.images.maxWidth'. Default is 4096.","required":false,"schema":{"type":"integer"}},{"in":"query","name":"height","description":"The maximum height of the target image. Can not be greater than the value set in 'com.openexchange.tools.images.maxHeight'. Default is 4096.","required":false,"schema":{"type":"integer"}},{"in":"query","name":"shrinkOnly","description":"Set to 'true' to only scale images 'greater than' target size","required":false,"schema":{"type":"boolean"}},{"in":"query","name":"scaleType","description":"The scale type to use.","required":false,"schema":{"type":"string","enum":["contain","containforcedimension","cover","coverandcrop"]}}],"responses":{"200":{"description":"The content of the requested image is directly written into output stream.","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"If request cannot be handled."}}}},"/image/file/mp3cover":{"get":{"operationId":"getMP3CoverImage","tags":["Image"],"summary":"Requests a MP3 cover image.","parameters":[{"in":"query","name":"id","description":"The identifier of the uploaded image.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The content of the requested image is directly written into output stream.","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"If request cannot be handled."}}}},"/image/mail/picture":{"get":{"operationId":"getInlineMailImage","tags":["Image"],"summary":"Requests an inline image from a mail.","parameters":[{"in":"query","name":"folder","description":"The folder ID in which the mail resides.","required":true,"schema":{"type":"string"}},{"in":"query","name":"id","description":"The object ID of the mail.","required":true,"schema":{"type":"string"}},{"in":"query","name":"uid","description":"The identifier of the image inside the referenced mail.","required":true,"schema":{"type":"string"}},{"in":"query","name":"accountId","description":"The mail account identifier","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"The content of the requested image is directly written into output stream.","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"If request cannot be handled."}}}},"/image/mail/trustedMail/picture":{"get":{"operationId":"getTrustedMailPicture","tags":["Image"],"summary":"Requests an image for a trusted mail","parameters":[{"in":"query","name":"uid","description":"The identifier of the image previously obtained from the authentication_results field of the mail module.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The content of the requested image is directly written into output stream.","content":{"application/octet-stream":{"schema":{"type":"string","format":"byte"}}}},"400":{"description":"If request cannot be handled."}}}},"/image/mfile/picture":{"get":{"operationId":"getManagedImageFile","tags":["Image"],"summary":"Requests an image that was previously uploaded with the ajax file upload module.","parameters":[{"in":"query","name":"uid","description":"The identifier of the uploaded image.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The content of the requested image is directly written into output stream.","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"If request cannot be handled."}}}},"/image/user/picture":{"get":{"operationId":"getUserProfileImage","tags":["Image"],"summary":"Requests a user's profile image.","description":"<b>Important:</b> This endpoint is deprecated and will be removed in the future. Use the new /contacts/picture endpoint instead.","deprecated":true,"parameters":[{"in":"query","name":"id","description":"The object ID of the user.","required":true,"schema":{"type":"string"}},{"in":"query","name":"transformationNeeded","description":"Indicate if the image needs to be transformed.","required":false,"schema":{"type":"boolean"}},{"in":"query","name":"cropWidth","description":"The width a cropped image should have. Needs to be a bigger value than the images width.","required":false,"schema":{"type":"integer"}},{"in":"query","name":"cropHeight","description":"The height a cropped image should have. Needs to be a bigger value than the images hight.","required":false,"schema":{"type":"integer"}},{"in":"query","name":"rotate","description":"Indicate if the image should get rotated","required":false,"schema":{"type":"boolean"}},{"in":"query","name":"compress","description":"Indicate if the image should be compressed. Output format depends on scaleType.","required":false,"schema":{"type":"boolean"}},{"in":"query","name":"width","description":"The maximum width of the target image. Can not be greater than the value set in 'com.openexchange.tools.images.maxWidth'. Default is 4096.","required":false,"schema":{"type":"integer"}},{"in":"query","name":"height","description":"The maximum height of the target image. Can not be greater than the value set in 'com.openexchange.tools.images.maxHeight'. Default is 4096.","required":false,"schema":{"type":"integer"}},{"in":"query","name":"shrinkOnly","description":"Set to 'true' to only scale images 'greater than' target size","required":false,"schema":{"type":"boolean"}},{"in":"query","name":"scaleType","description":"The scale type to use.","required":false,"schema":{"type":"string","enum":["contain","containforcedimension","cover","coverandcrop"]}}],"responses":{"200":{"description":"The content of the requested image is directly written into output stream.","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"If request cannot be handled."}}}},"/import?action=CSV":{"post":{"operationId":"importCSV","tags":["Import"],"summary":"Imports contact data from CSV file.","description":"#### Example CSV\n```\n\"Given name\",\"Sur name\"\n\"Günther\",\"Mustermann\"\n\"Hildegard\",\"Musterfrau\"\n```\nThe delimiter may be any CSV-valid character (e.g. \",\" or \";\"). The first line must contain the column titles that are related\nto the corresponding fields of the ContactData model (see [getContact](#contacts/getContact) request). See [Detailed contact data](#detailed-contact-data)\nfor a mapping of fields to CSV column titles.\n","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"folder","description":"Object ID of the folder into which the data should be imported. This must be a contact folder.","required":true,"schema":{"type":"string"}},{"in":"query","name":"charset","description":"A fixed character encoding to use when parsing the uploaded file, overriding the built-in defaults, following the conventions documented in [RFC 2278](http://tools.ietf.org/html/rfc2278).","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"A HTML page as described in [File uploads](#file-uploads) containing a JSON object with the field `data` that represents\nan array of objects each consisting of the fields `id`, `folder_id` and `last_modified` of the newly created contacts.\nIn case of errors the JSON object contains the well known [error fields](#error-handling).\n","content":{"text/html":{"schema":{"type":"string"}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","title":"importCSVBody","properties":{"file":{"description":"The CSV file containing the contact data. The column titles are the ones described in [Detailed contact data](#detailed-contact-data).","type":"string","format":"binary"}},"required":["file"]}}}}}},"/import?action=ICAL":{"post":{"operationId":"importICal","tags":["Import"],"summary":"Imports calendar data from iCalendar file.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"folder","description":"Object ID of the folder into which the data should be imported. This may be be an appointment or a task folder.","required":true,"schema":{"type":"string"}},{"in":"query","name":"suppressNotification","description":"Can be used to disable the notifications for new appointments that are imported through the given iCal file. This help keeping the Inbox clean if a lot of appointments need to be imported. The value of this parameter does not matter because only for the existence of the parameter is checked.","required":false,"schema":{"type":"boolean"}},{"in":"query","name":"ignoreUIDs","description":"When set to `true`, UIDs are partially ignored during import of tasks and appointments from iCal. Internally, each UID is replaced statically by a random one to preserve possibly existing relations between recurring appointments in the same iCal file, but at the same time to avoid collisions with already existing tasks and appointments.","required":false,"schema":{"type":"boolean"}},{"in":"query","name":"plainJson","description":"When set to `true`, signals that client expects plain JSON; no JavaScript callback.","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"A HTML page as described in [File uploads](#file-uploads) containing a JSON object with the field `data` that represents\nan array of objects each consisting of the fields `id`, `folder_id` and `last_modified` of the newly created appointments/tasks.\nIn case of errors the JSON object contains the well known [error fields](#error-handling). Beside a field `warnings` may contain an array\nof objects with warning data containing customary error fields.\n","content":{"text/html":{"schema":{"type":"string"}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","title":"importICalBody","properties":{"file":{"description":"The iCal file containing the appointment and task data.","type":"string","format":"binary"}},"required":["file"]}}}}}},"/import?action=OUTLOOK_CSV":{"post":{"operationId":"importOutlookCSV","tags":["Import"],"summary":"Imports contact data from an Outlook CSV file.","description":"#### Example: exported Outlook CSV\n```\nFirst Name,Last Name\nGünther,Mustermann\nHildegard,Musterfrau\n```\nThe column titles in the first line of the CSV file may be those used by the English, French or German version of Outlook.\n","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"folder","description":"Object ID of the folder into which the data should be imported. This must be a contact folder.","required":true,"schema":{"type":"string"}},{"in":"query","name":"charset","description":"A fixed character encoding to use when parsing the uploaded file, overriding the built-in defaults, following the conventions documented in [RFC 2278](http://tools.ietf.org/html/rfc2278).","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"A HTML page as described in [File uploads](#file-uploads) containing a JSON object with the field `data` that represents\nan array of objects each consisting of the fields `id`, `folder_id` and `last_modified` of the newly created contacts.\nIn case of errors the JSON object contains the well known [error fields](#error-handling).\n","content":{"text/html":{"schema":{"type":"string"}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","title":"importOutlookCSVBody","properties":{"file":{"description":"The CSV file **with Windows' default encoding CP-1252** containing the contact data. The column titles are those used by the English, French or German version of Outlook.","type":"string","format":"binary"}},"required":["file"]}}}}}},"/import?action=VCARD":{"post":{"operationId":"importVCard","tags":["Import"],"summary":"Imports data from vCard file.","description":"#### Supported vCard formats\n * vCard 2.1\n * vCard 3.0\n * vCalendar 1.0\n","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"folder","description":"Object ID of the folder into which the data should be imported. This must be a contact folder.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A HTML page as described in [File uploads](#file-uploads) containing a JSON object with the field `data` that represents\nan array of objects each consisting of the fields `id`, `folder_id` and `last_modified` of the newly created objects.\nIn case of errors the JSON object contains the well known [error fields](#error-handling).\n","content":{"text/html":{"schema":{"type":"string"}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","title":"importVCardBody","properties":{"file":{"description":"The vCard file.","type":"string","format":"binary"}},"required":["file"]}}}}}},"/infostore?action=all":{"get":{"operationId":"getAllInfoItems","tags":["Infostore"],"summary":"Gets all infoitems.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamInfostoreFolder"},{"$ref":"#/components/parameters/gblQueryParamInfostoreColumns"},{"in":"query","name":"sort","description":"The identifier of a column which determines the sort order of the response. If this parameter is specified, then the parameter order must be also specified.","required":false,"schema":{"type":"string"}},{"in":"query","name":"order","description":"\"asc\" if the response entities should be sorted in the ascending order, \"desc\" if the response entries should be sorted in the descending order. If this parameter is specified, then the parameter sort must be also specified.","required":false,"schema":{"type":"string"}},{"in":"query","name":"left_hand_limit","description":"A positive integer number to specify the \"left-hand\" limit of the range to return.","required":false,"schema":{"type":"integer"}},{"in":"query","name":"right_hand_limit","description":"A positive integer number to specify the \"right-hand\" limit of the range to return.","required":false,"schema":{"type":"integer"}},{"in":"query","name":"limit","description":"A positive integer number to specify how many items shall be returned according to given sorting; overrides left_hand_limit/right_hand_limit parameters and is equal to left_hand_limit=0 and right_hand_limit=<limit>.","required":false,"schema":{"type":"integer"}},{"in":"query","name":"pregenerate_previews","description":"If set to \"true\" preview generation is triggered in the background for all files in request result","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"A JSON object containing an array with data for all infoitems. Each array element describes one infoitem and\nis itself an array. The elements of each array contain the information specified by the corresponding\nidentifiers in the `columns` parameter. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InfoItemsResponse"}}}}}}},"/infostore?action=checkname":{"get":{"operationId":"checkName","tags":["Infostore"],"summary":"Checks if a given file name is valid.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"name","description":"The file name to check.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"An empty JSON object when file name is valid. In case of errors the responsible fields in the\nresponse are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonResponse"}}}}}}},"/infostore?action=copy":{"put":{"operationId":"copyInfoItem","tags":["Infostore"],"summary":"Copies an infoitem.","description":"This request cannot change or add files. Therefore it is necessary to use the `POST` method.\n","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"Object ID of the infoitem that shall be copied.","required":true,"schema":{"type":"string"}},{"in":"query","name":"pushToken","description":"The client's push token to restrict the generated drive event","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object with the object ID of the newly created infoitem. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InfoItemUpdateResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InfoItemData"}}},"description":"A JSON object containing the modified fields of the destination infoitem. The field `id` must not be present.","required":true}},"post":{"operationId":"copyInfoItemAdvanced","tags":["Infostore"],"summary":"Copies an infoitem.","description":"Copies an infoitem's data with the possibility to change the file. The normal request body must be placed as form-data using the\ncontent-type `multipart/form-data`. The form field `json` contains the infoitem's data while the file\nmust be placed in a file field named `file` (see also [File uploads](#file-uploads)).\n","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"Object ID of the infoitem that shall be copies.","required":true,"schema":{"type":"string"}},{"in":"query","name":"pushToken","description":"The push token of the drive client","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"A HTML page as described in [File uploads](#file-uploads) containing the object ID of the infoitem or errors if some occurred.\n","content":{"text/html":{"schema":{"type":"string"}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","title":"copyInfoItemAdvancedBody","properties":{"json":{"description":"Represents the normal request body as JSON string containing the infoitem's data (See InfoItemData model of the [getInfoItem](#infostore/getInfoItem) request). Only modified fields must be specified but at least `{\"folder_id\":\"destination\"}`.","type":"string"},"file":{"description":"The metadata as per `<input type=\"file\" />`.","type":"string","format":"binary"}},"required":["json","file"]}}}}}},"/infostore?action=delete":{"put":{"operationId":"deleteInfoItems","tags":["Infostore"],"summary":"Deletes infoitems.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"timestamp","description":"Timestamp of the last update of the infoitems to delete.","required":true,"schema":{"type":"integer","format":"int64"}},{"in":"query","name":"hardDelete","description":"Defaults to `false`. If set to `true`, the file is deleted permanently. Otherwise, and if the underlying storage supports a trash folder and the file is not yet located below the trash folder, it is moved to the trash folder.","required":false,"schema":{"type":"boolean"}},{"in":"query","name":"pushToken","description":"The client's push token to restrict the generated drive event","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object with an empty array if the infoitems were deleted successfully. In case of errors the responsible fields in the\nresponse are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InfoItemsResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/InfoItemListElement"}}}},"description":"A JSON array of objects with the fields `id` and `folder` representing infoitems that shall be deleted.","required":true}}},"/infostore?action=detach":{"put":{"operationId":"deleteInfoItemVersions","tags":["Infostore"],"summary":"Deletes versions of an infoitem.","description":"#### Note\nWhen the current version of a document is deleted the new current version will be the latest version.\n","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"The ID of the base object.","required":true,"schema":{"type":"string"}},{"in":"query","name":"folder","description":"The folder ID of the base object.","required":true,"schema":{"type":"string"}},{"in":"query","name":"timestamp","description":"Timestamp of the last update of the infoitem.","required":true,"schema":{"type":"integer","format":"int64"}},{"in":"query","name":"pushToken","description":"The client's push token to restrict the generated drive event","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object with an empty array of version numbers that were not deleted. In case of errors the responsible fields in the\nresponse are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InfoItemDetachResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"integer"}}}},"description":"A JSON array of version numbers to detach.","required":true}}},"/infostore?action=document":{"get":{"operationId":"getInfoItemDocument","tags":["Infostore"],"summary":"Gets an infoitem document.","description":"It is possible to add a filename to the request's URI like `/infostore/{filename}?action=document`.\nThe filename may be added to the customary infostore path to suggest a filename to a Save-As dialog.\n\nIf the file is an image file then it is possible to use the image transformation parameters.\n","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamInfostoreFolder"},{"in":"query","name":"id","description":"Object ID of the requested infoitem.","required":true,"schema":{"type":"string"}},{"in":"query","name":"version","description":"If present the infoitem data describes the given version. Otherwise the current version is returned.","required":false,"schema":{"type":"integer"}},{"in":"query","name":"content_type","description":"If present the response declares the given `content_type` in the Content-Type header.","required":false,"schema":{"type":"string"}},{"in":"query","name":"scan","description":"Flag to request an Anti-Virus scan for the specified document before downloading them. \n","required":false,"schema":{"type":"boolean"}},{"in":"query","name":"format","description":"Allows to set \"metadata\" as value to retrieve an image's metadata information (EXIF directory, etc.) as a JSON structure. If there\nare no metadata available (e.g. infoitem document is not an image) 404 Not Found is returned. \n","required":false,"schema":{"type":"string"}},{"$ref":"#/components/parameters/glbQueryParamsImageTransformationRotate"},{"$ref":"#/components/parameters/glbQueryParamsImageTransformationWidth"},{"$ref":"#/components/parameters/glbQueryParamsImageTransformationHeight"},{"$ref":"#/components/parameters/glbQueryParamsImageTransformationShrinkOnly"},{"$ref":"#/components/parameters/glbQueryParamsImageTransformationScaleType"},{"$ref":"#/components/parameters/glbQueryParamsImageTransformationCropWidth"},{"$ref":"#/components/parameters/glbQueryParamsImageTransformationCropHeight"},{"$ref":"#/components/parameters/glbQueryParamsImageTransformationCropX"},{"$ref":"#/components/parameters/glbQueryParamsImageTransformationCropY"}],"responses":{"200":{"description":"The raw byte data of the document. The response type for the HTTP request is set accordingly to the defined mimetype for this infoitem or the content_type given.","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}}}}},"/infostore?action=get":{"get":{"operationId":"getInfoItem","tags":["Infostore"],"summary":"Gets an infoitem.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"Object ID of the requested infoitem.","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/gblQueryParamInfostoreFolder"}],"responses":{"200":{"description":"A JSON object containing all data of the requested infoitem. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InfoItemResponse"}}}}}}},"/infostore?action=list":{"put":{"operationId":"getInfoItemList","tags":["Infostore"],"summary":"Gets a list of infoitems.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamInfostoreColumns"},{"in":"query","name":"pregenerate_previews","description":"If set to \"true\" preview generation is triggered in the background for all files in request result","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"A JSON object containing an array with data for the requested infoitems. Each array element describes one infoitem and\nis itself an array. The elements of each array contain the information specified by the corresponding\nidentifiers in the `columns` parameter. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InfoItemsResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/InfoItemListElement"}}}},"description":"A JSON array of JSON objects with the id of the infoitems.","required":true}}},"/infostore?action=lock":{"get":{"operationId":"lockInfoItem","tags":["Infostore"],"summary":"Locks an infoitem.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"Object ID of the infoitem that shall be locked.","required":true,"schema":{"type":"string"}},{"in":"query","name":"diff","description":"If present the value is added to the current time on the server (both in ms). The document will be locked until that time. If this parameter is not present, the document will be locked for a duration as configured on the server.","required":false,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonResponse"}}}}}}},"/infostore?action=move":{"get":{"operationId":"moveFile","tags":["Infostore"],"summary":"Moves one infoitem to another folder.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"timestamp","description":"Timestamp of the last update of the infoitem to move.","required":true,"schema":{"type":"integer","format":"int64"}},{"in":"query","name":"folder","description":"ID of the destination folder.","required":true,"schema":{"type":"string"}},{"in":"query","name":"id","description":"Object ID of the infoitem that shall be moved.","required":true,"schema":{"type":"string"}},{"in":"query","name":"pushToken","description":"The client's push token to restrict the generated drive event","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object with an array of infoitem identifiers that could not be moved (due to a conflict).\nTh array is empty if everything went fine. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InfoItemsMovedResponse"}}}}}},"put":{"operationId":"moveInfoItems","tags":["Infostore"],"summary":"Moves one or more infoitems to another folder.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"folder","description":"ID of the destination folder.","required":true,"schema":{"type":"string"}},{"in":"query","name":"pushToken","description":"The push token of the drive client","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object with an array of infoitem identifiers that could not be moved (due to a conflict).\nTh array is empty if everything went fine. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InfoItemsMovedResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/InfoItemListElement"}}}},"description":"A JSON array of JSON objects each referencing to an existing infoitem that is supposed to be moved to the destination folder.","required":true}}},"/infostore?action=new":{"put":{"operationId":"createInfoItem","tags":["Infostore"],"summary":"Creates an infoitem.","description":"Creates a new infoitem. This request cannot add a file to the infoitem. Therefor it\nis necessary to use the `POST` method.\n","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"Object ID of the infoitem that shall be updated.","required":true,"schema":{"type":"string"}},{"in":"query","name":"timestamp","description":"Timestamp of the last update of the infoitem. If the infoitem was modified after the specified timestamp, then the update must fail.","required":true,"schema":{"type":"integer","format":"int64"}},{"in":"query","name":"pushToken","description":"The client's push token to restrict the generated drive event","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object with the object ID of the newly created infoitem. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InfoItemUpdateResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/InfoItemBody"}}}},"description":"A JSON object containing a field `file` with the modified fields of the infoitem's data. It is possible to let added object permission entities be notified about newly shared files. In that case add a \"notification\" object.","required":true}},"post":{"operationId":"createInfoItemAdvanced","tags":["Infostore"],"summary":"Creates an infoitem.","description":"Creates a new infoitem with a file. The normal request body must be placed as form-data using the\ncontent-type `multipart/form-data`. The form field `json` contains the infoitem's data while the file\nmust be placed in a file field named `file` (see also [File uploads](#file-uploads)).\n","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"try_add_version","description":"Add new file version if file name exists","required":false,"schema":{"type":"boolean"}},{"in":"query","name":"pushToken","description":"The push token of the drive client","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"A HTML page as described in [File uploads](#file-uploads) containing the object ID of the infoitem or errors if some occurred.\n","content":{"text/html":{"schema":{"type":"string"}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","title":"createInfoItemAdvancedBody","properties":{"json":{"description":"Represents the normal request body as JSON string containing the infoitem's data (See InfoItemBody model of the [newInfoItem](#Infostore_createInfoItem) request).","type":"string"},"file":{"description":"The metadata as per `<input type=\"file\" />`.","type":"string","format":"binary"}},"required":["json","file"]}}}}}},"/infostore?action=notify":{"put":{"operationId":"notifyAboutSharedInfoItem","tags":["Infostore"],"summary":"Notifies users or groups about a shared infoitem.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"Object ID of the shared infoitem to notify about.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"An empty JSON object. Any transport warnings that occurred during sending the\nnotifications are available in the warnings array of the response. In case\nof errors the responsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InfoItemSharingNotificationResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InfoItemSharingNotificationBody"}}},"description":"JSON object providing the JSON array `entities`, which holds the entity ID(s) of the users or groups that\nshould be notified. To send a custom message to the recipients, an additional JSON object `notification` may\nbe included, inside of which an optional message can be passed (otherwise, some default message is used).\n(Example: {\"entities\":[\"2332\"]} or {\"entities\":[\"2332\"],\"notification\":{\"transport\":\"mail\",\"message\":\"The message\"}})\n","required":true}}},"/infostore?action=restore":{"put":{"operationId":"restoreInfoItemsFromTrash","tags":["Infostore"],"summary":"Restores info items from trash.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"pushToken","description":"The client's push token to restrict the generated drive event","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing an array with data for all infoitems requested to restore. Each array element describes one infoitem.\nIn case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InfoItemsRestoreResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/InfoItemListElement"}}}},"description":"A JSON array of objects with the fields `id` and `folder` representing infoitems that shall be restored.","required":true}}},"/infostore?action=revert":{"put":{"operationId":"deleteAllInfoItemVersions","tags":["Infostore"],"summary":"Deletes all versions of an infoitem leaving only the base object.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"The ID of the base object.","required":true,"schema":{"type":"string"}},{"in":"query","name":"folder","description":"The folder ID of the base object.","required":true,"schema":{"type":"string"}},{"in":"query","name":"timestamp","description":"Timestamp of the last update of the infoitem.","required":true,"schema":{"type":"integer","format":"int64"}},{"in":"query","name":"pushToken","description":"The client's push token to restrict the generated drive event","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonResponse"}}}}}}},"/infostore?action=saveAs":{"put":{"operationId":"importAttachment","tags":["Infostore"],"summary":"Saves an attachment in the infostore.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamAttached"},{"$ref":"#/components/parameters/gblQueryParamAttachmentsFolder"},{"$ref":"#/components/parameters/gblQueryParamAttachmentsModule"},{"in":"query","name":"attachment","description":"The ID of the attachment to save.","required":true,"schema":{"type":"string"}},{"in":"query","name":"pushToken","description":"The client's push token to restrict the generated drive event","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object with the object ID of the newly created infoitem. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InfoItemUpdateResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/InfoItemBody"}}}},"description":"A JSON object describing the attachment's infoitem. The field `id`is not included. The fields in\nthis infoitem object override values from the attachment. The folder_id must be given. It is possible to\nlet added object permission entities be notified about newly shared files. In that case add a \"notification\" object.\n","required":true}}},"/infostore?action=search":{"put":{"operationId":"searchInfoItems","tags":["Infostore"],"summary":"Search for infoitems.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamInfostoreColumns"},{"in":"query","name":"folder","description":"The folder ID to restrict the search to. If not specified, all folders are searched.","required":false,"schema":{"type":"string"}},{"in":"query","name":"sort","description":"The identifier of a column which determines the sort order of the response. If this parameter is specified , then the parameter order must be also specified.","required":false,"schema":{"type":"string"}},{"in":"query","name":"order","description":"\"asc\" if the response entires should be sorted in the ascending order, \"desc\" if the response entries should be sorted in the descending order. If this parameter is specified, then the parameter sort must be also specified.","required":false,"schema":{"type":"string"}},{"in":"query","name":"start","description":"The start index (inclusive, zero-based) in the ordered search, that is requested.","required":false,"schema":{"type":"integer"}},{"in":"query","name":"end","description":"The last index (inclusive) from the ordered search, that is requested.","required":false,"schema":{"type":"integer"}},{"in":"query","name":"includeSubfolders","description":"If set to `true` and a `folder` is specified, this folder and all of its subfolders are considered by the search.","required":false,"schema":{"type":"boolean"}},{"in":"query","name":"pregenerate_previews","description":"If set to \"true\" preview generation is triggered in the background for all files in request result","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"A JSON object containing an array with matching infoitems. Infoitems are represented by arrays. The elements of each array contain the\ninformation specified by the corresponding identifiers in the `columns` parameter. In case of errors the\nresponsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InfoItemsResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InfoItemSearchBody"}}},"description":"A JSON object containing search parameters.","required":true}}},"/infostore?action=shares":{"get":{"operationId":"getSharedInfoItems","tags":["Infostore"],"summary":"Gets shared infoitems.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamInfostoreColumns"},{"in":"query","name":"sort","description":"The identifier of a column which determines the sort order of the response. If this parameter is specified, then the parameter order must be also specified.","required":false,"schema":{"type":"string"}},{"in":"query","name":"order","description":"\"asc\" if the response entities should be sorted in the ascending order, \"desc\" if the response entries should be sorted in the descending order. If this parameter is specified, then the parameter sort must be also specified.","required":false,"schema":{"type":"string"}},{"in":"query","name":"pregenerate_previews","description":"If set to \"true\" preview generation is triggered in the background for all files in request result","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"A JSON object containing an array with data for all infoitems that are considered as shared by the user.\nEach array element describes one infoitem and is itself an array. The elements of each array contain the\ninformation specified by the corresponding identifiers in the `columns` parameter. In case\nof errors the responsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InfoItemsResponse"}}}}}}},"/infostore?action=unlock":{"get":{"operationId":"unlockInfoItem","tags":["Infostore"],"summary":"Unlocks an infoitem.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"Object ID of the infoitem that shall be unlocked.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonResponse"}}}}}}},"/infostore?action=update":{"put":{"operationId":"updateInfoItem","tags":["Infostore"],"summary":"Updates an infoitem.","description":"Updates an infoitem's data. This request cannot change or add files. Therefore it\nis necessary to use the `POST` method.\n","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"Object ID of the infoitem that shall be updated.","required":true,"schema":{"type":"string"}},{"in":"query","name":"timestamp","description":"Timestamp of the last update of the infoitem. If the infoitem was modified after the specified timestamp, then the update must fail.","required":true,"schema":{"type":"integer","format":"int64"}},{"in":"query","name":"pushToken","description":"The client's push token to restrict the generated drive event","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object with the object ID of the updated infoitem. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InfoItemUpdateResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InfoItemBody"}}},"description":"A JSON object containing a field `file` with the modified fields of the infoitem's data. It is possible to let added object permission entities be notified about newly shared files. In that case add a \"notification\" object.","required":true}},"post":{"operationId":"updateInfoItemAdvanced","tags":["Infostore"],"summary":"Updates an infoitem.","description":"Updates an infoitem's data and file. The normal request body must be placed as form-data using the\ncontent-type `multipart/form-data`. The form field `json` contains the infoitem's data while the file\nmust be placed in a file field named `file` (see also [File uploads](#file-uploads)).\n","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"Object ID of the infoitem that shall be updated.","required":true,"schema":{"type":"string"}},{"in":"query","name":"timestamp","description":"Timestamp of the updated infoitem. If the infoitem was modified after the specified timestamp, then the update must fail.","required":true,"schema":{"type":"integer","format":"int64"}},{"in":"query","name":"offset","description":"Optionally sets the start offset in bytes where to append the data to the document, must be equal to the actual document's length. Only available if the underlying File storage account supports the \"RANDOM_FILE_ACCESS\" capability.","required":false,"schema":{"type":"integer"}},{"in":"query","name":"pushToken","description":"The client's push token to restrict the generated drive event","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"A HTML page as described in [File uploads](#file-uploads) containing the object ID of the infoitem or errors if some occurred.\n","content":{"text/html":{"schema":{"type":"string"}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","title":"updateInfoItemAdvancedBody","properties":{"json":{"description":"Represents the normal request body as JSON string containing the infoitem's data (See InfoItemBody model of the [newInfoItem](#infostore/createInfoItem) request). Only modified fields must be specified but at least \"{}\".","type":"string","default":"{}"},"file":{"description":"The metadata as per `<input type=\"file\" />`.","type":"string","format":"binary"}},"required":["json","file"]}}}}}},"/infostore?action=updates":{"get":{"operationId":"getInfoItemUpdates","tags":["Infostore"],"summary":"Gets the new, modified and deleted infoitems.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamInfostoreFolder"},{"$ref":"#/components/parameters/gblQueryParamInfostoreColumns"},{"in":"query","name":"timestamp","description":"Timestamp of the last update of the requested infoitems.","required":false,"schema":{"type":"integer","format":"int64"}},{"in":"query","name":"ignore","description":"Which kinds of updates should be ignored. Currently, the only valid value – \"deleted\" – causes deleted object IDs not to be returned.","required":false,"schema":{"type":"string","enum":["deleted"]}},{"in":"query","name":"sort","description":"The identifier of a column which determines the sort order of the response. If this parameter is specified, then the parameter order must be also specified.","required":false,"schema":{"type":"string"}},{"in":"query","name":"order","description":"\"asc\" if the response entities should be sorted in the ascending order, \"desc\" if the response entries should be sorted in the descending order. If this parameter is specified, then the parameter sort must be also specified.","required":false,"schema":{"type":"string"}},{"in":"query","name":"pregenerate_previews","description":"If set to \"true\" preview generation is triggered in the background for all files in request result","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"An array with new, modified and deleted infoitems. New and modified infoitems are represented by arrays. The\nelements of each array contain the information specified by the corresponding identifiers in the `columns`\nparameter. Deleted infoitems would be identified by their object IDs as string, without being part of\na nested array. In case of errors the responsible fields in the response are filled (see\n[Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InfoItemUpdatesResponse"}}}}}}},"/infostore?action=upload&binary=true":{"put":{"operationId":"uploadInfoItem","tags":["Infostore"],"summary":"Creates or updates an infoitem.","description":"Creates or updates an infoitem with a file.\n","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"folder_id","description":"The folder id.","required":true,"schema":{"type":"string"}},{"in":"query","name":"timestamp","description":"Timestamp of the last update of the infoitem. If the infoitem was modified after the specified timestamp, then the update must fail.\nNote:\nThis must only be set for updates of existing infoitems.\n","required":false,"schema":{"type":"integer","format":"int64"}},{"in":"query","name":"id","description":"The id of the file in case of an update.","required":false,"schema":{"type":"string"}},{"in":"query","name":"title","description":"The title of the file.","required":false,"schema":{"type":"string"}},{"in":"query","name":"filename","description":"The name of the file.","required":true,"schema":{"type":"string"}},{"in":"query","name":"file_mimetype","description":"The mimetype of the file.","required":false,"schema":{"type":"string"}},{"in":"query","name":"file_md5sum","description":"The md5sum of the file.","required":false,"schema":{"type":"string"}},{"in":"query","name":"description","description":"The description of the file.","required":false,"schema":{"type":"string"}},{"in":"query","name":"url","description":"The url of the file.","required":false,"schema":{"type":"string"}},{"in":"query","name":"version","description":"The version of the file.","required":false,"schema":{"type":"string"}},{"in":"query","name":"version_comment","description":"The comment of the version.","required":false,"schema":{"type":"string"}},{"in":"query","name":"categories","description":"The a list of categories.","required":false,"schema":{"type":"string"}},{"in":"query","name":"color_label","description":"The color label identifier.","required":false,"schema":{"type":"integer","format":"int32"}},{"in":"query","name":"file_size","description":"The size of the document in bytes.","required":false,"schema":{"type":"integer","format":"int64"}},{"in":"query","name":"try_add_version","description":"Add new file version if file name exists","required":false,"schema":{"type":"boolean"}},{"in":"query","name":"ignoreWarnings","description":"In case of an update indicates whether warnings should be ignored or not","required":false,"schema":{"type":"boolean"}},{"in":"query","name":"offset","description":"Optionally sets the start offset in bytes where to append the data to the document, must be equal to the actual document's length. \nOnly available if the underlying File storage account supports the \"RANDOM_FILE_ACCESS\" capability. \nIf set the id parameter must also be set to the id previously recieved from the first/starting request.\n","required":false,"schema":{"type":"integer","format":"int64"}},{"in":"query","name":"pushToken","description":"The client's push token to restrict the generated drive event","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object with the object ID of the newly created infoitem. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"text/html":{"schema":{"$ref":"#/components/schemas/InfoItemUpdateResponse"}}}}},"requestBody":{"content":{"application/octet-stream":{"schema":{"type":"string","format":"byte"}}},"description":"The binary file","required":true}}},"/infostore?action=versions":{"get":{"operationId":"getAllVersions","tags":["Infostore"],"summary":"Gets all versions of an infoitem.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"Object ID of the infoitem whose versions are requested.","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/gblQueryParamInfostoreColumns"},{"in":"query","name":"sort","description":"The identifier of a column which determines the sort order of the response. If this parameter is specified, then the parameter order must be also specified.","required":false,"schema":{"type":"string"}},{"in":"query","name":"order","description":"\"asc\" if the response entities should be sorted in the ascending order, \"desc\" if the response entries should be sorted in the descending order. If this parameter is specified, then the parameter sort must be also specified.","required":false,"schema":{"type":"string"}},{"in":"query","name":"pregenerate_previews","description":"If set to \"true\" preview generation is triggered in the background for all files in request result","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"A JSON object containing an array with data for the infoitem. Each array element describes one infoitem and\nis itself an array. The elements of each array contain the information specified by the corresponding\nidentifiers in the `columns` parameter. The timestamp is the timestamp relating to the requested infostore item.\nIn case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InfoItemsResponse"}}}}}}},"/infostore?action=zipdocuments":{"put":{"operationId":"getDocumentsAsZip","tags":["Infostore"],"summary":"Gets multiple documents as a ZIP archive.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"scan","description":"Flag to request an Anti-Virus scan for the specified documents before downloading them. \n","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"The raw byte data of the ZIP archive. The response type for the HTTP request is set to `application/zip`.","content":{"application/zip":{"schema":{"type":"string","format":"binary"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/InfoItemZipElement"}}}},"description":"A JSON array of JSON objects with the id, folder and optionally the documents' versions to include in the requested ZIP archive (if missing, it refers to the latest/current version).","required":true}}},"/infostore?action=zipfolder":{"get":{"operationId":"getFolderAsZip","tags":["Infostore"],"summary":"Gets a ZIP archive containing all ifoitems of a denoted folder.","description":"It is possible to add a filename to the request's URI like `/infostore/{filename}?action=zipfolder`.\nThe filename may be added to the customary infostore path to suggest a filename to a Save-As dialog.\n","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamInfostoreFolder"},{"in":"query","name":"recursive","description":"`true` to also include subfolders and their infoitems respectively; otherwise `false` to only consider the infoitems of specified.","required":false,"schema":{"type":"boolean"}},{"in":"query","name":"scan","description":"Flag to request an Anti-Virus scan for the ifoitems in the specified folder before downloading them.\n","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"The raw byte data of the ZIP archive. The response type for the HTTP request is set to `application/zip`.","content":{"application/zip":{"schema":{"type":"string","format":"binary"}}}}}}},"/init":{"get":{"operationId":"init_get_req","tags":["OpenID"],"summary":"Initiate the communication with the OpenID module","description":"The init request is used to initiate communication with the OpenID module from a UI client.\nIt may be used to login or logout a user or to initiate the authorization process from  a third party.\n","parameters":[{"in":"query","name":"hash","description":"The hash value from where the request was triggered for later deeplink purposes.","required":false,"schema":{"type":"string"}},{"in":"query","name":"version","description":"The client version.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing the redirect URL in an own 'redirect' parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InitResponse"}}}},"302":{"description":"A redirect to the OpenID provider for user authentication."}},"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","title":"init_get_reqBody","properties":{"flow":{"description":"One of the three following strings can be used, {login, logout, thirdParty}. Either one \nwill start the corresponding process in the OpenID module.\n","type":"string"},"redirect":{"description":"Describes wether the response will be in form of a redirect or an URL placed in a 'redirect' parameter \nin a JSON body.\n","type":"boolean"},"client":{"description":"The client identifier.","type":"string"}},"required":["flow","redirect"]}}}}},"post":{"operationId":"init_put_req","tags":["OpenID"],"summary":"Initiate the communication with the OpenID module","description":"The init request as a POST is for thirdParty flow only. Will directly inititate the login process.\n","parameters":[{"in":"query","name":"hash","description":"The hash value from where the request was triggered for later deeplink purposes.","required":false,"schema":{"type":"string"}},{"in":"query","name":"version","description":"The client version.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing the redirect URL in an own 'redirect' parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InitResponse"}}}},"302":{"description":"A redirect to the OpenID provider for user authentication."}},"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","title":"init_put_reqBody","properties":{"flow":{"description":"Only 'thirdParty' as value possible.\n","type":"string"},"redirect":{"description":"Describes wether the response will be in form of a redirect or an URL placed in a 'redirect' parameter \nin a JSON body.\n","type":"boolean"},"client":{"description":"The client identifier.","type":"string"}},"required":["flow","redirect"]}}}}}},"/jobs?action=all":{"get":{"operationId":"allJobs","tags":["Jobqueue"],"summary":"Get all user's jobs","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"An array of JSON objects each describing a job currently held in job queue. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AllJobsResponse"}}}}}}},"/jobs?action=cancel":{"get":{"operationId":"cancelJob","tags":["Jobqueue"],"summary":"Cancels a certain job held in job queue","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"The identifier for the job","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object providing success information. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CancelJobResponse"}}}}}}},"/jobs?action=get":{"get":{"operationId":"getJob","tags":["Jobqueue"],"summary":"Gets the result of a certain job","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"The identifier for the job","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The regular response appropriate for submitted job. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"type":"string","description":"The response of the originating request that was submitted as a job"}}}},"202":{"description":"The operation did not complete in time and was added to job queue providing the job identifier. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetJobResponse"}}}}}}},"/jobs?action=info":{"get":{"operationId":"infoJob","tags":["Jobqueue"],"summary":"Gets the informartion about a certain job held in job queue","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"The identifier for the job","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"An array of JSON objects each describing a job currently held in job queue. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InfoJobResponse"}}}}}}},"/jslob?action=all":{"get":{"operationId":"getAllJSlobs","tags":["JSlob"],"summary":"Gets all JSlobs.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"serviceId","description":"The identifier for the JSlob service, default is \"com.openexchange.jslob.config\".","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing an array of JSON objects each representing a certain JSON configuration.\nIn case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JSlobsResponse"}}}}}}},"/jslob?action=list":{"put":{"operationId":"getJSlobList","tags":["JSlob"],"summary":"Gets a list of JSlobs.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"serviceId","description":"The identifier for the JSlob service, default is \"com.openexchange.jslob.config\".","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing an array of JSON objects each representing a certain JSON configuration.\nIn case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JSlobsResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}},"description":"A JSON array with the identifiers of the requested JSlobs.","required":true}}},"/jslob?action=set":{"put":{"operationId":"setJSlob","tags":["JSlob"],"summary":"Stores or deletes a JSlob.","description":"To delete a JSON configuration just send an empty request body for the specified `id`.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"The JSlob indentifier.","schema":{"type":"string"}},{"in":"query","name":"serviceId","description":"The identifier for the JSlob service, default is \"com.openexchange.jslob.config\".","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"A JSON object containing the JSON configuration to store. To delete the JSlob just send an empty body.","required":true}}},"/jslob?action=update":{"put":{"operationId":"updateJSlob","tags":["JSlob"],"summary":"Updates a JSlob.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"The JSlob indentifier.","schema":{"type":"string"}},{"in":"query","name":"serviceId","description":"The identifier for the JSlob service, default is \"com.openexchange.jslob.config\".","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"The JSON object containing the updated JSON configuration to store. Fields that are not included are thus not affected and survive the change. Use `/jslob?action=set` to delete fields or entire JSlob.","required":true}}},"/jump?action=identityToken":{"get":{"operationId":"acquireIdentityToken","tags":["Jump"],"summary":"Acquires an identity token.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"system","description":"The identifier for the external service/system, like \"com.openexchange.jump.endpoint.mysystem\".","schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing the identity token. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JumpResponse"}}}}}}},"/login?action=autologin":{"get":{"operationId":"autologin","tags":["Login"],"summary":"Reuse old session saved if session cookie were persisted by choosing to 'stay signed in' when logging in","description":"If the session ID was stored in a cookie before by choosing to 'stay signed in' when logging in, \nthe user can reuse his old session by using the autologin request.\n","parameters":[{"in":"query","name":"authId","description":"Identifier for tracing every single login request passed between different systems in a cluster.\nThe value should be some token that is unique for every login request. This parameter must be\ngiven as URL parameter and not inside the body of the POST request. (IS OPTIONAL, meaning can be empty)\n","required":false,"schema":{"type":"string"}},{"in":"query","name":"client","description":"Identifier of the client using the HTTP/JSON interface. This is for statistic evaluations what clients are used with Open-Xchange.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing the session ID used for all subsequent requests. In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginResponse"}}}}},"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","title":"autologinBody","properties":{"rampup":{"description":"Determines whether client specific rampup data should be returned with a successfull login request or not.","type":"string"},"rampupFor":{"description":"Optional client identifier which is used to retrieve the rampup data.","type":"string"}}}}}}}},"/login?action=changeip":{"post":{"operationId":"changeIP","tags":["Login"],"summary":"Change IP of client host in a session.","description":"The following request is especially for integration with systems located in the providers\ninfrastructure. If those systems create a session with the following request the client host\nIP address in the session can be changed. The IP check for following requests will be done using\nthis newly set client host IP address.\n","parameters":[{"in":"query","name":"session","description":"A session ID previously obtained from the login module.","required":true,"schema":{"type":"string"}},{"in":"query","name":"clientIP","description":"New IP address of the client host for the current session.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing the string \"1\" as data attribute. In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangeIPResponse"}}}}}}},"/login?action=formlogin":{"post":{"operationId":"doFormLogin","tags":["Login"],"summary":"Login to the web frontend using a simple HTML form.","description":"This request implements a possible login to the web frontend by only using a simple HTML form.\nThe response contains a redirect link to the Web-UI. See [OXSessionFormLogin](http://oxpedia.org/wiki/index.php?title=OXSessionFormLogin) for details.\nAn example for such a form can be found in the backend's documentation folder\n(/usr/share/doc/open-xchange-core) under examples/login.html.\n","parameters":[{"in":"query","name":"authId","description":"Identifier for tracing every single login request passed between different systems in a cluster.\nThe value should be some token that is unique for every login request. This parameter must be\ngiven as URL parameter and not inside the body of the POST request.\n","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A redirect to the web UI. The URL of the web UI is either taken from the given parameter\nor from the configured default of the backend.\n","content":{"text/html":{"schema":{"type":"string"}}}}},"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","title":"doFormLoginBody","properties":{"rampup":{"description":"Determines whether client specific rampup data should be returned with a successfull login request or not.","type":"string"},"rampupFor":{"description":"Optional client identifier which is used to retrieve the rampup data.","type":"string"},"login":{"description":"The login name.","type":"string"},"password":{"description":"The password.","type":"string","format":"password"},"client":{"description":"Identifier of the client using the HTTP/JSON interface. This is for statistic evaluations what clients\nare used with Open-Xchange. If the autologin request should work the client must be the same as\nthe client sent by the UI in the normal login request.\n","type":"string"},"version":{"description":"Used version of the HTTP/JSON interface client.","type":"string"},"autologin":{"description":"True or false. True tells the UI to issue a store request for the session cookie.\nThis store request is necessary if you want the autologin request not to fail.\n","type":"boolean","default":false},"uiWebPath":{"description":"Defines another path on the web server where the UI is located. If this parameter is not defined\nthe configured default of the backend is used.\n","type":"string"},"clientIP":{"description":"IP address of the client host for that the session is created. If this parameter is not\nspecified the IP address of the HTTP client doing this request is used.\n","type":"string"},"clientUserAgent":{"description":"Value of the User-Agent header of the client host for that the session is created.\nIf this parameter is not specified the User-Agent of the current HTTP client doing\nthis request is used.\n","type":"string"}},"required":["login","password","client","version","autologin"]}}}}}},"/login?action=login":{"post":{"operationId":"doLogin","tags":["Login"],"summary":"Login with user credentials.","description":"The login module is used to obtain a session from the user's login\ncredentials. Parameters are normally expected in the POST request body.\n","parameters":[{"in":"query","name":"authId","description":"Identifier for tracing every single login request passed between different systems in a cluster.\nThe value should be some token that is unique for every login request. This parameter must be\ngiven as URL parameter and not inside the body of the POST request. (IS OPTIONAL, meaning can be empty)\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing the session ID used for all subsequent requests. In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginResponse"}}}}},"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","title":"doLoginBody","properties":{"rampup":{"description":"Determines whether client specific rampup data should be returned with a successfull login request or not.","type":"string"},"rampupFor":{"description":"Optional client identifier which is used to retrieve the rampup data.","type":"string"},"name":{"description":"The login name.","type":"string"},"password":{"description":"The password (MUST be placed in the request body, otherwise the login request will be denied).","type":"string","format":"password"},"client":{"description":"Identifier of the client using the HTTP/JSON interface. This is for statistic evaluations what clients are used with Open-Xchange.","type":"string"},"version":{"description":"Used version of the HTTP/JSON interface client.","type":"string"},"clientIP":{"description":"IP address of the client host for that the session is created. If this parameter is not specified the IP address of the HTTP client doing this request is used.","type":"string"},"clientUserAgent":{"description":"Value of the User-Agent header of the client host for that the session is created. If this parameter is not specified the User-Agent of the current HTTP client doing this request is used.","type":"string"},"staySignedIn":{"description":"Cookies will be persisted if user choses to stay signed in","type":"boolean"}},"required":["name","password"]}}}}}},"/login?action=logout":{"get":{"operationId":"doLogout","tags":["Login"],"summary":"Does the logout.","description":"Does the logout which invalidates the session.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A successfull logout"},"403":{"description":"FORBIDDEN. The server refuses to respond to the request."}}}},"/login?action=redeemToken":{"post":{"operationId":"redeemToken","tags":["Login"],"summary":"Redeem Token Login.","description":"With a valid session it is possible to acquire a secret (see `token?action=acquireToken`). Using this secret another system is able\nto generate a valid session. This session may also contain the users password (configurable).\nThe system in question needs to be registered at the server and has to identify itself with a key\nconfigured at the open-xchange server. This is only for internal communication and by default no keys\nare available.\n","parameters":[{"in":"query","name":"authId","description":"Identifier for tracing every single login request passed between different systems in a cluster.\nThe value should be some token that is unique for every login request. This parameter must be\ngiven as URL parameter and not inside the body of the POST request.\n","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing the session ID used for all subsequent requests. Additionally a random\ntoken is contained to be used for the Easy Login method. If configured within tokenlogin-secrets\nconfiguration file even the user password will be returned. In case of errors the responsible\nfields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginResponse"}}}}},"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","title":"redeemTokenBody","properties":{"token":{"description":"The token created with `token?action=acquireToken`.","type":"string"},"client":{"description":"Identifier of the client using the HTTP/JSON interface. The client must identifier must be the same for each request after creating the login session.","type":"string"},"secret":{"description":"The value of the secret string for token logins. This is configured through the tokenlogin-secrets configuration file.","type":"string"}},"required":["token","client","secret"]}}}}}},"/login;jsessionid=1157370816112.OX1?action=redirect":{"get":{"operationId":"redirect","tags":["Login"],"summary":"Refresh auto-login cookie","description":"**SECURITY WARNING!** Utilizing this request is **INSECURE!** This request allows to access a session with a\nsingle one time token. This one time token may be delivered to the wrong client if the protocol has an\nerror or Apache or the load balancer make a mistake. This will cause a wrong user to be in a wrong\nsession. **IMMEDIATELY** consider not to use this request anymore. You have been warned. Use instead the\nFormLogin that does not need to use the redirect request.\n","parameters":[{"in":"query","name":"random","description":"A session random token to jump into the session. This random token is part of the login\nresponse. Only a very short configurable time after the login it is allowed to jump into\nthe session with the random token.\n","required":true,"schema":{"type":"string"}},{"in":"query","name":"client","description":"The client can be defined here newly if it is not correct on the login request itself.","required":false,"schema":{"type":"string"}},{"in":"query","name":"store","description":"Tells the UI to do a store request after login to be able to use autologin request.","required":false,"schema":{"type":"boolean"}},{"in":"query","name":"uiWebPath","description":"The optional path on the webserver to the UI. If this parameter is not given the configured uiWebPath is used.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonResponse"}}}}}}},"/login?action=refreshSecret":{"get":{"operationId":"refreshSecretCookie","tags":["Login"],"summary":"Refreshes the secret cookie","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonResponse"}}}}}}},"/login?action=samlLogin":{"get":{"operationId":"samlLogin","tags":["Login","SAML"],"summary":"Create App Suite session after SAML login flow","description":"This API call is typically the result of a redirect created by the server. It does not\nneed to be explicitly implemented by clients!\n\nAfter a successful SAML login flow, the client (web browser) is redirected\nto this endpoint, where the actual App Suite session gets created. As a result,\nthe user gets redirected to `https://<webmail-domain>/<login-path>#session=<session-id>`.\nThe redirect response has App Suite session cookies set.\n","parameters":[{"in":"query","name":"token","description":"A valid session reservation token","required":true,"schema":{"type":"string"}},{"in":"query","name":"client","description":"Identifier of the client using the HTTP/JSON interface.\nDefault: Value of configuration property `com.openexchange.ajax.login.http-auth.client`\n","required":false,"schema":{"type":"string","default":null}},{"in":"query","name":"clientUserAgent","description":"Parameter to override the user agent used for session creation. By default the `User-Agent` request header is evaluated.","required":false,"schema":{"type":"string"}},{"in":"query","name":"loginPath","description":"The login path to be set on the resulting `Location` response header as part of the redirect response.\nDefault: Value of configuration property `com.openexchange.UIWebPath`.\n","required":false,"schema":{"type":"string"}},{"in":"query","name":"shard","description":"Shard identifier to route the requiest accordingly","schema":{"type":"string"}}],"responses":{"200":{"description":"A html error page"},"302":{"description":"In case of a succes the middleware answers with a redirect to for bootstrapping the client session","headers":{"Location":{"description":"A redirect URI that the client must follow to continue","schema":{"type":"string"}}}},"400":{"description":"In case the token is missing"},"403":{"description":"In case the login is not allowed"}}}},"/login?action=samlLogout":{"get":{"operationId":"samlLogout","tags":["Login","SAML"],"summary":"Terminates an App Suite session after SAML logout flow","description":"This API call is typically the result of a redirect created by the server. It does not\nneed to be explicitly implemented by clients!\n\nAfter a successful SAML logout flow, the client (web browser) is redirected\nto this endpoint, where the actual App Suite session gets terminated. As a result,\nthe user gets usually redirected to an environment-specific location, for example\na portal page. The redirect response removes all App Suite session cookies.\n","parameters":[{"in":"query","name":"session","description":"App Suite session ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A html result page"},"302":{"description":"A redirect to an exit page","headers":{"Location":{"description":"A redirect URI that the client must follow to continue","schema":{"type":"string"}}}}}}},"/login?action=store":{"get":{"operationId":"refreshAutoLoginCookie","tags":["Login"],"summary":"Deprecated since 7.10.3. Refreshes the auto-login cookie.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonResponse"}}}}}}},"/login?action=tokenLogin":{"post":{"operationId":"doTokenLogin","tags":["Login"],"summary":"Login for a very short living session.","description":"This request allows every possible client to create a very short living session. This session can then be transferred to any other client preferably a browser entering then the normal web interface. Then the sessions life time will be extended equally to every other session.\n\nCompared to the login mechanism using the random token, this request is more secure because two tokens are used. One of these tokens is only known to the client and one is generated by the server. Only the combination of both tokens allows to use the session. The combination of both tokens must be done by the client creating the session.\n\n**DISCLAIMER:** This request MUST NOT be used by some server side instance. If some server side instance uses this request to create a session for a browser on some client machine, then you have to transfer the full URL with server and client token over some connection to the client. This creates a **VULNERABILITY** if this is done. The token login method is only secure if this request is already sent from the same machine that later runs the browser using the created session.\n","parameters":[{"in":"query","name":"authId","description":"Identifier for tracing every single login request passed between different systems in a cluster.\nThe value should be some token that is unique for every login request. This parameter must be\ngiven as URL parameter and not inside the body of the POST request.\n","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"In case `jsonResponse=true`, it is returned a JSON object. Otherwise a redirect to the web UI.\nThe URL of the web UI is either taken from the given parameter or from the configured default\nof the backend. This redirect will only contain the server side token. The client side token\nsent in the request must be appended by the client creating the session. The final URL must\nhave the form redirect_URL&clientToken=token. Both tokens are necessary to use the session and\nboth tokens must match. Otherwise the session is terminated. In case of errors the responsible\nfields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenLoginResponse"}},"text/html":{"schema":{"$ref":"#/components/schemas/TokenLoginResponse"}}}}},"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","title":"doTokenLoginBody","properties":{"login":{"description":"The login information.","type":"string"},"password":{"description":"The password (MUST be placed in the request body, otherwise the login request will be denied).","type":"string","format":"password"},"clientToken":{"description":"Client side identifier for accessing the session later. The value should be some token that is unique for every login request.","type":"string"},"client":{"description":"Identifier of the client using the HTTP/JSON interface. This is for statistic evaluations what clients are used with Open-Xchange.","type":"string"},"version":{"description":"Version of the HTTP/JSON interface client. Only for statistic evaluations.","type":"string"},"staySignedIn":{"description":"Cookies will be persisted if user choses to stay signed in.\n","type":"boolean"},"uiWebPath":{"description":"Defines another path on the web server where the UI is located. If this parameter is not\ndefined the configured default of the backend is used.\n","type":"string"},"clientIP":{"description":"IP address of the client host for that the session is created. If this parameter is not specified the IP address of the HTTP client doing this request is used.","type":"string"},"clientUserAgent":{"description":"Value of the User-Agent header of the client host for that the session is created. If this\nparameter is not specified the User-Agent of the current HTTP client doing this request is used.\n","type":"string"},"jsonResponse":{"description":"’True’ or ’false’ (default). Defines the returned data type as JSON. Default `false` will return a redirect.","type":"boolean","default":false}},"required":["login","password","clientToken","client","version"]}}}}}},"/login?action=tokens":{"post":{"operationId":"accessSession","tags":["Login"],"summary":"Accesses a session that was previously created with the token login.","description":"This request allows clients to access a session created with the `/login?action=tokenLogin` request.\nWhen accessing the session its life time is extended equally to every other session.\n","responses":{"200":{"description":"A JSON object conform to the normal response body containing the session identifier, the login, the identifier\nand the locale of the user.  In case of errors the responsible fields in the response are filled\n(see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokensResponse"}}}}},"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","title":"accessSessionBody","properties":{"serverToken":{"description":"The login name.","type":"string"},"clientToken":{"description":"The password (MUST be placed in the request body, otherwise the login request will be denied).","type":"string"},"client":{"description":"Identifier of the client using the HTTP/JSON interface. This is for statistic evaluations what clients are used with Open-Xchange.","type":"string"}},"required":["serverToken","clientToken","client"]}}}}}},"/logout":{"get":{"operationId":"logout","tags":["OpenID"],"summary":"Initiate the communication with the OpenID module","description":"The logout request will terminate everx session for the current user and redirect him to the \nconfigured after logout page.\n","parameters":[{"in":"query","name":"state","description":"The state which started the logout process.","required":true,"schema":{"type":"string"}}],"responses":{"302":{"description":"A redirect to the after logout page."}}}},"/mail/categories?action=move":{"put":{"operationId":"moveMails","tags":["Mail_categories"],"summary":"Moves mails to the given category","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"category_id","description":"The identifier of a category.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"'An empty response if everything went well. In case of errors the responsible fields in the\nresponse are filled (see [Error handling](#error-handling)).'\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Mail_CategoriesMoveBody"}}}},"description":"'A JSON array of mail identifier, e.g.: [{\"id\":ID, \"folder_id\":FID},{\"id\":ID2, \"folder_id\":FID2}, {...}]' \n","required":true}}},"/mail/categories?action=train":{"put":{"operationId":"train","tags":["Mail_categories"],"summary":"Add a new rule","description":"Adds a new rule with the given mail addresses to the given category and optionally reorganize all existing mails in the inbox.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"category_id","description":"The identifier of a category.","required":true,"schema":{"type":"string"}},{"in":"query","name":"apply-for-existing","description":"A flag indicating whether old mails should be reorganized. Defaults to 'false'.","required":false,"schema":{"type":"boolean"}},{"in":"query","name":"apply-for-future-ones","description":"A flag indicating whether a rule should be created or not. Defaults to 'true'.","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"'An empty response if everything went well. In case of errors the responsible fields in the\nresponse are filled (see [Error handling](#error-handling)).'\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mail_CategoriesTrainBody"}}},"description":"'A JSON object containing a \"from\" field which contains an array of mail addresses.' \n","required":true}}},"/mail/categories?action=unread":{"get":{"operationId":"unread","tags":["Mail_categories"],"summary":"Retrieves the unread counts of active mail categories","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"category_ids","description":"A comma separated list of category identifiers. If set only the unread counters of this categories are retrieved.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"'A JSON object with a field for each active category containing the number of unread messages. In case of errors the responsible fields in the\nresponse are filled (see [Error handling](#error-handling)).'\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mail_CategoriesUnreadResponse"}}}}}}},"/mail/compose/{id}/attachments":{"post":{"operationId":"postAttachments","tags":["MailCompose"],"summary":"Add new attachment.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"path","name":"id","description":"The ID of the composition space","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing the newly added attachment.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailComposeAttachmentResponse"}}}},"400":{"description":"Bad request, response contains error message."},"401":{"description":"Not authorized"}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","title":"postAttachmentsBody","properties":{"file":{"description":"The file to add","type":"string","format":"binary"}},"required":["file"]}}}}}},"/mail/compose":{"parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"post":{"operationId":"postMailCompose","tags":["MailCompose"],"summary":"Create a new composition space","description":"For any types but \"new\", the response provides ready-to-use values, e.g. to, cc, bcc, subject with prefix, attachments. Internally all mime headers are set properly (a..g to maintain threads). Only the content is still original, i.e. the client uses DOMPurify to sanitize and to quote the content.","parameters":[{"name":"type","in":"query","description":"One of new/reply/replyall/forward/resend/edit/copy","required":false,"schema":{"type":"string"}},{"name":"vcard","in":"query","description":"Attach users vcard","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"A JSON object containing the newly created message model.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailComposeResponse"}}}},"400":{"description":"Bad request, response contains error message."},"401":{"description":"Not authorized"}},"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","title":"ComposeBody","properties":{"id":{"type":"string","description":"Id of original email"},"folderId":{"type":"string","description":"folder of original email"}}}}}},"description":"Array of Objects (id, folderId) to reference mails (reply or multiple on forward as example)"}},"get":{"operationId":"getMailCompose","tags":["MailCompose"],"summary":"Get all open spaces","description":"Returns a JSON array of compositions spaces","parameters":[{"name":"columns","in":"query","description":"A comma-separated list of columns to return. Each column is specified by the name of the Composition Space attribute. If no columns are specified only the \"id\" column is set.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON array containing message models.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailComposeGetResponse"}}}},"400":{"description":"Bad request, response contains error message."},"401":{"description":"Not authorized"}}}},"/mail/compose/{id}/attachments/original":{"post":{"operationId":"postAttachmentsOriginal","tags":["MailCompose"],"summary":"Add all original attachments (useful for replies).","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"path","name":"id","description":"The ID of the composition space","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON array containing the added attachments to concat.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailComposeAttachmentPostResponse"}}}},"400":{"description":"Bad request, response contains error message."},"401":{"description":"Not authorized"}}}},"/mail/compose/{id}/save":{"post":{"operationId":"getSave","tags":["MailCompose"],"summary":"Save as draft. Space gets deleted.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"path","name":"id","description":"The ID of the composition space","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The path to the mail.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailComposeSendResponse"}}}},"400":{"description":"Bad request, response contains error message."},"401":{"description":"Not authorized"}}}},"/mail/compose/{id}/send":{"post":{"operationId":"postMailComposeSend","tags":["MailCompose"],"summary":"Send message. Space gets deleted. Optionally deletes draft if referenced.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"path","name":"id","description":"The ID of the composition space","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The path to the sent mail or {\"success\"=true}.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailComposeSendResponse"}}}},"400":{"description":"Bad request, response contains error message."},"401":{"description":"Not authorized"}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","title":"postMailComposeSendBody","properties":{"JSON":{"description":"Represents the request body as JSON string containing the [MailMessageModel](#/definitions/MailComposeMessageModel).","type":"string"},"file":{"description":"The optional file to add","type":"string","format":"binary"}},"required":["JSON"]}}}}}},"/mail/compose/{id}/attachments/vcard":{"post":{"operationId":"postAttachmentsVcard","tags":["MailCompose"],"summary":"Attach vcard later on.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"path","name":"id","description":"The ID of the composition space","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing the new attachment.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailComposeAttachmentResponse"}}}},"400":{"description":"Bad request, response contains error message."},"401":{"description":"Not authorized"}}}},"/mail/compose/{id}/attachments/{attachmentId}":{"parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"path","name":"id","description":"The ID of the composition space","required":true,"schema":{"type":"string"}},{"in":"path","name":"attachmentId","description":"The ID of the attachment","required":true,"schema":{"type":"string"}}],"post":{"operationId":"postAttachmentsById","tags":["MailCompose"],"summary":"Uploads an attachment again and removes the old attachment from the server. Used for image resize.","responses":{"200":{"description":"A JSON object containing the newly added attachment.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailComposeAttachmentResponse"}}}},"400":{"description":"Bad request, response contains error message."},"401":{"description":"Not authorized"}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","title":"postAttachmentsBody","properties":{"file":{"description":"The file to add","type":"string","format":"binary"}},"required":["file"]}}}}},"get":{"operationId":"getAttachmentsById","tags":["MailCompose"],"summary":"Get binary attachment. This URL pattern can be used for inline images.","responses":{"200":{"description":"The attachment as file.","content":{"application/json":{"schema":{"type":"string","format":"byte"}}}},"400":{"description":"Bad request, response contains error message."},"401":{"description":"Not authorized"}}},"delete":{"operationId":"deleteAttachmentsById","tags":["MailCompose"],"summary":"Delete an existing attachment.","responses":{"200":{"description":"A JSON object containing the success status.","content":{"application/json":{"schema":{"type":"object","title":"DeleteAttachmentsByIdBody","properties":{"success":{"type":"boolean","description":"true if the attachment has been successfully deleted"}}}}}},"400":{"description":"Bad request, response contains error message."},"401":{"description":"Not authorized"}}}},"/mail/compose/{id}":{"get":{"operationId":"getMailComposeById","tags":["MailCompose"],"summary":"Load the composition space under the given identifier","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"path","name":"id","description":"The ID of the composition space","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing the requested composition space.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailComposeResponse"}}}},"400":{"description":"Bad request, response contains error message."},"401":{"description":"Not authorized"}}},"delete":{"operationId":"deleteMailComposeById","tags":["MailCompose"],"summary":"Deletes the composition space under the given identifier","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"path","name":"id","description":"The ID of the composition space","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing the success status.","content":{"application/json":{"schema":{"type":"object","title":"deleteMailComposeByIdResponse","properties":{"success":{"type":"boolean","description":"True if such a composition space has been successfully closed; false otherwise"}}}}}},"400":{"description":"Bad request, response contains error message."},"401":{"description":"Not authorized"}}},"put":{"operationId":"updateMailComposeById","tags":["MailCompose"],"summary":"Updates the composition space","description":"Payload is JSON that reflects changes. Response is the current composition space message model after update.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"path","name":"id","description":"The ID of the composition space","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing the updated composition space.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailComposeResponse"}}}},"400":{"description":"Bad request, response contains error message."},"401":{"description":"Not authorized"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailComposeMessageModel"}}},"description":"An object containing the attributes to update","required":true}},"patch":{"operationId":"patchMailComposeById","tags":["MailCompose"],"summary":"Patches the composition space","description":"Payload is JSON that reflects changes. Response is the current composition space message model after update.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"path","name":"id","description":"The ID of the composition space","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing the updated composition space.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailComposeResponse"}}}},"400":{"description":"Bad request, response contains error message."},"401":{"description":"Not authorized"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailComposeMessageModel"}}},"description":"An object containing the attributes to update","required":true}}},"/mail?action=all":{"get":{"operationId":"getAllMails","tags":["Mail"],"summary":"Gets all mails.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamMailFolder"},{"$ref":"#/components/parameters/gblQueryParamMailColumns"},{"$ref":"#/components/parameters/gblQueryParamMailHeaders"},{"$ref":"#/components/parameters/gblQueryParamMailUnseen"},{"$ref":"#/components/parameters/gblQueryParamMailDeleted"},{"in":"query","name":"sort","description":"The identifier of a column which determines the sort order of the response. If this parameter is specified, then the parameter order must be also specified.","required":false,"schema":{"type":"string"}},{"in":"query","name":"order","description":"\"asc\" if the response entities should be sorted in the ascending order, \"desc\" if the response entries should be sorted in the descending order. If this parameter is specified, then the parameter sort must be also specified.","required":false,"schema":{"type":"string"}},{"in":"query","name":"left_hand_limit","description":"A positive integer number to specify the \"left-hand\" limit of the range to return.","required":false,"schema":{"type":"integer"}},{"in":"query","name":"right_hand_limit","description":"A positive integer number to specify the \"right-hand\" limit of the range to return.","required":false,"schema":{"type":"integer"}},{"in":"query","name":"limit","description":"A positive integer number to specify how many items shall be returned according to given sorting; overrides `left_hand_limit`/`right_hand_limit` parameters and is equal to `left_hand_limit=0` and `right_hand_limit=<limit>`.","required":false,"schema":{"type":"integer"}},{"in":"query","name":"categoryid","description":"The category id to filter for. If set to \"general\" all mails which does not belong to any other category are retrieved.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"'A JSON object containing an array with mail data. Each array element describes one mail and\nis itself an array. The elements of each array contain the information specified by the corresponding\nidentifiers in the `columns` parameter. Not IMAP: with timestamp. In case of errors the responsible fields in the\nresponse are filled (see [Error handling](#error-handling)).'\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailsResponse"}}}}}}},"/mail?action=all_seen":{"put":{"operationId":"markAllMailsAsRead","tags":["Mail"],"summary":"Marks all mails of a folder as seen.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamMailFolder"}],"responses":{"200":{"description":"A JSON object with the value `true`. In case of errors the responsible fields in the\nresponse are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailsAllSeenResponse"}}}}}}},"/mail?action=attachment":{"get":{"operationId":"getMailAttachment","tags":["Mail"],"summary":"Gets a mail attachment.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamMailFolder"},{"in":"query","name":"id","description":"Object ID of the mail which contains the attachment.","required":true,"schema":{"type":"string"}},{"in":"query","name":"attachment","description":"ID of the requested attachment (can be substituted by the parameter `cid` otherwise this parameter is **mandatory**).","required":false,"schema":{"type":"string"}},{"in":"query","name":"cid","description":"Value of header 'Content-ID' of the requested attachment (can be substituted by the parameter `attachment` otherwise this parameter is **mandatory**).","required":false,"schema":{"type":"string"}},{"in":"query","name":"save","description":"1 overwrites the defined mimetype for this attachment to force the download dialog, otherwise 0.","required":false,"schema":{"type":"integer","minimum":0,"maximum":1}},{"in":"query","name":"filter","description":"1 to apply HTML white-list filter rules if and only if requested attachment is of MIME type `text/htm*` **AND** parameter `save` is set to 0.","required":false,"schema":{"type":"integer","minimum":0,"maximum":1}},{"in":"query","name":"allow_nested_messages","description":"A value of \"false\" leads to light-weight JSON objects for nested messages containing only the \"id\" field","required":false,"schema":{"type":"boolean"}},{"in":"query","name":"scan","description":"Flag to request an Anti-Virus scan for the specified e-mail attachment before downloading it. \nNote that if there is a max file limitation set on the middleware, the URL parameter 'exact_length'\nhas to be set to 'true' to instruct the middleware to calculate the attachment's size before passing\nit to the Anti-Virus scanner.\n","required":false,"schema":{"type":"boolean"}},{"in":"query","name":"as_json","description":"Nested messages are parsed into full JSON objects. Can lead to longer loading times, for multiple nested messages.","required":false,"schema":{"type":"boolean"}},{"$ref":"#/components/parameters/gblQueryParamsDecrypt"},{"$ref":"#/components/parameters/glbQueryParamsCryptoAuth"},{"$ref":"#/components/parameters/glbQueryParamsImageTransformationRotate"},{"$ref":"#/components/parameters/glbQueryParamsImageTransformationWidth"},{"$ref":"#/components/parameters/glbQueryParamsImageTransformationHeight"},{"$ref":"#/components/parameters/glbQueryParamsImageTransformationShrinkOnly"},{"$ref":"#/components/parameters/glbQueryParamsImageTransformationScaleType"},{"$ref":"#/components/parameters/glbQueryParamsImageTransformationCropWidth"},{"$ref":"#/components/parameters/glbQueryParamsImageTransformationCropHeight"},{"$ref":"#/components/parameters/glbQueryParamsImageTransformationCropX"},{"$ref":"#/components/parameters/glbQueryParamsImageTransformationCropY"}],"responses":{"200":{"description":"The raw byte data of the document. The response type for the HTTP Request is set accordingly to the defined mimetype for this attachment, except the parameter save is set to 1.","content":{"application/json":{"schema":{"type":"string","format":"byte"}}}}}},"put":{"operationId":"putMailAttachment","tags":["Mail"],"summary":"Stores a mail attachment to the drive.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamMailFolder"},{"in":"query","name":"id","description":"Object ID of the mail which contains the attachment.","required":true,"schema":{"type":"string"}},{"in":"query","name":"attachment","description":"ID of the requested attachment.","required":true,"schema":{"type":"string"}},{"in":"query","name":"dest_folder","description":"Object ID of the folder in which the attachment should be stored.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containting the data of the store operation. E.g. contains the id of the newly created drive file.","content":{"application/json":{"schema":{"type":"object","title":"PutAttachmentResponse","properties":{"data":{"type":"object","properties":{"mailFolder":{"type":"string","description":"Object ID of the folder who contains the mails."},"mailUID":{"type":"string","description":"Object ID of the mail which contains the attachment."},"id":{"type":"string","description":"Object ID of the newly created drive file."},"folder_id":{"type":"string","description":"Object ID of the folder in which the attachment is stored to."},"filename":{"type":"string","description":"Name of the newly created drive file."}}}}}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PutAttachmentBody"}}},"description":"A possible empty JSON object containing the optional fields `description` and `filename`. The filename and description values will be used for the newly created file in the drive module.\n","required":true}}},"/mail?action=autosave":{"put":{"operationId":"autosave","tags":["Mail"],"summary":"Auto saves an e-mail as draft.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"csid","description":"The \"csid\" parameter providing the composition space identifier.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"'A JSON object containing the identifier of the saved draft e-mail. In case of errors the responsible fields in the\nresponse are filled (see [Error handling](#error-handling)).'\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailsResponse"}}}}},"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","$ref":"#/components/schemas/MailData"}}},"description":"'Contains the rudimentary mail as JSON object as described in [Detailed mail data](#detailed-mail-data) with just its message body\n(as html content) defined in nested JSON array `attachments` and its header data (from, to,\nsubject, etc.). The field \"content_type\" defines whether the mail ought to be sent as plain text\n(\"text/plain\"), as html (\"text/html\") or as multipart/alternative (\"ALTERNATIVE\"). Sending a mail\nrequires some special fields inside JSON mail object. The field \"infostore_ids\" defines a JSON\narray of infostore document ID(s) that ought to be appended to this mail as attachments. The field\n\"msgref\" indicates the ID of the referenced original mail. Moreover the field \"sendtype\" indicates\nthe type of the message: <br> 0 (normal new mail),<br> 1 (a reply mail, field `msgref` must be present),<br>\n2 (a forward mail, field `msgref` must be present),<br> 3 (draft edit operation, field `msgref` must be\npresent in order to delete previous draft message since e.g. IMAP does not support changing/replacing\na message but requires a delete-and-insert sequence),<br> 4 (transport of a draft mail, field `msgref`\nmust be present),<br> 6 (signals that user intends to send out a saved draft message and expects the draft\nmessage (referenced by `msgref` field) being deleted after successful transport). The `csid` field, if it is missing\nfrom the URL it must then be present in the body.' \n","required":true}}},"/mail?action=clear":{"put":{"operationId":"clearMailFolders","tags":["Mail"],"summary":"Clears the content of mail folders.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"timestamp","description":"Not IMAP: timestamp of the last update of the deleted mails.","required":false,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"A JSON array with IDs of mail folder that could not be cleared; meaning the response body is an empty\nJSON array if everything went well. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailsCleanUpResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}},"description":"A JSON array with object IDs of the mail folders that shall be cleared.","required":true}}},"/mail?action=copy":{"put":{"operationId":"copyMail","tags":["Mail"],"summary":"Copies a mail to another folder.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"Object ID of the requested mail that shall be copied.","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/gblQueryParamMailFolder"}],"responses":{"200":{"description":"A JSON object containing the object ID and the folder ID of the copied mail. In case of errors the responsible fields in the\nresponse are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailDestinationResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailDestinationBody"}}},"description":"A JSON object containing the id of the destination folder.","required":true}}},"/mail?action=count":{"get":{"operationId":"getMailCount","tags":["Mail"],"summary":"Gets the mail count.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamMailFolder"}],"responses":{"200":{"description":"'A JSON object containing an integer value representing the folder's mail count. Not IMAP: with timestamp. In case of errors the responsible fields in the\nresponse are filled (see [Error handling](#error-handling)).'\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailCountResponse"}}}}}}},"/mail?action=delete":{"put":{"operationId":"deleteMails","tags":["Mail"],"summary":"Deletes mails.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"timestamp","description":"Not IMAP: timestamp of the last update of the deleted mails.","required":false,"schema":{"type":"integer","format":"int64"}},{"in":"query","name":"harddelete","description":"Flag to hard delete the messages, meaning not to create a backup copy of each message in default trash if set to `true`.","required":false,"schema":{"type":"boolean"}},{"in":"query","name":"returnAffectedFolders","description":"Flag to generate an JSON response as described below. If set to `false` just an empty JSON Array is returned.","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"Not IMAP: A JSON array with object IDs of mails which were modified after the specified timestamp and\nwere therefore not deleted. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailsCleanUpResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MailListElement"}}}},"description":"A JSON array of JSON objects with the id and folder of the mails.","required":true}}},"/mail?action=examine":{"get":{"operationId":"examine","tags":["Mail"],"summary":"Examines a specifed mail folder and provides its basic status information","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"folder","description":"The identifier of the folder to provide the status information for","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"'The JSON representation for the status information. In case of errors the responsible fields in the\nresponse are filled (see [Error handling](#error-handling)).'\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExamineResponse"}}}}}}},"/mail?action=forward":{"get":{"operationId":"forwardMail","tags":["Mail"],"summary":"Forwards a mail.","description":"Returns the data for the message that shall be forwarded.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamMailFolder"},{"in":"query","name":"id","description":"Object ID of the requested message.","required":true,"schema":{"type":"string"}},{"in":"query","name":"view","description":"Content 'text' forces the server to deliver a text-only version of the requested mail's body, even if content is HTML. 'html' to allow a possible HTML mail body being transferred as it is (but white-list filter applied). NOTE: if set, the corresponding gui config setting will be ignored.","required":false,"schema":{"type":"string","enum":["text","html"]}},{"in":"query","name":"max_size","description":"A positive integer number (greater than 10000) to specify how many characters of the message content will be returned. If the number is smaller than 10000 the value will be ignored and 10000 used.","required":false,"schema":{"type":"integer","minimum":10000}},{"$ref":"#/components/parameters/gblQueryParamsDecrypt"},{"$ref":"#/components/parameters/glbQueryParamsCryptoAuth"}],"responses":{"200":{"description":"A JSON object containing all data of the requested mail. Not IMAP: with timestamp. In case of errors the responsible fields in the\nresponse are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailReplyResponse"}}}}}}},"/mail?action=get&hdr=1":{"get":{"operationId":"getMailHeaders","tags":["Mail"],"summary":"Gets the message headers as plain text.","description":"#### Note\nBy setting the query parameter `hdr` to 1 the response type of the request action changes. Then\nit is returned a JSON object with the field `data` containing the (formatted) message headers\nas plain text.\nThe parameters below specify the ones that have an effect on the request.\n","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamMailFolder"},{"in":"query","name":"id","description":"Object ID of the requested mail (can be substituded by `message_id` parameter).","required":false,"schema":{"type":"string"}},{"in":"query","name":"message_id","description":"The value of \"Message-Id\" header of the requested mail. This parameter is a substitute for \"id\" parameter.","required":false,"schema":{"type":"string"}},{"in":"query","name":"unseen","description":"Use `true` to leave an unseen mail as unseen although its content is requested.","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"A JSON object containing the message headers as plain text. In case of errors the responsible fields in the\nresponse are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailHeadersResponse"}}}}}}},"/mail?action=get&src=1":{"get":{"operationId":"getMailSource","tags":["Mail"],"summary":"Gets the complete message source as plain text.","description":"#### Note\nBy setting the query parameter `src` to 1 the response type of the request action changes. Then\nit is returned a JSON object with the field `data` containing the complete message source as plain text.\nThe parameters below specify the ones that have an effect on the request.\n","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamMailFolder"},{"in":"query","name":"id","description":"Object ID of the requested mail (can be substituded by `message_id` parameter).","required":false,"schema":{"type":"string"}},{"in":"query","name":"message_id","description":"The value of \"Message-Id\" header of the requested mail. This parameter is a substitute for \"id\" parameter.","required":false,"schema":{"type":"string"}},{"in":"query","name":"unseen","description":"Use `true` to leave an unseen mail as unseen although its content is requested.","required":false,"schema":{"type":"boolean"}},{"in":"query","name":"save","description":"1 to write the complete message source to output stream. **NOTE:** This parameter will only be used if parameter `src` is set to 1.","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"A JSON object containing the complete message source as plain text. In case of errors the responsible fields in the\nresponse are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailSourceResponse"}}}}}}},"/mail?action=get":{"get":{"operationId":"getMail","tags":["Mail"],"summary":"Gets a mail.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamMailFolder"},{"in":"query","name":"id","description":"Object ID of the requested mail (can be substituded by `message_id` parameter).","required":false,"schema":{"type":"string"}},{"in":"query","name":"message_id","description":"The value of \"Message-Id\" header of the requested mail. This parameter is a substitute for \"id\" parameter.","required":false,"schema":{"type":"string"}},{"in":"query","name":"edit","description":"1 indicates that this request should fill the message compose dialog to edit a message and thus display-specific date is going to be withheld.","required":false,"schema":{"type":"integer","minimum":0,"maximum":1}},{"in":"query","name":"view","description":"\"Specifies the view of the mail's body: \nraw (returns the content as it is, meaning no preparation are performed and thus no guarantee for safe contents is given), \ntext ( forces the server to deliver a text-only version of the requested mail's body, even if content is HTML), \ntextNoHtmlAttach (is the same as 'text', but does not deliver the HTML part as attachment in case of multipart/alternative content), \nhtml (to allow a possible HTML mail body being transferred as it is (but white-list filter applied)), \nnoimg (to allow a possible HTML content being transferred but without original image src attributes which references external images; \ncan be used to prevent loading external linked images (spam privacy protection)). \ndocument (to have a inline HTML representation of message's content in a separate window)\n**If set, the corresponding gui config setting will be ignored.**\"\n","required":false,"schema":{"type":"string","enum":["raw","text","textNoHtmlAttach","html","noimg","document"]}},{"in":"query","name":"forceImages","description":"Use `true` to enforce that images are allowed in HTML content. Only applicable in case `view` parameter is `document`","required":false,"schema":{"type":"boolean"}},{"in":"query","name":"unseen","description":"Use `true` to leave an unseen mail as unseen although its content is requested.","required":false,"schema":{"type":"boolean"}},{"in":"query","name":"max_size","description":"A positive integer number (greater than 10000) to specify how many characters of the message content will be returned. If the number is smaller than 10000 the value will be ignored and 10000 used.","required":false,"schema":{"type":"integer","minimum":10000}},{"in":"query","name":"attach_src","description":"1 to let the JSON mail representation being extended by \"source\" field containing the mail raw RFC822 source data.","required":false,"schema":{"type":"integer","minimum":0,"maximum":1}},{"in":"query","name":"estimate_length","description":"If set to \"true\" the \"size\" field for mail attachments is adjusted by applying an estimation based on attachment's Content-Transfer-Encoding header","required":false,"schema":{"type":"boolean"}},{"in":"query","name":"pregenerate_previews","description":"If set to \"true\" preview generation is triggered in the background for all file attachments of the referenced mail message","required":false,"schema":{"type":"boolean"}},{"in":"query","name":"no_nested_message","description":"If set to \"true\" nested messages are handled as regular attachments","required":false,"schema":{"type":"boolean"}},{"$ref":"#/components/parameters/gblQueryParamsDecrypt"},{"$ref":"#/components/parameters/glbQueryParamsCryptoAuth"}],"responses":{"200":{"description":"A JSON object containing all data of the requested mail. In case of errors the responsible fields in the\nresponse are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailResponse"}}}}}}},"/mail?action=import":{"post":{"operationId":"importMail","tags":["Mail"],"summary":"Import of mails as MIME data block ([RFC822](https://tools.ietf.org/html/rfc822)).","description":"This request can be used to store a single or a lot of mails in the OX mail storage backend. This\naction should be used instead of [/mail?action=new](#operation--mail-action-new-post) because it is faster and tolerant to 8-bit encoded emails.\n\nTo import multiple mails add further form-data fields.\n","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"folder","description":"The ID of the folder into that the emails should be imported.","required":true,"schema":{"type":"string"}},{"in":"query","name":"flags","description":"In case the mail should be stored with status \"read\" (e.g. mail has been read already in the client inbox), the parameter \"flags\" has to be included. For information about mail flags see [Detailed mail data](#detailed-mail-data).","required":false,"schema":{"type":"string"}},{"in":"query","name":"force","description":"If this parameter is set to `true`, the server skips checking the valid from address.","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"A JSON object containing an array of JSON objects each with the folder identifier and the object ID\nof the imported mail(s). In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailImportResponse"}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","title":"importMailBody","properties":{"file":{"description":"The [RFC822](https://tools.ietf.org/html/rfc822) encoded email as binary data.","type":"string","format":"binary"}},"required":["file"]}}}}}},"/mail?action=list":{"put":{"operationId":"getMailList","tags":["Mail"],"summary":"Gets a list of mails.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamMailColumns"},{"$ref":"#/components/parameters/gblQueryParamMailHeaders"}],"responses":{"200":{"description":"'A JSON object containing an array with mail data. Mails are represented by arrays. The elements of each array contain the\ninformation specified by the corresponding identifiers in the `columns` parameter. Not IMAP: with timestamp. In case of errors the responsible fields in the\nresponse are filled (see [Error handling](#error-handling)).'\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailsResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MailListElement"}}}},"description":"A JSON array of JSON objects with the id and folder of the requested mails.","required":true}}},"/mail?action=move_all":{"put":{"operationId":"moveAllMails","tags":["Mail"],"summary":"Moves all mails from a given source to a specified target folder.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A JSON object containing an entry for each affected folder. Each entry in turn references a JSON object providing \"total\" and \"unread\" fields, which given the total number of mails and the number of unread mails in the folder.\nIn case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"type":"string"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailMoveAllBody"}}},"description":"A JSON object providing the identifiers of the source and target folder.","required":true}}},"/mail?action=new":{"post":{"operationId":"sendMail","tags":["Mail"],"summary":"Sends a mail.","description":"The request accepts file fields in upload form that denote referenced files that are going to be appended\nas attachments.\nFor \"text/plain\" mail bodies, the JSON boolean field \"raw\" may be specified inside the body's JSON\nrepresentation to signal that the text content shall be kept as-is; meaning to keep all formatting\nintact.\n","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"lineWrapAfter","description":"An integer value specifying the line-wrap setting (only effective for plain-text content); if absent the setting is taken from user's mail settings.","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"A HTML page containing the object ID of the newly created mail or in case of errors an error object (see [File uploads](#file-uploads) as an example).\n","content":{"text/html":{"schema":{"type":"string"}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","title":"sendMailBody","properties":{"json_0":{"description":"'Contains the rudimentary mail as JSON object as described in [Detailed mail data](#detailed-mail-data) with just its message body\n(as html content) defined in nested JSON array `attachments` and its header data (from, to,\nsubject, etc.). The field \"content_type\" defines whether the mail ought to be sent as plain text\n(\"text/plain\"), as html (\"text/html\") or as multipart/alternative (\"ALTERNATIVE\"). Sending a mail\nrequires some special fields inside JSON mail object. The field \"infostore_ids\" defines a JSON\narray of infostore document ID(s) that ought to be appended to this mail as attachments. The field\n\"msgref\" indicates the ID of the referenced original mail. Moreover the field \"sendtype\" indicates\nthe type of the message: <br> 0 (normal new mail),<br> 1 (a reply mail, field `msgref` must be present),<br>\n2 (a forward mail, field `msgref` must be present),<br> 3 (draft edit operation, field `msgref` must be\npresent in order to delete previous draft message since e.g. IMAP does not support changing/replacing\na message but requires a delete-and-insert sequence),<br> 4 (transport of a draft mail, field `msgref`\nmust be present),<br> 6 (signals that user intends to send out a saved draft message and expects the draft\nmessage (referenced by `msgref` field) being deleted after successful transport).' \n","type":"string","enum":["0 (new mail)","1 (reply mail)","2 (forward mail)","3 (draft edit)","4 (draft transport)","6 (draft transport and delete)"]}},"required":["json_0"]}}}}},"put":{"operationId":"sendOrSaveMail","tags":["Mail"],"summary":"Sends or saves a mail as MIME data block ([RFC822](https://tools.ietf.org/html/rfc822)).","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"folder","description":"In case the mail should not be sent out, but saved in a specific folder, the \"folder\" parameter\ncan be used. If the mail should be sent out to the recipient, the \"folder\" parameter must not be\nincluded and the mail is stored in the folder \"Sent Items\".\n","required":false,"schema":{"type":"string"}},{"in":"query","name":"flags","description":"In case the mail should be stored with status \"read\" (e.g. mail has been read already in the client\ninbox), the parameter \"flags\" has to be included. If no `folder` parameter is specified, this parameter\nmust not be included. For information about mail flags see [Mail data](#/definitions/MailData) model.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing the folder ID and the object ID of the mail. In case of errors the\nresponsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailDestinationResponse"}}}}},"requestBody":{"content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}},"description":"The mail as MIME data block","required":true}}},"/mail?action=receipt_ack":{"put":{"operationId":"receiptMailAck","tags":["Mail"],"summary":"Requests a delivery receipt for a priviously sent mail.","description":"This delivery receipt only acknowledges that the message could be receipted on the recipients computer.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A JSON object with an empty data field if everything went well or a JSON object containing the error\ninformation. In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailAckResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailAckBody"}}},"description":"A JSON object containing the information of a mail for which a delivery receipt shall be requested.","required":true}}},"/mail?action=reply":{"get":{"operationId":"replyMail","tags":["Mail"],"summary":"Replies a mail.","description":"Returns the data for the message that shall be replied.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamMailFolder"},{"in":"query","name":"id","description":"Object ID of the requested message.","required":true,"schema":{"type":"string"}},{"in":"query","name":"view","description":"Content 'text' forces the server to deliver a text-only version of the requested mail's body, even if content is HTML. 'html' to allow a possible HTML mail body being transferred as it is (but white-list filter applied). NOTE: if set, the corresponding gui config setting will be ignored.","required":false,"schema":{"type":"string","enum":["text","html"]}},{"in":"query","name":"setFrom","description":"A flag (`true`/`false`) that signals if \"From\" header shall be pre-selected according to a suitable recipient address that matches one of user's E-Mail address aliases.","required":false,"schema":{"type":"boolean"}},{"in":"query","name":"max_size","description":"A positive integer number (greater than 10000) to specify how many characters of the message content will be returned. If the number is smaller than 10000 the value will be ignored and 10000 used.","required":false,"schema":{"type":"integer","minimum":10000}},{"$ref":"#/components/parameters/gblQueryParamsDecrypt"},{"$ref":"#/components/parameters/glbQueryParamsCryptoAuth"}],"responses":{"200":{"description":"A JSON object containing all data of the requested mail. Not IMAP: with timestamp. In case of errors the responsible fields in the\nresponse are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailReplyResponse"}}}}}}},"/mail?action=replyall":{"get":{"operationId":"replyAllMail","tags":["Mail"],"summary":"Replies a mail to all.","description":"Returns the data for the message that shall be replied.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamMailFolder"},{"in":"query","name":"id","description":"Object ID of the requested message.","required":true,"schema":{"type":"string"}},{"in":"query","name":"view","description":"Content 'text' forces the server to deliver a text-only version of the requested mail's body, even if content is HTML. 'html' to allow a possible HTML mail body being transferred as it is (but white-list filter applied). NOTE: if set, the corresponding gui config setting will be ignored.","required":false,"schema":{"type":"string","enum":["text","html"]}},{"in":"query","name":"setFrom","description":"A flag (`true`/`false`) that signals if \"From\" header shall be pre-selected according to a suitable recipient address that matches one of user's email address aliases.","required":false,"schema":{"type":"boolean"}},{"in":"query","name":"max_size","description":"A positive integer number (greater than 10000) to specify how many characters of the message content will be returned. If the number is smaller than 10000 the value will be ignored and 10000 used.","required":false,"schema":{"type":"integer","minimum":10000}},{"$ref":"#/components/parameters/gblQueryParamsDecrypt"},{"$ref":"#/components/parameters/glbQueryParamsCryptoAuth"}],"responses":{"200":{"description":"A JSON object containing all data of the requested mail. Not IMAP: with timestamp. In case of errors the responsible fields in the\nresponse are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailReplyResponse"}}}}}}},"/mail?action=resolve_share_reference":{"put":{"operationId":"resolveShareReference","tags":["Mail"],"summary":"Resolves a given share reference","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"'The JSON representation for the resolved share reference. In case of errors the responsible fields in the\nresponse are filled (see [Error handling](#error-handling)).'\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResolveShareReferenceResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResolveShareReferenceElement"}}},"description":"A JSON object providing the share reference to resolve","required":true}}},"/mail?action=search":{"put":{"operationId":"searchMails","tags":["Mail"],"summary":"Searches for mails.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamMailFolder"},{"$ref":"#/components/parameters/gblQueryParamMailColumns"},{"$ref":"#/components/parameters/gblQueryParamMailHeaders"},{"$ref":"#/components/parameters/gblQueryParamMailUnseen"},{"$ref":"#/components/parameters/gblQueryParamMailDeleted"},{"in":"query","name":"sort","description":"The identifier of a column which determines the sort order of the response or the string “thread” to return thread-sorted messages. If this parameter is specified and holds a column number, then the parameter order must be also specified. Note: Applies only to root-level messages.","required":false,"schema":{"type":"string"}},{"in":"query","name":"order","description":"\"asc\" if the response entires should be sorted in the ascending order, \"desc\" if the response entries should be sorted in the descending order. If this parameter is specified, then the parameter sort must be also specified. Note: Applies only to root-level messages.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"'A JSON object containing an array with matching mails. Mails are represented by arrays. The elements of each array contain the\ninformation specified by the corresponding identifiers in the `columns` parameter. Not IMAP: with timestamp. In case of errors the responsible fields in the\nresponse are filled (see [Error handling](#error-handling)).'\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailsResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"A JSON object describing the search term as described in [Advanced search](#advanced-search). Example:\n`{\"filter\":[\"and\",[\"=\", {\"field\":\"to\"},\"test1@example.com\"],[\"not\",[\"=\",{\"attachment\":\"name\"},\"document.pdf\"]]]}`\nwhich represents 'to = \"test1@example.com\" AND NOT from = \"test2@example.com\"'. Available field names are\n`from`, `to`, `cc`, `bcc`, `subject`, `received_date`, `sent_date`, `size`, `flags`, `content`, `content_type`, `disp`, and `priority`.\n","required":true}}},"/mail?action=thread_references":{"get":{"operationId":"getThreadReferences","tags":["Mail"],"summary":"Gets all mail thread references.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamMailFolder"},{"$ref":"#/components/parameters/gblQueryParamMailColumns"},{"$ref":"#/components/parameters/gblQueryParamMailHeaders"},{"in":"query","name":"sort","description":"The identifier of a column which determines the sort order of the response or the string “thread” to return thread-sorted messages. If this parameter is specified and holds a column number, then the parameter order must be also specified. Note: Applies only to root-level messages.","required":false,"schema":{"type":"string"}},{"in":"query","name":"order","description":"\"asc\" if the response entires should be sorted in the ascending order, \"desc\" if the response entries should be sorted in the descending order. If this parameter is specified, then the parameter sort must be also specified. Note: Applies only to root-level messages.","required":false,"schema":{"type":"string"}},{"in":"query","name":"size","description":"The optional number of latest messages to consider.","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"A JSON object containing an array of objects, each representing a message thread with informations about the root and last mail. \nThe `thread` field is a JSON array of objects each representing a message in the conversation\nsorted by time-line and filled with the specified `columns`. Not IMAP: with timestamp. In case of\nerrors the responsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailThreadReferencesResponse"}}}}},"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"type":"string"}}},"description":"A JSON object describing the search term as introducted in [Advanced search](https://documentation.open-xchange.com/latest/middleware/http_api/5_advanced_search.html). Example:\n`{\"filter\":[\"and\",[\"=\", {\"field\":\"to\"},\"test1@example.com\"],[\"not\",[\"=\",{\"attachment\":\"name\"},\"document.pdf\"]]]}`\nwhich represents 'to = \"test1@example.com\" AND NOT from = \"test2@example.com\"'. Available field names are\n`from`, `to`, `cc`, `bcc`, `subject`, `received_date`, `sent_date`, `size`, `flags`, `content`, `content_type`, `disp`, and `priority`.\n","required":true}}},"/mail?action=threadedAll":{"get":{"operationId":"getMailConversations","tags":["Mail"],"summary":"Gets all mail conversations.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamMailFolder"},{"$ref":"#/components/parameters/gblQueryParamMailColumns"},{"$ref":"#/components/parameters/gblQueryParamMailHeaders"},{"$ref":"#/components/parameters/gblQueryParamMailUnseen"},{"$ref":"#/components/parameters/gblQueryParamMailDeleted"},{"in":"query","name":"sort","description":"The identifier of a column which determines the sort order of the response or the string “thread” to return thread-sorted messages. If this parameter is specified and holds a column number, then the parameter order must be also specified. Note: Applies only to root-level messages.","required":false,"schema":{"type":"string"}},{"in":"query","name":"order","description":"\"asc\" if the response entires should be sorted in the ascending order, \"desc\" if the response entries should be sorted in the descending order. If this parameter is specified, then the parameter sort must be also specified. Note: Applies only to root-level messages.","required":false,"schema":{"type":"string"}},{"in":"query","name":"includeSent","description":"A boolean value to signal that conversations also include messages taken from special \"sent\" aka \"sent items\" folder.","required":false,"schema":{"type":"boolean"}},{"in":"query","name":"left_hand_limit","description":"A positive integer number to specify the \"left-hand\" limit of the range to return. Note: Applies only to root-level messages.","required":false,"schema":{"type":"integer"}},{"in":"query","name":"right_hand_limit","description":"A positive integer number to specify the \"right-hand\" limit of the range to return. Note: Applies only to root-level messages.","required":false,"schema":{"type":"integer"}},{"in":"query","name":"limit","description":"A positive integer number to specify how many items shall be returned according to given sorting; overrides `left_hand_limit`/`right_hand_limit` parameters and is equal to `left_hand_limit=0` and `right_hand_limit=<limit>`. Note: Applies only to root-level messages.","required":false,"schema":{"type":"integer"}},{"in":"query","name":"categoryid","description":"The category id to filter for. Retrieves all conversations with at least one mail in the category.","required":false,"schema":{"type":"string"}},{"in":"query","name":"max","description":"The max. number of messages to consider.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing an array of objects, each representing a conversation's root message along\nwith its message thread. The root message's JSON object is filled according to the specified `columns`\nand is enhanced by a special `thread` field representing the full message thread (including the root\nmessage itself). `thread` is a JSON array of objects each representing a message in the conversation\nsorted by time-line and filled with the specified `columns`. Not IMAP: with timestamp. In case of\nerrors the responsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailConversationsResponse"}}}}}}},"/mail?action=update":{"put":{"operationId":"updateMail","tags":["Mail"],"summary":"Updates a mail or a folder's messages and/or moves a mail to another folder.","description":"The update request can perform an update of the color label and flags of one mail object. Beside it\nis possible to change the mail's folder, meaning move the mail to another folder. Both operations\ncan be performed at once too.\n\nIf neither parameter `id` nor parameter `message_id` is specified, all folder's messages are updated\naccordingly.\n","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamMailFolder"},{"in":"query","name":"id","description":"Object ID of the requested mail that shall be updated (**mandatory** if a mail shall be moved).","required":false,"schema":{"type":"string"}},{"in":"query","name":"message_id","description":"The value of \"Message-Id\" header of the requested mail. This parameter is a substitute for \"id\" parameter.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing the object ID and the folder ID of an updated and/or moved mail or only\nthe folder ID if several mails are updated. In case of errors the responsible fields in the\nresponse are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailDestinationResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailUpdateBody"}}},"description":"A JSON object containing the new values that ought to be applied to mail and/or the id of the destination folder (if the mail shall be moved, otherwise it must not be specified).","required":true}}},"/mail?action=updates":{"get":{"operationId":"getMailUpdates","tags":["Mail"],"summary":"Gets updated mails.","description":"Provides a list of updated mails. \n\n**Attention**:\nThis does **not** work for IMAP mail accounts. In case of imap accounts an empty list is returned. \n","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamMailFolder"},{"$ref":"#/components/parameters/gblQueryParamMailColumns"},{"$ref":"#/components/parameters/gblQueryParamMailHeaders"},{"in":"query","name":"ignore","description":"The type of updates which should be ignored. Currently known values are 'deleted' and 'changed'. E.g. if you only want to retrieve deleted mails you use 'ignore=changed'.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Just an empty JSON array is going to be returned since this action cannot be applied to IMAP. In case of errors the responsible fields in the\nresponse are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailsResponse"}}}}}}},"/mail?action=zip_attachments":{"get":{"operationId":"getAttachmentsAsZip","tags":["Mail"],"summary":"Gets multiple mail attachments as a ZIP file.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamMailFolder"},{"in":"query","name":"id","description":"Object ID of the mail which contains the attachments.","required":true,"schema":{"type":"string"}},{"in":"query","name":"attachment","description":"A comma-separated list of IDs of the requested attachments.","required":true,"schema":{"type":"string"}},{"in":"query","name":"scan","description":"Flag to request an Anti-Virus scan for the specified e-mail attachments before downloading them.\n","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"The raw byte data of the ZIP file.","content":{"application/zip":{"schema":{"type":"string","format":"binary"}}}}}}},"/mail?action=zip_messages":{"get":{"operationId":"getMailsAsZip","tags":["Mail"],"summary":"Gets multiple mails as a ZIP file.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamMailFolder"},{"in":"query","name":"id","description":"A comma-separated list of Object IDs of the requested mails.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The raw byte data of the ZIP file.","content":{"application/zip":{"schema":{"type":"string","format":"binary"}}}}}}},"/mailfilter?action=config":{"get":{"operationId":"getConfig","tags":["Mailfilter"],"summary":"Gets the configuration of the mail filter backend.","description":"A mail filter can have different rules each containing one command. A command has a test condition and actions\nthat are executed if the condition is true. The list of available comparisions (that can be used in test\nconditions) and the list of available actions depends on a given test and the mail filter server configuration\nand must be determined at runtime.\n\nAll those dynamic values can be fetched via a config object at startup, which shows the capabilities of the server\nto the client.\n","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"username","description":"Must contain the user name for **admin mode**. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object with the fields `tests` (containing an array of available test-objects, see [Possible tests](#possible-tests).) and `actioncommands`\n(containing an array of valid actions. See [Possible action commands](#possible-action-commands)). In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailFilterConfigResponse"}}}}}}},"/mailfilter?action=delete":{"put":{"operationId":"deleteRule","tags":["Mailfilter"],"summary":"Deletes a mail filter rule.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"username","description":"Must contain the user name for **admin mode**. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonResponse"}}}}},"requestBody":{"$ref":"#/components/requestBodies/MailFilterDeletionBody"}}},"/mailfilter?action=deletescript":{"put":{"operationId":"deleteScript","tags":["Mailfilter"],"summary":"Deletes the whole mail filter script.","description":"This call is only used as workaround for parsing errors in the backend, so that the user is able to kick a whole script if it contains errors in the grammar.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"username","description":"Must contain the user name for **admin mode**. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonResponse"}}}}}}},"/mailfilter?action=getscript":{"put":{"operationId":"getScript","tags":["Mailfilter"],"summary":"Gets the whole mail filter script.","description":"This call is only used as workaround for parsing errors in the backend, so that the user is able to get the plaintext of a complete script.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"username","description":"Must contain the user name for **admin mode**. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object with the text of the complete sieve script. In case of errors the responsible fields\nin the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailFilterScriptResponse"}}}}}}},"/mailfilter?action=list":{"get":{"operationId":"getRules","tags":["Mailfilter"],"summary":"Gets all mail filter rules.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"flag","description":"If given, only rules with this flag are returned.","required":false,"schema":{"type":"string"}},{"in":"query","name":"username","description":"Must contain the user name for **admin mode**. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object with an array of rule-objects. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailFilterRulesResponse"}}}}}}},"/mailfilter?action=new":{"put":{"operationId":"createRule","tags":["Mailfilter"],"summary":"Creates a mail filter rule.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"username","description":"Must contain the user name for **admin mode**. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing the ID of the newly created rule. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailFilterCreationResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailFilterRule"}}},"description":"A JSON object describing the mail filter rule. If the field `position` is included, it's taken as the position of the rule in the array on the server side (this value shouldn't be greater than the size of all rules).","required":true}}},"/mailfilter?action=reorder":{"put":{"operationId":"reorderRules","tags":["Mailfilter"],"summary":"Reorders mail filter rules.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"username","description":"Must contain the user name for **admin mode**. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonResponse"}}}}},"requestBody":{"$ref":"#/components/requestBodies/reorderRulesBody"}}},"/mailfilter?action=update":{"put":{"operationId":"updateRule","tags":["Mailfilter"],"summary":"Updates a mail filter rule.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"username","description":"Must contain the user name for **admin mode**. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailFilterRule"}}},"description":"A JSON object describing the rule with the `id` set (which identifies the rule to change). Only modified fields are present.","required":true}}},"/mailfilter/v2?action=apply":{"get":{"operationId":"applyPredefinedRule","tags":["Mailfilter"],"summary":"Applies a predefined rule to the given mail folder","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"username","description":"Must contain the user name for **admin mode**. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed.","required":false,"schema":{"type":"string"}},{"in":"query","name":"folderId","description":"The id of the folder the sieve rule should be applied to. If missing the rule will be applied to the inbox.","required":false,"schema":{"type":"string"}},{"in":"query","name":"id","description":"The id of the sieve rule which should be applied.","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"If the script was successfully applied the response contains just an empty array. In case of errors or warnings the array contains a result for each mail which contained an error or a warning. \nThose results contain further informations about the error or the warning. In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailFilterApplyResponse"}}}}}},"put":{"operationId":"applyRule","tags":["Mailfilter"],"summary":"Applies a given rule to the given mail folder","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"username","description":"Must contain the user name for **admin mode**. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed.","required":false,"schema":{"type":"string"}},{"in":"query","name":"folderId","description":"The id of the folder the sieve rule should be applied to. If missing the rule will be applied to the inbox.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"If the script was successfully applied the response contains just an empty array. In case of errors or warnings the array contains a result for each mail which contained an error or a warning. \nThose results contain further informations about the error or the warning. In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailFilterApplyResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailFilterRulev2"}}},"description":"A JSON object describing the mail filter rule. If the field `position` is included, it's taken as the position of the rule in the array on the server side (this value shouldn't be greater than the size of all rules).","required":true}}},"/mailfilter/v2?action=config":{"get":{"operationId":"getConfig_v2","tags":["Mailfilter"],"summary":"Gets the configuration of the mail filter backend.","description":"A mail filter can have different rules each containing one command. A command has a test condition and actions\nthat are executed if the condition is true. The list of available comparisions (that can be used in test\nconditions) and the list of available actions depends on a given test and the mail filter server configuration\nand must be determined at runtime.\n\nAll those dynamic values can be fetched via a config object at startup, which shows the capabilities of the server\nto the client.\n","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"username","description":"Must contain the user name for **admin mode**. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object with the fields `tests` (containing an array of available test-objects, see [Possible tests](#possible-tests).) and `actioncommands`\n(containing an array of valid actions. See [Possible action commands](#possible-action-commands)). In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailFilterConfigResponsev2"}}}}}}},"/mailfilter/v2?action=delete":{"put":{"operationId":"deleteRule_v2","tags":["Mailfilter"],"summary":"Deletes a mail filter rule.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"username","description":"Must contain the user name for **admin mode**. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonResponse"}}}}},"requestBody":{"$ref":"#/components/requestBodies/MailFilterDeletionBody"}}},"/mailfilter/v2?action=deletescript":{"put":{"operationId":"deleteScript_v2","tags":["Mailfilter"],"summary":"Deletes the whole mail filter script.","description":"This call is only used as workaround for parsing errors in the backend, so that the user is able to kick a whole script if it contains errors in the grammar.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"username","description":"Must contain the user name for **admin mode**. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonResponse"}}}}}}},"/mailfilter/v2?action=getscript":{"put":{"operationId":"getScript_v2","tags":["Mailfilter"],"summary":"Gets the whole mail filter script.","description":"This call is only used as workaround for parsing errors in the backend, so that the user is able to get the plaintext of a complete script.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"username","description":"Must contain the user name for **admin mode**. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object with the text of the complete sieve script. In case of errors the responsible fields\nin the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailFilterScriptResponse"}}}}}}},"/mailfilter/v2?action=list":{"get":{"operationId":"getRules_v2","tags":["Mailfilter"],"summary":"Gets all mail filter rules.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"flag","description":"If given, only rules with this flag are returned.","required":false,"schema":{"type":"string"}},{"in":"query","name":"username","description":"Must contain the user name for **admin mode**. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object with an array of rule-objects. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailFilterRulesResponsev2"}}}}}}},"/mailfilter/v2?action=new":{"put":{"operationId":"createRule_v2","tags":["Mailfilter"],"summary":"Creates a mail filter rule.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"username","description":"Must contain the user name for **admin mode**. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing the ID of the newly created rule. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailFilterCreationResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailFilterRulev2"}}},"description":"A JSON object describing the mail filter rule. If the field `position` is included, it's taken as the position of the rule in the array on the server side (this value shouldn't be greater than the size of all rules).","required":true}}},"/mailfilter/v2?action=reorder":{"put":{"operationId":"reorderRules_v2","tags":["Mailfilter"],"summary":"Reorders mail filter rules.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"username","description":"Must contain the user name for **admin mode**. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonResponse"}}}}},"requestBody":{"$ref":"#/components/requestBodies/reorderRulesBody"}}},"/mailfilter/v2?action=update":{"put":{"operationId":"updateRule_v2","tags":["Mailfilter"],"summary":"Updates a mail filter rule.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"username","description":"Must contain the user name for **admin mode**. So the normal credentials are taken for authentication but the mail filter of the user with this username is being changed.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailFilterRulev2"}}},"description":"A JSON object describing the rule with the `id` set (which identifies the rule to change). Only modified fields are present.","required":true}}},"/messaging/account?action=all":{"get":{"operationId":"getAllMessagingAccounts","tags":["Messaging"],"summary":"Gets all messaging accounts.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"messagingService","description":"List only those accounts that belong to the given `messagingService`.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing an array with account objects. In case of errors the responsible\nfields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagingAccountsResponse"}}}}}}},"/messaging/account?action=delete":{"get":{"operationId":"deleteMessagingAccount","tags":["Messaging"],"summary":"Deletes a messaging account.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"messagingService","description":"The messaging service ID that the account belongs to.","required":true,"schema":{"type":"string"}},{"in":"query","name":"id","description":"The messaging account ID.","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"A JSON object containing the number 1 if deletion was successful. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagingAccountUpdateResponse"}}}}}}},"/messaging/account?action=get":{"get":{"operationId":"getMessagingAccount","tags":["Messaging"],"summary":"Gets a messaging account.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"messagingService","description":"The messaging service ID that the account belongs to.","required":true,"schema":{"type":"string"}},{"in":"query","name":"id","description":"The messaging account ID.","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"A JSON object containing the data of the requested account. In case of errors the responsible\nfields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagingAccountResponse"}}}}}}},"/messaging/account?action=new":{"put":{"operationId":"createMessagingAccount","tags":["Messaging"],"summary":"Creates a messaging account.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A JSON object containing the ID of the newly created account. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagingAccountUpdateResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagingAccountData"}}},"description":"A JSON object describing the account to create. The ID is generated by the server and must not be present.","required":true}}},"/messaging/account?action=update":{"put":{"operationId":"updateMessagingAccount","tags":["Messaging"],"summary":"Updates a messaging account.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A JSON object containing the number 1 if update was successful. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagingAccountUpdateResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagingAccountData"}}},"description":"A JSON object containing the modified data of the account. The fields `id` and `messagingService` must always be set.","required":true}}},"/messaging/message?action=all":{"get":{"operationId":"getAllMessagingMessages","tags":["Messaging"],"summary":"Gets all messaging messages.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"columns","description":"A comma-separated list of column names, like \"folder,headers,body\". See [Messaging fields](#messaging fields) for valid column names.","required":true,"schema":{"type":"string"}},{"in":"query","name":"folder","description":"The folder ID, like \"com.openexchange.messaging.twitter://535/defaultTimeline/directMessages\".","required":true,"schema":{"type":"string"}},{"in":"query","name":"sort","description":"A column name to sort by.","required":false,"schema":{"type":"string"}},{"in":"query","name":"order","description":"The order direction which can be \"asc\" for ascending (default) or \"desc\" for descending.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing an array with data for all messages. Each array element describes one message and\nis itself an array. The elements of each array contain the information specified by the corresponding\ncolumn names in the `columns` parameter. In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagingMessagesResponse"}}}}}}},"/messaging/message?action=get":{"get":{"operationId":"getMessagingMessage","tags":["Messaging"],"summary":"Gets a messaging message.","description":"A messaging message consists of some metadata, headers and a content. The content attribute varies\nby the content-type header. If the content-type is `text/*` it is a string, if it is `multipart/*` it\nis an array of objects, each representing a part of the multipart. If it is anything else it is considered binary\nand is a Base64 encoded string.\n\nThe folder ID of a message follows a predefined format: `[messagingService]://[accountId]/[path]`, like\n`com.openexchange.messaging.twitter://535/defaultTimeline/directMessages`.\n","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"The ID of the message to load.","required":true,"schema":{"type":"string"}},{"in":"query","name":"folder","description":"The folder ID of the message.","required":true,"schema":{"type":"string"}},{"in":"query","name":"peek","description":"If set to `true` the read/unread state of the message will not change. Default is `false`.","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"A JSON object containing the data of the message. In case of errors the responsible fields in the\nresponse are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagingMessageResponse"}}}}}}},"/messaging/message?action=list":{"put":{"operationId":"getMessagingMessageList","tags":["Messaging"],"summary":"Gets a list of messaging messages.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"columns","description":"A comma-separated list of column names, like \"folder,headers,body\". See [Messaging fields](#messaging-message-columns) for valid column names.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing an array with data for requested messages. Each array element describes one message and\nis itself an array. The elements of each array contain the information specified by the corresponding\ncolumn names in the `columns` parameter. In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagingMessagesResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"array","items":{"type":"object"}}}}},"description":"A JSON array of JSON arrays with the folder and ID as elements each identifying a message.","required":true}}},"/messaging/message?action=perform":{"put":{"operationId":"performMessagingAction","tags":["Messaging"],"summary":"Performs a certain messaging action on a message.","description":"On actions of type \"message\" the body should contain the JSON representation of the message the action should be applied to.\nTo invoke a messaging action of type \"storage\" the folder and id are needed in URL parameters.\nMessaging actions of type \"none\" need a messaging message and account.\n","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"messageAction","description":"The message action to invoke.","required":true,"schema":{"type":"string"}},{"in":"query","name":"id","description":"The ID of the message the action shall be invoked on. Only used on actions of type \"storage\".","required":false,"schema":{"type":"string"}},{"in":"query","name":"folder","description":"The folder ID of the message. Only used on actions of type \"storage\".","required":false,"schema":{"type":"string"}},{"in":"query","name":"account","description":"The account ID. Only used on actions of type \"none\".","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"A JSON object containing the number 1 if message could be sent. In case of errors the responsible fields in the\nresponse are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagingMessageUpdateResponse"}}}}},"requestBody":{"$ref":"#/components/requestBodies/MessagingMessageData"}}},"/messaging/message?action=send":{"put":{"operationId":"sendMessagingMessage","tags":["Messaging"],"summary":"Sends a messaging message.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"recipients","description":"A list of recipients as defined in [RFC822](https://tools.ietf.org/html/rfc822), like \"Joe Doe <joe@doe.org>\". If set the message is sent to the given list of recipients, otherwise this defaults to the \"To\" header of the message.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing the number 1 if message could be sent. In case of errors the responsible fields in the\nresponse are filled (see [Error handling](#error-handling).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagingMessageUpdateResponse"}}}}},"requestBody":{"$ref":"#/components/requestBodies/MessagingMessageData"}}},"/messaging/service?action=all":{"get":{"operationId":"getAllMessagingServices","tags":["Messaging"],"summary":"Gets all messaging services.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A JSON object containing an array of messaging service objects. In case of errors the responsible\nfields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagingServicesResponse"}}}}}}},"/messaging/service?action=get":{"get":{"operationId":"getMessagingService","tags":["Messaging"],"summary":"Gets a messaging service.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"The ID of the messaging service to load.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing the data of the messaging service. In case of errors the responsible\nfields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagingServiceResponse"}}}}}}},"/multifactor/device?action=all":{"get":{"operationId":"multifactorDeviceActionAll","tags":["Multifactor"],"summary":"Gets all multifactor devices","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A JSON object containing the result of the operation. In case of errors the\nresponsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MultifactorDevicesResponse"}}}}}}},"/multifactor/device?action=delete":{"delete":{"operationId":"multifactorDeviceActionDelete","tags":["Multifactor"],"summary":"Deletes a multifactor device","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/QueryParamMultifactorProviderName"},{"$ref":"#/components/parameters/QueryParamMultifactorDeviceId"}],"responses":{"200":{"description":"A JSON object containing all device IDs deleted. In case of errors the\nresponsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MultifactorDeleteResponse"}}}}}}},"/multifactor/device?action=finishAuthentication":{"put":{"operationId":"multifactorDeviceActionfinishAuthentication","tags":["Multifactor"],"summary":"Finishes authentication against a multifactor device","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/QueryParamMultifactorProviderName"},{"$ref":"#/components/parameters/QueryParamMultifactorDeviceId"}],"responses":{"200":{"description":"In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MultifactorFinishAuthenticationData"}}},"description":"The information required to finish the registration of a new multifactor device.\n","required":true}}},"/multifactor/device?action=finishRegistration":{"put":{"operationId":"multifactorDeviceActionfinishRegistration","tags":["Multifactor"],"summary":"Finishes the process of registering a new multifactor device","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/QueryParamMultifactorProviderName"},{"$ref":"#/components/parameters/QueryParamMultifactorDeviceId"}],"responses":{"200":{"description":"A JSON object containing all device IDs deleted. In case of errors the\nresponsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MultifactorFinishRegistrationResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MultifactorFinishRegistrationData"}}},"description":"The information required to finish the registration of a new multifactor device.\n","required":true}}},"/multifactor/device?action=rename":{"put":{"operationId":"multifactorDeviceActionRename","tags":["Multifactor"],"summary":"Renames an existing multifactor device","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/QueryParamMultifactorProviderName"}],"responses":{"200":{"description":"A dev\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MultifactorDeviceResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MultifactorDevice"}}},"description":"A device containing the device ID, and the new name.\n","required":true}}},"/multifactor/device?action=startAuthentication":{"get":{"operationId":"multifactorDeviceActionStartAuthentication","tags":["Multifactor"],"summary":"Starts the process of authentication against a multifactor device","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/QueryParamMultifactorProviderName"},{"$ref":"#/components/parameters/QueryParamMultifactorDeviceId"}],"responses":{"200":{"description":"A JSON object containing necessary information required to finish the authentication process.\nIn case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MultifactorStartAuthenticationResponse"}}}}}}},"/multifactor/device?action=startRegistration":{"put":{"operationId":"multifactorDeviceActionStartRegistration","tags":["Multifactor"],"summary":"Starts the process of registering a new multifactor device","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A JSON object containing necessary information required to finish the registration process.\nIn case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MultifactorStartRegistrationResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MultifactorDevice"}}},"description":"A device which should be registered as new multifactor device.\n"}}},"/multifactor/provider?action=all":{"get":{"operationId":"multifactorProviderActionAll","tags":["Multifactor"],"summary":"Gets all available multifactor providers","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"providers","description":"A comma separated list of provider names to return. Omit to return all available providers.\n","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing the result of the operation. In case of errors the\nresponsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MultifactorProvidersResponse"}}}}}}},"/multiple":{"put":{"operationId":"process","tags":["Multiple"],"summary":"Processes multiple requests to other modules in a single request.","description":"#### Not supported requests are:\n * the ones from modules login and multiple\n * POST requests with a multipart encoding (uploads)\n * GET requests which do not use an object as described in [Low level protocol](#low-level-protocol)\n\n#### Request body\nA JSON array with JSON objects describing the requests. Each object contains a field `module` with the\nname of the request's module and the field `action` with the concrete request action to execute. Additionally the\nparameters of the request are added as fields too. A session parameter is not included! If the request has\na request body itself, this body is stored as a JSON object in a field `data`.\n\n#### Example: query reminder range and update a reminder's alarm\n```json\n[{\"module\":\"reminder\",\"action\":\"range\",\"end\":1497461067180},{\"module\":\"reminder\",\"action\":\"remindAgain\",\"id\":51,\"data\":{\"alarm\":1459478800000}}]\n```\n","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"continue","description":"Specifies whether processing of requests should stop when an error occurs, or whether all request should be processed regardless of errors.","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"A JSON array containing the response data of the processed requests where response[0] corresponds to request[0], response[1] to request[1], and so on.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MultipleResponse"}}}},"400":{"description":"Syntactically incorrect request."}},"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SingleRequest"}}}},"description":"A JSON array with JSON objects, each describing one request.","required":true}}},"/oauth/accounts?action=all":{"get":{"operationId":"getAllOAuthAccounts","tags":["OAuth"],"summary":"Gets all OAuth accounts.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"serviceId","description":"The service meta data identifier. If missing all accounts of all services are returned; otherwise all accounts of specified service are returned.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing an array of JSON objects each describing an OAuth account. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthAccountsResponse"}}}}}}},"/oauth/accounts?action=create":{"put":{"operationId":"createOAuthAccount","tags":["OAuth"],"summary":"Creates an OAuth account.","description":"This action is typically called by provided call-back URL and is only intended for manual invocation if\n\"outOfBand\" interaction is returned by preceeding [/oauth/account?action=init](#operation--oauth-accounts-action-init-get) step.\n","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"oauth_token","description":"The request token from preceeding OAuth interaction.","required":true,"schema":{"type":"string"}},{"in":"query","name":"uuid","description":"The UUID of the preceeding OAuth interaction.","required":true,"schema":{"type":"string"}},{"in":"query","name":"displayName","description":"The display name for the new account.","required":true,"schema":{"type":"string"}},{"in":"query","name":"oauth_verifier","description":"The verifier string which confirms that user granted access.","required":false,"schema":{"type":"string"}},{"$ref":"#/components/parameters/gblQueryParamScopes"}],"responses":{"200":{"description":"A JSON object containing the newly created OAuth account. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthAccountResponse"}}}}}}},"/oauth/accounts?action=delete":{"put":{"operationId":"deleteOAuthAccount","tags":["OAuth"],"summary":"Deletes an OAuth account.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"The account identifier.","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"A JSON object indicating whether the deletion was successful. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthAccountDeletionResponse"}}}}}}},"/oauth/accounts?action=get":{"get":{"operationId":"getOAuthAccount","tags":["OAuth"],"summary":"Gets an OAuth account.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"The account identifier.","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"A JSON object containing the data of the OAuth account. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthAccountResponse"}}}}}}},"/oauth/accounts?action=init":{"get":{"operationId":"initOAuthAccount","tags":["OAuth"],"summary":"Initializes the creation of an OAuth account.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"serviceId","description":"The service meta data identifier, e.g. \"com.openexchange.oauth.twitter\".","required":true,"schema":{"type":"string"}},{"in":"query","name":"displayName","description":"The display name of the account.","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/gblQueryParamScopes"}],"responses":{"200":{"description":"A JSON object containing the resulting interaction providing information to complete account creation.\nIn case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthAccountInteractionResponse"}}}}}}},"/oauth/accounts?action=reauthorize":{"put":{"operationId":"reauthorizeOAuthAccount","tags":["OAuth"],"summary":"Reauthorises the specified OAuth account","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"The account identifier. May also be provided in request body's JSON object by field `id`.","required":true,"schema":{"type":"integer"}},{"in":"query","name":"serviceId","description":"The service meta data identifier, e.g. \"com.openexchange.oauth.twitter\".","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/gblQueryParamScopes"}],"responses":{"200":{"description":"The boolean value true if the account was successfully re-authorised.\n"}}}},"/oauth/accounts?action=update":{"put":{"operationId":"updateOAuthAccount","tags":["OAuth"],"summary":"Updates an OAuth account.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"The account identifier. May also be provided in request body's JSON object by field `id`.","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"A JSON object indicating whether the update was successful. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthAccountUpdateResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthAccountData"}}},"description":"A JSON object providing the OAuth account data to update. Currently the only values which make sense being updated are `displayName` and the `token`-`secret`-pair.","required":true}}},"/oauth/grants?action=all":{"get":{"operationId":"getAllOAuthGrants","tags":["OAuth"],"summary":"Gets all OAuth grants.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A JSON object containing an array of JSON objects each describing a granted access. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthGrantsResponse"}}}}}}},"/oauth/grants?action=revoke":{"get":{"operationId":"revokeOAuthGrant","tags":["OAuth"],"summary":"Revokes access for an OAuth client.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"client","description":"The ID of the client whose access shall be revoked.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonResponse"}}}}}}},"/oauth/services?action=all":{"get":{"operationId":"getAllOAuthServices","tags":["OAuth"],"summary":"Gets all OAuth services' meta data.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A JSON object containing an array of JSON objects each describing an OAuth service's meta data. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthServicesResponse"}}}}}}},"/oauth/services?action=get":{"get":{"operationId":"getOAuthService","tags":["OAuth"],"summary":"Gets all OAuth service's meta data.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"The service's identifier.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing the meta data of the OAuth service. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthServiceResponse"}}}}}}},"/onboarding?action=config":{"get":{"operationId":"getClientOnboardingConfig","tags":["Clientonboarding"],"summary":"Retrieves the configuration providing available client on-boarding possibilities for session-associated user","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"'The configuration as a JSON object or in case of errors the responsible fields in the\nresponse are filled (see [Error handling](#error-handling)).\n\nThe JSON object consists of five fields: \"platforms\", \"devices\", \"scenarios\", \"actions\" and \"matching\". Each field provides an array of objects.\n\nThe \"platforms\" field lists the available platforms for which a device can receive on-boarding information.\n\nThe \"devices\" field lists the concrete devices, which are supported to receive on-boarding information. Each object mainly provides:\n- A unique identifier for the associated device (e.g. \"apple.iphone\") and a display name\n- Whether the device is enabled; \"false\" to trigger upsell activities\n- A listing of applicable scenarios for the device consisting of composite identifiers (delimited by \"/\" character), which point to an entry from the \"matching\" object\n\nThe \"scenarios\" field provides all available on-boarding scenarios (like installing an app or receive a profile configuration for a built-in application; e.g. Apple Mail). Each scenario also provides:\n- A unique identifier and a display name\n- Whether the scenario is enabled along-side with \"missing_capabilities\" to trigger upsell activities\n- A description text for the user\n\nThe \"actions\" field represents the available actions that can be performed in order to transfer a certain on-boarding information to a device. As of now there are five possible actions for a certain device/scenario combination: \"download\", \"email\", \"display\", \"link\" and \"sms\".\n- \"download\" refers to a simple download that is performed; e.g. a profile configuration file.\n- \"email\" lets the Middleware to send out an E-Mail containing the on-boarding information.\n- \"sms\" lets the Middleware to send out an SMS containing the on-boarding information.\n- \"display\" represents a plain display of on-boarding information for manual setup. Actions of this type provide a composite identifier (delimited by \"/\" character) that also contains the concrete scenario to which that action applies; e.g. \"display/davsync\". Moreover it has a \"data\" field that provides the user-sensitive information to display; e.g. the mail settings.\n- \"link\" hints to an available link that a user can follow; e.g, a link to a certain app held in an app store. Actions of this type provide a composite identifier (delimited by \"/\" character) that also contains the concrete scenario to which that action applies. In addition there is a field for each device providing the exact link and type; e.g. having a link to Apple Appstore for an iPhone device.\n\nThe \"matching\" field is the combination of supported device, scenario and actions combinations. It provides an \"id\" field that contains a composite identifier (delimited by \"/\" character) to refer to the device and scenario combination; e.g. \"apple.ipad/mailsync\". Moreover, there is a listing of available action identifiers (pointing to entries from \"actions\") that are possible being executed in order to let such a device being on-boarded for the referenced scenario.'\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientOnboardingResponse"}}}}}}},"/onboarding?action=download":{"get":{"operationId":"downloadClientOnboardingProfile","tags":["Clientonboarding"],"summary":"Direct-downloads a profile to configure an apple device for CalDAV and/or CardDAV as well as IMAP/SMTP access","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"type","description":"The identifier of profile to download; one of\n- caldav\n- carddav\n- dav\n- mail\n","required":true,"schema":{"type":"string","enum":["caldav","carddav","dav","mail"]}}],"responses":{"200":{"description":"The profile\n","content":{"application/json":{"schema":{"type":"string","format":"byte"}}}}}}},"/onboarding?action=execute":{"put":{"operationId":"executeClientOnboarding","tags":["Clientonboarding"],"summary":"Performs a certain client on-boarding action for a given device and scenario; e.g. download a profile or send an E-Mail/SMS","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"The compiste identifier of device and scenario pair; e.g. \"apple.iphone/davsync\"","required":true,"schema":{"type":"string"}},{"in":"query","name":"action_id","description":"The identifier of action to perform; one of\n- download\n- email\n- sms\n- display or\n- link\n","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"'The appropriate result object or binary data dependent on specified action. In case of errors the responsible fields in the\nresponse are filled (see [Error handling](#error-handling)).'\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"An optional JSON object containing additional data for the action."}}},"/onboarding?action=link":{"get":{"operationId":"generateDownloadLinkForClientOnboardingProfile","tags":["Clientonboarding"],"summary":"Generate link to direct-download a profile to configure an apple device for CalDAV and/or CardDAV as well as IMAP/SMTP access","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"type","description":"The identifier of profile to download; one of\n- caldav\n- carddav\n- dav\n- mail\n","required":true,"schema":{"type":"string","enum":["caldav","carddav","dav","mail"]}}],"responses":{"200":{"description":"The download link for the profile\n","content":{"application/json":{"schema":{"type":"string","format":"json"}}}}}}},"/passwordchange?action=update":{"put":{"operationId":"updatePassword","tags":["Passwordchange"],"summary":"Updates or changes the password of the current use.","description":"#### Note\nThe new password will be set without any checks. The client must ensure that it is the password the user wants to set.\n","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PasswordChangeBody"}}},"description":"A JSON object containing the old and the new password.","required":true}}},"/pns?action=subscribe":{"put":{"operationId":"subscribe","tags":["Pns"],"summary":"Adds a new subscription associated with a token for certain topics","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A JSON object signaling success. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PnsResponse"}}}}},"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/SubscriptionData"}}},"description":"A JSON object describing the subscription","required":true}}},"/pns?action=unsubscribe":{"put":{"operationId":"unsubscribe","tags":["Pns"],"summary":"Removes a subscription associated with a token for certain topics","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A JSON object signaling success. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PnsResponse"}}}}},"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/UnsubscriptionData"}}},"description":"A JSON object describing the subscription to remove","required":true}}},"/quota?action=filestore":{"get":{"operationId":"getFilestoreUsage","tags":["Quota"],"summary":"Gets the filestore usage data.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A JSON object containing the filestore quota. In case of errors the responsible\nfields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuotaResponse"}}}}}}},"/quota?action=get":{"get":{"operationId":"getQuotaInformation","tags":["Quota"],"summary":"Gets quota information.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"module","description":"The module identifier (e.g. \"share_links\", \"filestorage\", ...) to get quota information for, required if account is set.","required":false,"schema":{"type":"string"}},{"in":"query","name":"account","description":"The account identifier within the module to get quota information for.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"If `module` is not specified it is returned a JSON object containing all quota modules as fields.\nEach field is an object itself consisting of a field `display_name` and a field `accounts`.\n`accounts` is an array of JSON objects containing the properties `account_id`, `account_name`,\n`countquota` (account's quota limit for the number of items, or not set if not defined),\n`countuse` (account's actual usage for the number of items, or not set if no count quota defined),\n`quota` (account's quota limit for the storage in bytes, or not set if not defined) and `use`\n(account's actual usage for the storage in bytes, or not set if no storage quota defined). In case of errors the responsible\nfields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuotasResponse"}}}},"400":{"description":"If a specified `module` is not existing."}}}},"/quota?action=mail":{"get":{"operationId":"getMailUsage","tags":["Quota"],"summary":"Gets the mail usage data.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A JSON object containing the mail quota. In case of errors the responsible\nfields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuotaResponse"}}}}}}},"/reminder?action=delete":{"put":{"operationId":"deleteReminders","tags":["Reminder"],"summary":"Deletes reminders.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A JSON object containing an array with identifiers of reminders that were not deleted. In case of\nerrors the responsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemindersResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ReminderListElement"}}}},"description":"A JSON array with JSON objects containing the field `id` of the reminders to delete.","required":true}}},"/reminder?action=range":{"get":{"operationId":"getRange","tags":["Reminder"],"summary":"Gets a reminder range.","description":"Gets all reminders which are scheduled until the specified time (end date).","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"end","description":"The end date of the reminder range.","required":false,"schema":{"type":"integer","format":"int64"}},{"in":"query","name":"modules","description":"A comma separated list of module ids to retrieve (e.g. \"1,4\" for tasks and appointments). If the parameter is missing or empty then all modules are retrieved.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing an array with data for each reminder. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemindersResponse"}}}}}}},"/reminder?action=remindAgain":{"put":{"operationId":"remindAgain","tags":["Reminder"],"summary":"Updates the reminder alarm.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"The ID of the reminder whose alarm date shall be changed.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"A JSON object containing the data of the updated reminder. In case of\nerrors the responsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReminderResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReminderUpdateBody"}}},"description":"A JSON object containing the field `alarm` which provides the new reminder date.","required":true}}},"/resource?action=all":{"get":{"operationId":"getAllResources","tags":["Resources"],"summary":"Gets all resources.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A JSON object containing an array of resource identifiers. In case of errors the responsible fields in the\nresponse are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AllResourcesResponse"}}}}}}},"/resource?action=delete":{"put":{"operationId":"deleteResources","tags":["Resources"],"summary":"Deletes resources.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"timestamp","description":"Timestamp of the last update of the group to delete.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"A JSON object with an empty array if the resources were deleted successfully. In case of errors the responsible fields in the\nresponse are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ResourceListElement"}}}},"description":"A JSON array of objects with the field `id` containing the unique identifier of the resource.","required":true}}},"/resource?action=get":{"get":{"operationId":"getResource","tags":["Resources"],"summary":"Gets a resource.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"The ID of the resource.","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"A JSON object containing the resource data. In case of errors the responsible fields in the\nresponse are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceResponse"}}}}}}},"/resource?action=list":{"put":{"operationId":"getResourceList","tags":["Resources"],"summary":"Gets a list of resources.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A JSON object containing an array of resource objects. In case of errors the responsible fields in the\nresponse are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ResourceListElement"}}}},"description":"A JSON array of JSON objects with the id of the requested resources.","required":true}}},"/resource?action=new":{"put":{"operationId":"createResource","tags":["Resources"],"summary":"Creates a resource.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A JSON object with the ID of the newly created resource. In case of errors the responsible fields in the\nresponse are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceUpdateResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceData"}}},"description":"A JSON object containing the resource data. The field `id` is not present.","required":true}}},"/resource?action=search":{"put":{"operationId":"searchResources","tags":["Resources"],"summary":"Searches for resources.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A JSON object containing an array of resource objects. In case of errors the responsible fields in the\nresponse are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceSearchBody"}}},"description":"A JSON object with the search parameters.","required":true}}},"/resource?action=update":{"put":{"operationId":"updateResource","tags":["Resources"],"summary":"Updates a resource.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"ID of the resource that shall be updated.","required":true,"schema":{"type":"integer"}},{"in":"query","name":"timestamp","description":"Timestamp of the last update of the resource to update. If the resource was modified after the specified timestamp, then the update must fail.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceData"}}},"description":"A JSON object containing the resource data fields to change. Only modified fields are present and the field id is omitted.","required":true}}},"/resource?action=updates":{"get":{"operationId":"getResourceUpdates","tags":["Resources"],"summary":"Gets the new, modified and deleted resources.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"timestamp","description":"Timestamp of the last update of the requested resources.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"A JSON object with fields `new`, `modified` and `deleted` representing arrays of new, modified and\ndeleted resource objects. In case of errors the responsible fields in the response are filled\n(see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceUpdatesResponse"}}}}}}},"/rss":{"put":{"operationId":"getRssFeed","tags":["RSS"],"summary":"Get the RSS Feed of a specific link.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"feedUrl","description":"An array containing all RSS Feeds to load. Array can consist of one element.","required":true,"schema":{"type":"array","items":{"type":"string"}}},{"in":"query","name":"limit","description":"Limitation of elements returned (in total).","required":false,"schema":{"type":"integer"}},{"in":"query","name":"sort","description":"The identifier which determines the sort order of the response.","required":false,"schema":{"type":"string"}},{"in":"query","name":"order","description":"\"asc\" if the response entities should be sorted in the ascending order, \"desc\" if the response entries should be sorted in the descending order.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing an array with data for the rss feed. Each array element describes one article        \nand is an array itself. The elements of each array contain the information provided by the RSS Feed.\nIn case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RssResponse"}}}}}}},"/saml/{tenant}/acs":{"post":{"operationId":"acs","tags":["SAML"],"summary":"Assertion Consumer Service","description":"SAML 2.0 Assertion Consumer Service. Accepts `<Response>` messages of the\nWeb Browser SSO Profile per `HTTP-POST` binding.\n","parameters":[{"in":"path","name":"tenant","required":true,"description":"In a multi-tenant environment, where different tenants might\nconnect to different identity providers, this parameter denotes\nthe tenant to start a SAML flow for. In single-tenant environments\nthis parameter is superfluous.\n","schema":{"type":"string"}}],"responses":{"302":{"description":"Redirect to `/login?action=samlLogin`","headers":{"Location":{"description":"A redirect URI that the client must follow to continue","schema":{"type":"string"}}}},"default":{"description":"Environment specific exit path (HTML page or redirect) on any error"}},"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","title":"acsBody","properties":{"SAMLResponse":{"description":"Base64 encoded SAML 2.0 `<Response>` message.","type":"string"},"RelayState":{"description":"Message exchange relay state. Optional on unsolicited responses.","type":"string"}},"required":["SAMLResponse"]}}}}}},"/saml/{tenant}/init":{"get":{"operationId":"init","tags":["SAML","Login"],"summary":"Initiate SAML 2.0 HTTP binding flows","description":"Initiates any supported SAML 2.0 login and logout flow as described\nin https://documentation.open-xchange.com/latest/middleware/login/02_saml.html.\n","parameters":[{"in":"path","name":"tenant","required":true,"description":"In a multi-tenant environment, where different tenants might\nconnect to different identity providers, this parameter denotes\nthe tenant to start a SAML flow for. In single-tenant environments\nthis parameter is superfluous.\n","schema":{"type":"string"}},{"in":"query","name":"flow","description":"One of `login`, `relogin` or `logout` to start the respective flow.\n","schema":{"type":"string"}},{"in":"query","name":"session","description":"Required for flow `logout`. A session ID to determine the correct session.","schema":{"type":"string"}},{"in":"query","name":"redirect","description":"Responds with `302 Found` and sets the response header `Location`\nto the actual redirect URI.\n","schema":{"type":"string","default":false}}],"responses":{"200":{"description":"Request was successful. Response JSON contains a redirect URI that\nthe client must follow to continue.\n","content":{"application/json":{"schema":{"type":"object","title":"initResponse","required":["redirect_uri"],"properties":{"redirect_uri":{"type":"string","description":"A redirect URI that the client must follow to continue"}}}}}},"302":{"description":"In case a redirect was requested","headers":{"Location":{"description":"A redirect URI that the client must follow to continue","schema":{"type":"string"}}}},"400":{"description":"In case of missing or invalid query parameters"},"500":{"description":"In case of an internal server error"}}}},"/saml/{tenant}/metadata":{"get":{"operationId":"metadata","tags":["SAML"],"summary":"Metadata Service","description":"SAML 2.0 Metadata Service. Provides an `<EntityDescriptor>` XML document\ndescribing the built-in service provider configuration.\n","parameters":[{"in":"path","name":"tenant","required":true,"description":"In a multi-tenant environment, where different tenants might\nconnect to different identity providers, this parameter denotes\nthe tenant to start a SAML flow for. In single-tenant environments\nthis parameter is superfluous.\n","schema":{"type":"string"}}],"responses":{"200":{"description":"The metadata response"},"500":{"description":"HTML error page"}}}},"/saml/{tenant}/sls":{"get":{"operationId":"sls-req","tags":["SAML"],"summary":"Single Logout Service for Logout Requests","description":"SAML 2.0 Single Logout Service. Accepts `<LogoutRequest>` messages from the IdP\nper `HTTP-Redirect` binding.\n","parameters":[{"in":"path","name":"tenant","required":true,"description":"In a multi-tenant environment, where different tenants might\nconnect to different identity providers, this parameter denotes\nthe tenant to start a SAML flow for. In single-tenant environments\nthis parameter is superfluous.\n","schema":{"type":"string"}},{"in":"query","name":"SAMLRequest","description":"Base64 encoded SAML 2.0 `<LogoutRequest>` message.","required":true,"schema":{"type":"string"}},{"in":"query","name":"SigAlg","description":"Message signature algorithm ID","schema":{"type":"string"}},{"in":"query","name":"Signature","description":"Message signature","schema":{"type":"string"}},{"in":"query","name":"RelayState","description":"Message exchange relay state","schema":{"type":"string"}}],"responses":{"200":{"description":"HTML response with a self-submitting from that POSTs the `<LoginResponse>`\nback to the IdP.\n"},"302":{"description":"Redirect URI that submits the `<LoginResponse>` back to the IdP per\n`HTTP-Redirect` binding.\n","headers":{"Location":{"description":"A redirect URI that the client must follow to continue","schema":{"type":"string"}}}},"400":{"description":"In case of a missing `SAMLRequest` parameter"},"500":{"description":"In case of internal server errors"}}},"post":{"operationId":"sls-resp","tags":["SAML"],"summary":"Single Logout Service for Logout Responses","description":"SAML 2.0 Single Logout Service. Accepts `<LogoutResponse>` messages of the\nSingle Logout Profile per `HTTP-POST` binding.\n","parameters":[{"in":"path","name":"tenant","required":true,"description":"In a multi-tenant environment, where different tenants might\nconnect to different identity providers, this parameter denotes\nthe tenant to start a SAML flow for. In single-tenant environments\nthis parameter is superfluous.\n","schema":{"type":"string"}}],"responses":{"302":{"description":"Redirect to `/login?action=samlLogout`","headers":{"Location":{"description":"A redirect URI that the client must follow to continue","schema":{"type":"string"}}}},"default":{"description":"Environment specific exit path (HTML page or redirect) on any error"}},"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","title":"slsRespBody","properties":{"SAMLResponse":{"description":"Base64 encoded SAML 2.0 `<LogoutResponse>` message.","type":"string"},"RelayState":{"description":"Message exchange relay state","type":"string"}},"required":["SAMLResponse","RelayState"]}}}}}},"/sessionmanagement?action=all":{"get":{"operationId":"all","tags":["sessionmanagement"],"summary":"Get all user's sessions","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A JSON object containing the sessions that were found. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AllSessionsResponse"}}}}}}},"/sessionmanagement?action=clear":{"get":{"operationId":"clear","tags":["sessionmanagement"],"summary":"Removes all user's session except given and blacklisted","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A JSON object signaling success. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n"}}}},"/sessionmanagement?action=delete":{"put":{"operationId":"delete","tags":["sessionmanagement"],"summary":"Remove user's session","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A JSON object signaling success. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n"}},"requestBody":{"content":{"application/json":{"schema":{"type":"array","description":"Session Ids to delete","items":{"type":"string","description":"A session id"}}}},"description":"A JSON array containing all session Ids to delete","required":true}}},"/share/management?action=deleteLink":{"put":{"operationId":"deleteShareLink","tags":["Share/Management"],"summary":"Deletes a share link.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"timestamp","description":"The timestamp of the last modification of the link. Used to detect concurrent modifications.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShareTargetData"}}},"description":"A JSON object containing the share target where the link should be deleted for.","required":true}}},"/share/management?action=getLink":{"put":{"operationId":"getShareLink","tags":["Share/Management"],"summary":"Creates or gets a share link.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A JSON object containing data of the (newly created) share link. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShareLinkResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShareTargetData"}}},"description":"A JSON object containing the share target where the link should be generated for.","required":true}}},"/share/management?action=sendLink":{"put":{"operationId":"sendShareLink","tags":["Share/Management"],"summary":"Sends a share link.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"Transport warnings that occurred during sending the notifications are available in a `warnings` array.\nIn case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShareLinkSendResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShareLinkSendBody"}}},"description":"A JSON object containing the share target and a list of recipients specified in a field `recipients` that\nis a JSON array with a nested two-elements array containing the recipient information (first element is\npersonal name, second is email address). An optional field `message` can contain a notification.\n","required":true}}},"/share/management?action=updateLink":{"put":{"operationId":"updateShareLink","tags":["Share/Management"],"summary":"Updates a share link.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"timestamp","description":"The timestamp of the last modification of the link. Used to detect concurrent modifications.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"An empty json object in case of success. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShareLinkUpdateBody"}}},"description":"A JSON object containing the share target and share link properties of the link to update. Only modified fields should be set but at least the share target ones.","required":true}}},"/share/redeem/token":{"get":{"operationId":"get","summary":"Redeems a previously reserved token for extended parameters of the redirect location.","parameters":[{"in":"query","name":"token","description":"The token as received when accessing the share link.","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/gblQueryParamLanguage"}],"responses":{"200":{"description":"A JSON object containing the extended parameters of the redirect location.","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/snippet?action=all":{"get":{"operationId":"getAllSnippets","tags":["Snippet"],"summary":"Gets all snippets.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"type","description":"A list of comma-separated types to filter, e.g. \"signature\".","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing an array with data for all snippets. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SnippetsResponse"}}}}}}},"/snippet?action=attach":{"post":{"operationId":"addSnippetAttachment","tags":["Snippet"],"summary":"Attaches one or more files to an existing snippet.","description":"It can be uploaded multiple files at once. Each file must be specified in an own form field\n(the form field name is arbitrary).\n","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"The identifier of the snippet.","required":true,"schema":{"type":"string"}},{"in":"query","name":"type","description":"The file type filter to define which file types are allowed during upload. Currently supported filters are: file (for all), text (for `text/*`), media (for image, audio or video), image (for `image/*`), audio (for `audio/*`), video (for `video/*`) and application (for `application/*`).","required":true,"schema":{"type":"string","enum":["file","text","media","image","audio","video","application"]}}],"responses":{"200":{"description":"A HTML page as described in [File uploads](#file-uploads) containing a JSON object with the ID of\nthe updated snippet or errors if some occurred.\n","content":{"text/html":{"schema":{"type":"string"}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","title":"addSnippetAttachmentBody","properties":{"file":{"description":"The attachment file.","type":"string","format":"binary"}},"required":["file"]}}}}}},"/snippet?action=delete":{"put":{"operationId":"deleteSnippet","tags":["Snippet"],"summary":"Deletes one or multiple snippets.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"The identifier of the snippet. Otherwise provide one or more identifiers in the request body's JSON array.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}},"description":"A JSON array containing the identifiers of the snippets to delete."}}},"/snippet?action=detach":{"put":{"operationId":"removeSnippetAttachments","tags":["Snippet"],"summary":"Detaches one or more files from an existing snippet.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"The identifier of the snippet.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing the ID of the updated snippet. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SnippetUpdateResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SnippetAttachmentListElement"}}}},"description":"A JSON array with JSON objects each containing a field `id` with the identifier of an attachment that shall be removed.","required":true}}},"/snippet?action=get":{"get":{"operationId":"getSnippet","tags":["Snippet"],"summary":"Gets a snippet.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"The identifier of the snippet.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing the data of the snippet. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SnippetResponse"}}}}}}},"/snippet?action=getattachment":{"get":{"operationId":"getSnippetAttachment","tags":["Snippet"],"summary":"Gets the attachment of a snippet.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"The identifier of the snippet.","required":true,"schema":{"type":"string"}},{"in":"query","name":"attachmentid","description":"The identifier of the attachment.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The attachment's raw data.","content":{"application/json":{"schema":{"type":"string","format":"binary"}}}},"500":{"description":"A HTML page in case of errors.","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/snippet?action=list":{"put":{"operationId":"getSnippetList","tags":["Snippet"],"summary":"Gets a list of snippets.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A JSON object containing an array with data for the requested snippets. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SnippetsResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}},"description":"A JSON array of snippet identifiers.","required":true}}},"/snippet?action=new":{"put":{"operationId":"createSnippet","tags":["Snippet"],"summary":"Creates a snippet.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A JSON object containing the ID of the newly created snippet. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SnippetUpdateResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SnippetData"}}},"description":"A JSON object describing the snippet excluding its attachment(s). For adding attachments see `/snippet?action=attach` request.","required":true}}},"/snippet?action=update":{"put":{"operationId":"updateSnippet","tags":["Snippet"],"summary":"Updates a snippet.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"The identifier of the snippet.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing the data of the updated snippet. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SnippetResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SnippetData"}}},"description":"A JSON object providing the fields that should be changed, excluding its attachments. For deleting attachments see `/snippet?action=detach` request.","required":true}}},"/sync?action=refresh_server":{"put":{"operationId":"clearFoldersSynced","tags":["Sync"],"summary":"Clears a folder's content.","description":"#### Note\nAlthough the request offers to clear multiple folders at once it is recommended to clear only one folder per\nrequest since if any exception occurs (e.g. missing permissions) the complete request is going to be aborted.\n","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A JSON object containing an array of folder IDs that could not be cleared due to a concurrent modification.\nIn case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FoldersCleanUpResponse"}}}}},"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"type":"array","items":{"type":"string"}}}},"description":"A JSON array containing the folder ID(s)."}}},"/system?action=ping":{"get":{"operationId":"ping","tags":["System"],"summary":"Simple API call to check whether the server is still running or not","responses":{"200":{"description":"A JSON object containing the value \"TRUE\". This indicates  that the server is still running and ready to handle more  requests\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PingResponse"}}}}}}},"/system?action=time":{"get":{"operationId":"time","tags":["System"],"summary":"Simple API call to obtain the systems time in milliseconds","responses":{"200":{"description":"A JSON object containing the time value as long. The time is  measured in milliseconds and is the difference between the  current time and midnight, January 1, 1970 UTC\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TimeResponse"}}}}}}},"/system?action=whoami":{"get":{"operationId":"whoami","tags":["System"],"summary":"Returns information about the session","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A JSON object signaling success. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WhoAmIResponse"}}}}}}},"/tasks?action=all":{"get":{"operationId":"getAllTasks","tags":["Tasks"],"summary":"Gets all tasks.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamTaskFolder"},{"$ref":"#/components/parameters/gblQueryParamTaskColumns"},{"in":"query","name":"sort","description":"The identifier of a column which determines the sort order of the response. If this parameter is specified, then the parameter order must be also specified.","required":false,"schema":{"type":"string"}},{"in":"query","name":"order","description":"\"asc\" if the response entities should be sorted in the ascending order, \"desc\" if the response entries should be sorted in the descending order. If this parameter is specified, then the parameter sort must be also specified.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing an array with data for all tasks. Each array element describes one task and\nis itself an array. The elements of each array contain the information specified by the corresponding\nidentifiers in the `columns` parameter. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TasksResponse"}}}}}}},"/tasks?action=confirm":{"put":{"operationId":"confirmTask","tags":["Tasks"],"summary":"Confirms a task.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"Object ID of the task that shall be confirmed.","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/gblQueryParamTaskFolder"},{"in":"query","name":"timestamp","description":"Timestamp of the last update of the task.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Nothing, except the standard response object with empty data, the timestamp of the confirmed and thereby\nupdated task, and maybe errors. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskConfirmationBody"}}},"description":"A JSON object with the fields `confirmation` and `confirmmessage`.","required":true}}},"/tasks?action=delete":{"put":{"operationId":"deleteTasks","tags":["Tasks"],"summary":"Deletes tasks.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"timestamp","description":"Timestamp of the last update of the deleted tasks.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"A JSON array with object IDs of tasks which were modified after the specified timestamp and were therefore not deleted. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskDeletionsResponse"}}}}},"requestBody":{"$ref":"#/components/requestBodies/TaskListElementArray"}}},"/tasks?action=get":{"get":{"operationId":"getTask","tags":["Tasks"],"summary":"Gets a task.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"Object ID of the requested task.","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/gblQueryParamTaskFolder"}],"responses":{"200":{"description":"An object containing all data of the requested task. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskResponse"}}}}}}},"/tasks?action=list":{"put":{"operationId":"getTaskList","tags":["Tasks"],"summary":"Gets a list of tasks.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamTaskColumns"}],"responses":{"200":{"description":"A JSON object containing an array with data for the requested tasks. Each array element describes one task and\nis itself an array. The elements of each array contain the information specified by the corresponding\nidentifiers in the `columns` parameter. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TasksResponse"}}}}},"requestBody":{"$ref":"#/components/requestBodies/TaskListElementArray"}}},"/tasks?action=new":{"put":{"operationId":"createTask","tags":["Tasks"],"summary":"Creates a task.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A JSON object containing the id of the newly created task. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskUpdateResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskData"}}},"description":"A JSON object containing the task's data.","required":true}}},"/tasks?action=search":{"put":{"operationId":"searchTasks","tags":["Tasks"],"summary":"Search for tasks.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamTaskColumns"},{"in":"query","name":"sort","description":"The identifier of a column which determines the sort order of the response. If this parameter is specified , then the parameter order must be also specified.","required":false,"schema":{"type":"string"}},{"in":"query","name":"order","description":"\"asc\" if the response entires should be sorted in the ascending order, \"desc\" if the response entries should be sorted in the descending order. If this parameter is specified, then the parameter sort must be also specified.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing an array with matching tasks. Tasks are represented by arrays. The elements of each array contain the\ninformation specified by the corresponding identifiers in the `columns` parameter. In case of errors the\nresponsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TasksResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskSearchBody"}}},"description":"A JSON object containing search parameters.","required":true}}},"/tasks?action=update":{"put":{"operationId":"updateTask","tags":["Tasks"],"summary":"Updates a task.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamTaskFolder"},{"in":"query","name":"id","description":"Object ID of the requested task.","required":true,"schema":{"type":"string"}},{"in":"query","name":"timestamp","description":"Timestamp of the last update of the requested tasks.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"A JSON object with a timestamp. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskUpdateResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskData"}}},"description":"A JSON object containing the task's data. Only modified fields are present.","required":true}}},"/tasks?action=updates":{"get":{"operationId":"getTaskUpdates","tags":["Tasks"],"summary":"Gets the new, modified and deleted tasks.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamTaskFolder"},{"$ref":"#/components/parameters/gblQueryParamTaskColumns"},{"in":"query","name":"timestamp","description":"Timestamp of the last update of the requested tasks.","required":true,"schema":{"type":"integer","format":"int64"}},{"in":"query","name":"ignore","description":"Which kinds of updates should be ignored. Omit this parameter or set it to \"deleted\" to not have deleted tasks identifier in the response. Set this parameter to `false` and the response contains deleted tasks identifier.","required":false,"schema":{"type":"string","enum":["deleted"]}},{"in":"query","name":"sort","description":"The identifier of a column which determines the sort order of the response. If this parameter is specified, then the parameter order must be also specified.","required":false,"schema":{"type":"string"}},{"in":"query","name":"order","description":"\"asc\" if the response entities should be sorted in the ascending order, \"desc\" if the response entries should be sorted in the descending order. If this parameter is specified, then the parameter sort must be also specified.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"An array with new, modified and deleted tasks. New and modified tasks are represented by arrays. The\nelements of each array contain the information specified by the corresponding identifiers in the `columns`\nparameter. Deleted tasks would be identified by their object IDs as integers, without being part of\na nested array. In case of errors the responsible fields in the response are filled (see\n[Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskUpdatesResponse"}}}}}}},"/token?action=acquireToken":{"get":{"operationId":"acquireToken","tags":["Token"],"summary":"Gets a login token.","description":"With a valid session it is possible to acquire a secret. Using this secret another system is able to\ngenerate a valid session (see [login?action=redeemToken](#operation--login-action-redeemToken-post)).\n","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A JSON object with the timestamp of the creation date and a token which can be used to create a new\nsession. In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcquireTokenResponse"}}}}}}},"/user?action=all":{"get":{"operationId":"getAllUsers","tags":["User"],"summary":"Gets all users.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamUserColumns"},{"in":"query","name":"sort","description":"The identifier of a column which determines the sort order of the response. If this parameter is specified, then the parameter order must be also specified.","required":false,"schema":{"type":"string"}},{"in":"query","name":"order","description":"\"asc\" if the response entities should be sorted in the ascending order, \"desc\" if the response entries should be sorted in the descending order. If this parameter is specified, then the parameter sort must be also specified.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing an array with data for all users. Each array element describes one user and\nis itself an array. The elements of each array contain the information specified by the corresponding\nidentifiers in the `columns` parameter. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsersResponse"}}}}}}},"/user?action=getAttribute":{"get":{"operationId":"getUserAttribute","tags":["User"],"summary":"Gets a user attribute.","description":"Gets a custom user attribute that was previously set with the `/user?action=setAttribute` request.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"The ID of the user.","required":true,"schema":{"type":"string"}},{"in":"query","name":"name","description":"The name of the attribute.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing the attribute data. In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserAttributeResponse"}}}}}}},"/user?action=get":{"get":{"operationId":"getUser","tags":["User"],"summary":"Gets a user.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"Object ID of the requested user. This parameter is optional and the default is the currently logged in user.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"An object containing all data of the requested user. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}}}}}},"/user?action=list":{"put":{"operationId":"getUserList","tags":["User"],"summary":"Gets a list of users.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamUserColumns"}],"responses":{"200":{"description":"A JSON object containing an array with data for the requested users. Each array element describes one user and\nis itself an array. The elements of each array contain the information specified by the corresponding\nidentifiers in the `columns` parameter. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsersResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}},"description":"A JSON array of identifiers of the requested users. A `null` value in the array is interpreted as the currently logged in user.","required":true}}},"/user?action=search":{"put":{"operationId":"searchUsers","tags":["User"],"summary":"Search for users.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"$ref":"#/components/parameters/gblQueryParamUserColumns"},{"in":"query","name":"sort","description":"The identifier of a column which determines the sort order of the response. If this parameter is specified , then the parameter order must be also specified.","required":false,"schema":{"type":"string"}},{"in":"query","name":"order","description":"\"asc\" if the response entires should be sorted in the ascending order, \"desc\" if the response entries should be sorted in the descending order. If this parameter is specified, then the parameter sort must be also specified.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object containing an array with matching users. Users are represented by arrays. The elements of each array contain the\ninformation specified by the corresponding identifiers in the `columns` parameter. In case of errors the\nresponsible fields in the response are filled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsersResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSearchBody"}}},"description":"A JSON object containing search parameters.","required":true}}},"/user?action=setAttribute":{"put":{"operationId":"setUserAttribute","tags":["User"],"summary":"Sets a user attribute.","description":"Sets a custom user attribute consisting of a name and a value. The attribute can later be\nretrieved using the [/user?action=getAttribute](#operation--user-action-getAttribute-get) request.\n","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"The ID of the user.","required":true,"schema":{"type":"string"}},{"in":"query","name":"setIfAbsent","description":"Set to `true` to put the value only if the specified name is not already associated with a value, otherwise `false` to put value in any case.","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"A JSON object providing the information whether the attribute could be set. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserAttributionResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserAttribute"}}},"description":"A JSON object providing the name and the value of the attribute. If the `value` field is missing or `null`, the attribute is removed.","required":true}}},"/user?action=update":{"put":{"operationId":"updateUser","tags":["User"],"summary":"Updates a user.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"id","description":"Object ID of the requested user.","required":true,"schema":{"type":"string"}},{"in":"query","name":"timestamp","description":"Timestamp of the last update of the requested user. If the user was modified after the specified timestamp, then the update must fail.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"In case of errors the responsible fields in the response are filled (see [Error handling](#error-handling)).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserData"}}},"description":"A JSON object containing the user's data. Only modified fields are present. From [Detailed user data](https://documentation.open-xchange.com/latest/middleware/http_api/2_column_identifiers.html#detailed-user-data) only the fields `timezone` and `locale` are allowed to be updated.","required":true}}},"/user/me":{"get":{"operationId":"getCurrentUser","tags":["User/Me"],"summary":"Gets information about current user.","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"}],"responses":{"200":{"description":"A JSON object containing the data of the current user. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CurrentUserResponse"}}}}}}},"/userfeedback?action=store":{"put":{"operationId":"store","tags":["userfeedback"],"summary":"Store user feedback","parameters":[{"$ref":"#/components/parameters/gblQueryParamSession"},{"in":"query","name":"type","description":"The feedback type","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A JSON object signaling success. In case of errors the responsible fields in the response are\nfilled (see [Error handling](#error-handling)).\n"}},"requestBody":{"content":{"application/json":{"schema":{"type":"string"}}},"description":"A JSON object describing the feedback","required":true}}}},"components":{"schemas":{"CommonResponse":{"type":"object","properties":{"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"LoginResponse":{"type":"object","properties":{"session":{"type":"string","description":"The session ID."},"user":{"type":"string","description":"The username."},"user_id":{"type":"integer","description":"The user ID."},"context_id":{"type":"integer","description":"The context ID."},"locale":{"type":"string","description":"The users locale (e.g. \"en_US\")."},"requires_multifactor":{"type":"boolean","description":"True if multifactor login required"},"rampup":{"type":"object","description":"Contains various client specific rampup data. Only set if the rampup parameter is set to 'true'."},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"TokenLoginResponse":{"type":"object","properties":{"serverToken":{"type":"string","description":"The token generated by the server."},"jsessionid":{"type":"string"},"user":{"type":"string","description":"The username."},"user_id":{"type":"integer","description":"The user ID."},"url":{"type":"string","description":"The URL of the redirect to the web UI."},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"TokensData":{"type":"object","properties":{"session":{"type":"string","description":"The session ID."},"user":{"type":"string","description":"The username."},"user_id":{"type":"integer","description":"The user ID."},"context_id":{"type":"integer","description":"The context ID."},"locale":{"type":"string","description":"The users locale (e.g. \"en_US\")."}}},"TokensResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokensData"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"ChangeIPResponse":{"type":"object","properties":{"data":{"type":"string"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"ConfigBody":{"type":"object","required":["data"],"properties":{"data":{"type":"object","description":"The new value of the node specified by path."}}},"ConfigResponse":{"type":"object","properties":{"data":{"type":"object","description":"Generic type which can be object, string, array, etc."},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"ConfigProperty":{"type":"object","properties":{"name":{"type":"string","description":"The name of the property."},"value":{"type":"object","description":"The value of the property."}}},"ConfigPropertyResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ConfigProperty"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"ConfigPropertyBody":{"type":"object","properties":{"value":{"type":"string","description":"The concrete value to set."}}},"FoldersResponse":{"type":"object","properties":{"data":{"type":"object","description":"Array of folders. Each folder is described as an array itself."},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"FolderUpdatesResponse":{"type":"object","properties":{"data":{"type":"object","description":"Array of folders."},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"FolderPermission":{"type":"object","properties":{"bits":{"type":"integer","description":"For non-mail folders, a number as described in [Permission flags](#permission-flags)."},"rights":{"type":"string","description":"For mail folders, the rights string as defined in [RFC 2086](http://tools.ietf.org/html/rfc2086)."},"entity":{"type":"integer","description":"User ID of the user or group to which this permission applies (ignored for type \"anonymous\" or \"guest\")."},"group":{"type":"boolean","description":"Set `true` if entity refers to a group, `false` if it refers to a user (ignored for type \"anonymous\" or \"guest\")."},"type":{"type":"string","description":"The recipient type, i.e. one of \"user\", \"group\", \"guest\", \"anonymous\" (required if no internal \"entity\" defined)."},"password":{"type":"string","description":"An additional secret / pin number an anonymous user needs to enter when accessing the share (for type \"anonymous\", optional)."},"email_address":{"type":"string","description":"The e-mail address of the recipient (for type \"guest\")."},"display_name":{"type":"string","description":"The display name of the recipient (for type \"guest\", optional)."},"contact_id":{"type":"string","description":"The object identifier of the corresponding contact entry if the recipient was chosen from the address book (for type \"guest\", optional)."},"contact_folder":{"type":"string","description":"The folder identifier of the corresponding contact entry if the recipient was chosen from the address book (for type \"guest\", required if \"contact_id\" is set)."},"expiry_date":{"type":"integer","format":"int64","description":"The end date / expiration time after which the share link is no longer accessible (for type \"anonymous\", optional)."}}},"FolderExtendedPermission":{"type":"object","properties":{"entity":{"type":"integer","description":"Identifier of the permission entity (i.e. user-, group- or guest-ID)."},"bits":{"type":"integer","description":"A number as described in [Permission flags](#permission-flags)."},"type":{"type":"string","description":"Set \"user\" for an internal user, \"group\" for a group, \"guest\" for a guest, or \"anonymous\" for an anonymous permission entity."},"display_name":{"type":"string","description":"A display name for the permission entity."},"contact":{"type":"object","description":"A (reduced) set of [Detailed contact data](#detailed-contact-data) for \"user\" and \"guest\" entities."},"share_url":{"type":"string","description":"The share link for \"anonymous\" entities."},"password":{"type":"string","description":"The optionally set password for \"anonymous\" entities."},"expiry_date":{"type":"integer","format":"int64","description":"The optionally set expiry date for \"anonymous\" entities."},"includeSubfolders":{"type":"boolean","description":"The optionally set \"include subfolders\" option for \"anonymous\" entities."},"isInherited":{"type":"boolean","description":"A flag indicating whether the permissions is inherited from the parent folder or not. The client must not allow the user to delete or update inherited permissions."}}},"FolderCalendarExtendedProperties":{"type":"object","description":"Contains the extended properties for calendar folders","properties":{"description":{"type":"object","description":"The description of the folder","properties":{"value":{"type":"string"}}},"usedForSync":{"type":"object","description":"Indicates whether the folder should be considered for synchronization with external clients or not.","properties":{"value":{"type":"string"}}},"color":{"type":"object","description":"Indicates the color the folder should be displayed with","properties":{"value":{"type":"string"}}},"scheduleTransp":{"type":"object","description":"Indicates whether the calendar object resources in a calendar collection will affect the owner's busy time information or not","properties":{"value":{"type":"string"}}},"lastUpdate":{"type":"object","description":"indicates the timestamp of the last update of the contents for cached calendars","properties":{"value":{"type":"integer","format":"int64"}}}}},"FolderCalendarConfig":{"type":"object","description":"Holds arbitrary, provider-specific configuration data for calendar accounts.","properties":{"enabled":{"type":"boolean","description":"Defines if the account is enabled."},"color":{"type":"string","description":"Defines the account color."},"usedForSync":{"type":"boolean","description":"Defines if the account should be synced via CalDAV."},"uri":{"type":"string","description":"(ical provider only) The URI of the ICal feed that should be subscribed."},"refreshInterval":{"type":"integer","description":"(ical provider only) Defines the refresh interval used for the subscribed ICal feed."},"login":{"type":"string","description":"(ical provider only) Defines an optional login for the subscribed ICal feed."},"password":{"type":"string","description":"(ical provider only) An optional password for the subscribed ICal feed."},"itemId":{"type":"string","description":"(schedjoules provider only) Unique identifier for schedjoules feed."},"locale":{"type":"string","description":"(schedjoules provider only) The locale of the subscribed schedjoules feed."}}},"FolderData":{"type":"object","properties":{"id":{"type":"string","description":"Object ID"},"created_by":{"type":"string","description":"User ID of the user who created this object.","readOnly":true},"modified_by":{"type":"string","description":"User ID of the user who last modified this object.","readOnly":true},"creation_date":{"type":"integer","format":"int64","description":"Date and time of creation.","readOnly":true},"last_modified":{"type":"integer","format":"int64","description":"Date and time of the last modification.","readOnly":true},"last_modified_utc":{"type":"integer","format":"int64","description":"Timestamp of the last modification. Note that the type is Timestamp, not Time.","readOnly":true},"folder_id":{"type":"string","description":"Object ID of the parent folder."},"title":{"type":"string","description":"Name of this folder."},"module":{"type":"string","description":"Name of the module which implements this folder; e.g. \"tasks\", \"calendar\", \"contacts\", \"infostore\", or \"mail\""},"type":{"type":"integer","description":"Type of folder."},"subfolders":{"type":"boolean","description":"Set `true` if this folder has subfolders.","readOnly":true},"own_rights":{"type":"integer","description":"Permissions which apply to the current user, as described either in [Permission flags](#permission-flags) or in [RFC2086](http://tools.ietf.org/html/rfc2086)."},"permissions":{"type":"array","items":{"$ref":"#/components/schemas/FolderPermission"}},"summary":{"type":"string","description":"Information about contained objects."},"standard_folder":{"type":"boolean","description":"Indicates whether or not folder is marked as a default folder (only OX folder)."},"total":{"type":"integer","description":"The number of objects in this Folder.","readOnly":true},"new":{"type":"integer","description":"The number of new objects in this Folder.","readOnly":true},"unread":{"type":"integer","description":"The number of unread objects in this Folder.","readOnly":true},"deleted":{"type":"integer","description":"The number of deleted objects in this Folder.","readOnly":true},"capabilities":{"type":"integer","description":"Bit mask containing information about mailing system capabilites.<br> * bit 0 (mailing system supports permissions),<br> * bit 1 (mailing system supports ordering mails by their thread reference),<br> * bit 2 (mailing system supports quota restrictions),<br> * bit 3 (mailing system supports sorting),<br> * bit 4 (mailing system supports folder subscription)\n","readOnly":true,"enum":[0,1,2,3]},"subscribed":{"type":"boolean","description":"Indicates whether this folder should appear in folder tree or not. Standard folders cannot be unsubscribed."},"subscr_subflds":{"type":"boolean","description":"Indicates whether subfolders should appear in folder tree or not."},"standard_folder_type":{"type":"integer","description":"Indicates the default folder type.<br> * 0 (non-default folder),<br> * 1 (task),<br> * 2 (calendar),<br> * 3 (contact),<br> * 7 (inbox),<br> * 8 (infostore),<br> * 9 (drafts),<br> * 10 (sent),<br> * 11 (spam),<br> * 12 (trash)\n","enum":[0,1,2,3,7,8,9,10,11,12]},"supported_capabilities":{"type":"array","description":"Can contain \"permissions\", \"quota\", \"sort\", \"subscription\".","readOnly":true,"items":{"type":"string"}},"account_id":{"type":"string","description":"Will be null if the folder does not belong to any account (i.e. if its module doesn't support multiple accounts), is a virtual folder or an account-agnostic system folder."},"com.openexchange.publish.publicationFlag":{"type":"boolean","description":"Indicates whether this folder is published. Read Only, provided by the com.openexchange.publish plugin.","readOnly":true},"com.openexchange.subscribe.subscriptionFlag":{"type":"boolean","description":"Indicates whether this folder has subscriptions storing their content in this folder. Read Only, provided by the com.openexchange.subscribe plugin.","readOnly":true},"com.openexchange.folderstorage.displayName":{"type":"string","description":"Provides the read only display name of the folder's owner.","readOnly":true},"com.openexchange.share.extendedPermissions":{"type":"array","items":{"$ref":"#/components/schemas/FolderExtendedPermission"}},"com.openexchange.calendar.extendedProperties":{"$ref":"#/components/schemas/FolderCalendarExtendedProperties"},"com.openexchange.calendar.config":{"$ref":"#/components/schemas/FolderCalendarConfig"},"com.openexchange.calendar.provider":{"type":"string","description":"Denotes the identifier of the underlying calendar provider."},"used_for_sync":{"type":"object","description":"Indicates whether this folder should used for sync or not. Standard folders cannot be changed.","properties":{"value":{"type":"string","description":"The actual used_for_sync value. Either 'true' or 'false'."},"protected":{"type":"string","description":"Whether this value is protected and can't be changed by the client or not. Either 'true' or 'false'"}}}}},"FolderResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/FolderData"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"FolderBodyNotification":{"type":"object","properties":{"transport":{"type":"string","description":"E.g. \"mail\"."},"message":{"type":"string"}}},"FolderBody":{"type":"object","required":["folder"],"properties":{"folder":{"$ref":"#/components/schemas/FolderData"},"notification":{"$ref":"#/components/schemas/FolderBodyNotification"}}},"NewFolderBody":{"type":"object","required":["folder"],"properties":{"folder":{"type":"object","required":["module"],"properties":{"id":{"type":"string","description":"Object ID"},"created_by":{"type":"string","description":"User ID of the user who created this object.","readOnly":true},"modified_by":{"type":"string","description":"User ID of the user who last modified this object.","readOnly":true},"creation_date":{"type":"integer","format":"int64","description":"Date and time of creation.","readOnly":true},"last_modified":{"type":"integer","format":"int64","description":"Date and time of the last modification.","readOnly":true},"last_modified_utc":{"type":"integer","format":"int64","description":"Timestamp of the last modification. Note that the type is Timestamp, not Time.","readOnly":true},"folder_id":{"type":"string","description":"Object ID of the parent folder."},"title":{"type":"string","description":"Name of this folder."},"module":{"type":"string","description":"Name of the module which implements this folder; e.g. \"tasks\", \"calendar\", \"contacts\", \"infostore\", or \"mail\""},"type":{"type":"integer","description":"Type of folder."},"subfolders":{"type":"boolean","description":"Set `true` if this folder has subfolders.","readOnly":true},"own_rights":{"type":"integer","description":"Permissions which apply to the current user, as described either in [Permission flags](#permission-flags) or in [RFC2086](http://tools.ietf.org/html/rfc2086)."},"permissions":{"type":"array","items":{"$ref":"#/components/schemas/FolderPermission"}},"summary":{"type":"string","description":"Information about contained objects."},"standard_folder":{"type":"boolean","description":"Indicates whether or not folder is marked as a default folder (only OX folder)."},"total":{"type":"integer","description":"The number of objects in this Folder.","readOnly":true},"new":{"type":"integer","description":"The number of new objects in this Folder.","readOnly":true},"unread":{"type":"integer","description":"The number of unread objects in this Folder.","readOnly":true},"deleted":{"type":"integer","description":"The number of deleted objects in this Folder.","readOnly":true},"capabilities":{"type":"integer","description":"Bit mask containing information about mailing system capabilites.<br> * bit 0 (mailing system supports permissions),<br> * bit 1 (mailing system supports ordering mails by their thread reference),<br> * bit 2 (mailing system supports quota restrictions),<br> * bit 3 (mailing system supports sorting),<br> * bit 4 (mailing system supports folder subscription)\n","readOnly":true,"enum":[0,1,2,3]},"subscribed":{"type":"boolean","description":"Indicates whether this folder should appear in folder tree or not. Standard folders cannot be unsubscribed."},"subscr_subflds":{"type":"boolean","description":"Indicates whether subfolders should appear in folder tree or not."},"standard_folder_type":{"type":"integer","description":"Indicates the default folder type.<br> * 0 (non-default folder),<br> * 1 (task),<br> * 2 (calendar),<br> * 3 (contact),<br> * 7 (inbox),<br> * 8 (infostore),<br> * 9 (drafts),<br> * 10 (sent),<br> * 11 (spam),<br> * 12 (trash)\n","enum":[0,1,2,3,7,8,9,10,11,12]},"supported_capabilities":{"type":"array","description":"Can contain \"permissions\", \"quota\", \"sort\", \"subscription\".","readOnly":true,"items":{"type":"string"}},"account_id":{"type":"string","description":"Will be null if the folder does not belong to any account (i.e. if its module doesn't support multiple accounts), is a virtual folder or an account-agnostic system folder."},"com.openexchange.publish.publicationFlag":{"type":"boolean","description":"Indicates whether this folder is published. Read Only, provided by the com.openexchange.publish plugin.","readOnly":true},"com.openexchange.subscribe.subscriptionFlag":{"type":"boolean","description":"Indicates whether this folder has subscriptions storing their content in this folder. Read Only, provided by the com.openexchange.subscribe plugin.","readOnly":true},"com.openexchange.folderstorage.displayName":{"type":"string","description":"Provides the read only display name of the folder's owner.","readOnly":true},"com.openexchange.share.extendedPermissions":{"type":"array","items":{"$ref":"#/components/schemas/FolderExtendedPermission"}},"com.openexchange.calendar.extendedProperties":{"$ref":"#/components/schemas/FolderCalendarExtendedProperties"},"com.openexchange.calendar.config":{"$ref":"#/components/schemas/FolderCalendarConfig"},"com.openexchange.calendar.provider":{"type":"string","description":"Denotes the identifier of the underlying calendar provider."},"used_for_sync":{"type":"object","description":"Indicates whether this folder should used for sync or not. Standard folders cannot be changed.","properties":{"value":{"type":"string","description":"The actual used_for_sync value. Either 'true' or 'false'."},"protected":{"type":"string","description":"Whether this value is protected and can't be changed by the client or not. Either 'true' or 'false'"}}}}},"notification":{"$ref":"#/components/schemas/FolderBodyNotification"}}},"FolderUpdateResponse":{"type":"object","properties":{"data":{"type":"string","description":"The object id of the folder."},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"FoldersCleanUpResponse":{"type":"object","properties":{"data":{"type":"array","description":"An array with object IDs of folders that could not be processed because of a concurrent modification or something else.\n\nIf the extendedResponse parameter is set to `true` the array contains json objects instead.\n","items":{"type":"string"}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"FoldersVisibilityData":{"type":"object","properties":{"private":{"type":"object","description":"Array of private folders. Each folder is described as an array itself."},"public":{"type":"object","description":"Array of public folders. Each folder is described as an array itself."},"shared":{"type":"object","description":"Array of shared folders. Each folder is described as an array itself."}}},"FoldersVisibilityResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/FoldersVisibilityData"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"FolderSharingNotificationBody":{"type":"object","required":["entities"],"properties":{"entities":{"type":"array","description":"Array containing the entity ID(s) of the users or groups that shall be notified.","items":{"type":"string"}},"notification":{"$ref":"#/components/schemas/FolderBodyNotification"}}},"FolderSharingNotificationData":{"type":"object","properties":{"warnings":{"type":"object","description":"An array of transport warnings that occured during sending the notifications."}}},"FolderSharingNotificationResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/FolderSharingNotificationData"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"FolderRestoreResponse":{"type":"object","properties":{"folder":{"type":"string","description":"Folder ID"},"path":{"type":"array","description":"The folder path of the restored folder down to root folder.","items":{"$ref":"#/components/schemas/FolderPathData"}}}},"FolderPathData":{"type":"object","properties":{"id":{"type":"string","description":"The folder id"},"title":{"type":"string","description":"The folder title"}}},"FolderCheckLimitsData":{"type":"object","properties":{"files":{"type":"array","description":"An array of files","items":{"$ref":"#/components/schemas/FolderCheckLimitsFiles"}}}},"FolderCheckLimitsFiles":{"type":"object","properties":{"size":{"type":"integer","format":"int64","description":"The size of the file to check  in bytes."},"name":{"type":"string","description":"The name of the file to check."}}},"FolderCheckLimitsResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/FolderCheckLimitsResponseData"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"FolderCheckLimitsResponseData":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/components/schemas/FolderCheckLimitsResponseErrorData"}}}},"FolderCheckLimitsResponseErrorData":{"type":"object","properties":{"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"TasksResponse":{"type":"object","properties":{"data":{"type":"object","description":"Array of tasks. Each task is described as an array itself."},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"TaskListElement":{"type":"object","required":["id","folder"],"properties":{"id":{"type":"string","description":"The object ID of the task."},"folder":{"type":"string","description":"The object ID of the related folder."}}},"TaskUpdatesResponse":{"type":"object","properties":{"data":{"type":"object","description":"Array of tasks."},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"TaskParticipant":{"type":"object","properties":{"id":{"type":"integer","description":"User ID."},"type":{"type":"integer","description":"Type of participant. <br>\n* 1 (user),<br>\n* 2 (user group),<br>\n* 3 (resource),<br>\n* 4 (resource group),<br>\n* 5 (external user)\n","enum":[1,2,3,4,5]},"mail":{"type":"string","description":"Mail address of an external participant."}}},"TaskUser":{"type":"object","properties":{"id":{"type":"integer","description":"User ID. Confirming for other users only works for appointments and not for tasks."},"display_name":{"type":"string","description":"Displayable name of the participant."},"confirm":{"type":"integer","description":"* 0 (none),<br> \n* 1 (accepted),<br>  \n* 2 (declined),<br> \n* 3 (tentative)\n","enum":[0,1,2,3]},"confirmmessage":{"type":"string","description":"Confirm message of the participant."}}},"TaskConfirmation":{"type":"object","properties":{"type":{"type":"integer","description":"Type of participant.<br>\n* 0 (user),<br>\n* 5 (external user)\n","enum":[0,5]},"mail":{"type":"string","description":"Email address of external participant."},"display_name":{"type":"string","description":"Display name of external participant."},"status":{"type":"integer","description":"* 0 (none),<br> \n* 1 (accepted),<br>  \n* 2 (declined),<br>  \n* 3 (tentative)\n","enum":[0,1,2,3]},"message":{"type":"string","description":"Confirm message of the participant."}}},"TaskData":{"type":"object","properties":{"status":{"type":"integer","description":"Status of the task.<br>\n* 1 (not started),<br>\n* 2 (in progress),<br>\n* 3 (done),<br>\n* 4 (waiting),<br>\n* 5 (deferred)\n","enum":[1,2,3,4,5]},"percent_completed":{"type":"integer","minimum":0,"maximum":100,"description":"How much of the task is completed. An integer number between 0 and 100."},"actual_costs":{"type":"number","format":"double","description":"A monetary attribute to store actual costs of a task. Allowed values must be in the range -9999999999.99 and 9999999999.99."},"actual_duration":{"type":"string","description":"Actual duration of the task, e.g. in minutes."},"after_complete":{"type":"integer","format":"int64","description":"(DEPRECATED) Only present in AJAX interface. Value will not be stored on OX server."},"billing_information":{"type":"string","description":"Billing information of the task."},"target_costs":{"type":"number","format":"double","description":"A monetary attribute to store target costs of a task. Allowed values must be in the range -9999999999.99 and 9999999999.99."},"target_duration":{"type":"string","description":"Target duration of the task, e.g. in minutes."},"priority":{"type":"integer","description":"The priority of the task.<br>\n* 1 (low),<br>\n* 2 (medium),<br>\n* 3 (high)    \n","enum":[1,2,3]},"currency":{"type":"string","description":"The currency, e.g. \"EUR\"."},"trip_meter":{"type":"string","description":"The trip meter."},"companies":{"type":"string","description":"Companies."},"date_completed":{"type":"integer","format":"int64"},"start_time":{"type":"integer","format":"int64","description":"Inclusive start as Date for whole day tasks and Time for normal tasks."},"end_time":{"type":"integer","format":"int64","description":"Exclusive end as Date for whole day tasks and as Time for normal tasks."},"title":{"type":"string","description":"Short description."},"start_date":{"type":"integer","format":"int64","description":"(DEPRECATED) Inclusive start of the event as Date for tasks and whole day appointments and Time for normal appointments. For sequencies, this date must be part of the sequence, i. e. sequencies always start at this date. (deprecated for tasks since v7.6.1, replaced by start_time and full_time)."},"end_date":{"type":"integer","format":"int64","description":"(DEPRECATED) Exclusive end of the event as Date for tasks and whole day appointments and as Time for normal appointments. (deprecated for tasks since v7.6.1, replaced by end_time and full_time)."},"note":{"type":"string","description":"Long description."},"alarm":{"type":"integer","format":"int64","description":"Specifies when to notify the participants as the number of minutes before the start of the appointment (-1 for \"no alarm\"). For tasks, the Time value specifies the absolute time when the user should be notified."},"recurrence_type":{"type":"integer","description":"Specifies the type of the recurrence for a task sequence.<br>\n* 0 (none, single event),<br>\n* 1 (daily),<br>\n* 2 (weekly),<br>\n* 3 (monthly),<br>\n* 4 (yearly)\n","enum":[0,1,2,3,4]},"days":{"type":"integer","description":"Specifies which days of the week are part of a sequence. The value is a bitfield with bit 0 indicating sunday, bit 1 indicating monday and so on. May be present if recurrence_type > 1. If allowed but not present, the value defaults to 127 (all 7 days)."},"day_in_month":{"type":"integer","description":"Specifies which day of a month is part of the sequence. Counting starts with 1. If the field \"days\" is also present, only days selected by that field are counted. If the number is bigger than the number of available days, the last available day is selected. Present if and only if recurrence_type > 2."},"month":{"type":"integer","description":"Month of the year in yearly sequencies. 0 represents January, 1 represents February and so on. Present if and only if recurrence_type = 4."},"interval":{"type":"integer","description":"Specifies an integer multiplier to the interval specified by recurrence_type. Present if and only if recurrence_type > 0. Must be 1 if recurrence_type = 4."},"until":{"type":"integer","format":"int64","description":"Inclusive end date of a sequence. May be present only if recurrence_type > 0. The sequence has no end date if recurrence_type > 0 and this field is not present. Note: since this is a Date, the entire day after the midnight specified by the value is included."},"notification":{"type":"boolean","description":"If `true`, all participants are notified of any changes to this object. This flag is valid for the current change only, i. e. it is not stored in the database and is never sent by the server to the client."},"participants":{"type":"array","description":"Each element identifies a participant, user, group or booked resource.","items":{"$ref":"#/components/schemas/TaskParticipant"}},"users":{"type":"array","description":"Each element represents a participant. User groups are resolved and are represented by their members. Any user can occur only once.","items":{"$ref":"#/components/schemas/TaskUser"}},"occurrences":{"type":"integer","description":"Specifies how often a recurrence should appear. May be present only if recurrence_type > 0."},"uid":{"type":"string","description":"Can only be written when the object is created. Internal and external globally unique identifier of the appointment or task. Is used to recognize appointments within iCal files. If this attribute is not written it contains an automatic generated UUID."},"organizer":{"type":"string","description":"Contains the email address of the appointment organizer which is not necessarily an internal user. **Not implemented for tasks**."},"sequence":{"type":"integer","description":"iCal sequence number. **Not implemented for tasks**. Must be incremented on update. Will be incremented by the server, if not set."},"confirmations":{"type":"array","description":"Each element represents a confirming participant. This can be internal and external user. Not implemented for tasks.","items":{"$ref":"#/components/schemas/TaskConfirmation"}},"organizerId":{"type":"integer","description":"Contains the userId of the appointment organizer if it is an internal user. **Not implemented for tasks**.","readOnly":true},"principal":{"type":"string","description":"Contains the email address of the appointment principal which is not necessarily an internal user. **Not implemented for tasks**."},"principalId":{"type":"integer","description":"Contains the userIId of the appointment principal if it is an internal user. **Not implemented for tasks**.","readOnly":true},"full_time":{"type":"boolean","description":"`True` if the event is a whole day appointment or task, `false` otherwise."},"id":{"type":"string","description":"Object ID."},"created_by":{"type":"string","description":"User ID of the user who created this object.","readOnly":true},"modified_by":{"type":"string","description":"User ID of the user who last modified this object.","readOnly":true},"creation_date":{"type":"integer","format":"int64","description":"Date and time of creation.","readOnly":true},"last_modified":{"type":"integer","format":"int64","description":"Date and time of the last modification.","readOnly":true},"folder_id":{"type":"string","description":"Object ID of the parent folder."},"categories":{"type":"string","description":"String containing comma separated the categories. Order is preserved. Changing the order counts as modification of the object. Not present in folder objects."},"private_flag":{"type":"boolean","description":"Overrides folder permissions in shared private folders: When `true`, this object is not visible to anyone except the owner. Not present in folder objects."},"color_label":{"type":"integer","minimum":0,"maximum":10,"description":"Color number used by Outlook to label the object. The assignment of colors to numbers is arbitrary and specified by the client. The numbers are integer numbers between 0 and 10 (inclusive). Not present in folder objects."},"number_of_attachments":{"type":"integer","description":"Number of attachments."},"lastModifiedOfNewestAttachmentUTC":{"type":"integer","format":"int64","description":"Timestamp of the newest attachment written with UTC time zone."}}},"TaskResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TaskData"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"TaskUpdateData":{"type":"object","properties":{"id":{"type":"string","description":"ID of a newly created task."}}},"TaskUpdateResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TaskUpdateData"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"TaskDeletionsResponse":{"type":"object","properties":{"data":{"type":"array","description":"An array with object IDs of tasks which were modified after the specified timestamp and were therefore not deleted.","items":{"type":"string"}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"TaskConfirmationBody":{"type":"object","properties":{"confirmation":{"type":"integer","description":"* 0 (none),<br>\n* 1 (accepted),<br>\n* 2 (declined),<br>\n* 3 (tentative).<br>\n","enum":[0,1,2,3]},"confirmmessage":{"type":"string","description":"The confirmation message or comment."}}},"TaskSearchBody":{"type":"object","required":["pattern"],"properties":{"pattern":{"type":"string","description":"Search pattern to find tasks. In the pattern, the character \"*\" matches zero or more characters and the character \"?\" matches exactly one character. All other characters match only themselves."},"folder":{"type":"string","description":"Defines the folder to search for tasks in. If this is omitted in all task folders will be searched."},"start":{"type":"integer","format":"int64","description":"Inclusive start date for a time range the tasks should end in. If start is omitted end is ignored."},"end":{"type":"integer","format":"int64","description":"Exclusive end date for a time range the tasks should end in. If this parameter is omitted the time range has an open end."}}},"ContactsResponse":{"type":"object","properties":{"data":{"type":"object","description":"Array of contacts. Each contact is described as an array itself."},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"ContactListElement":{"type":"object","required":["id","folder"],"properties":{"id":{"type":"string","description":"The object ID of the contact."},"folder":{"type":"string","description":"The object ID of the related folder."}}},"ContactUpdatesResponse":{"type":"object","properties":{"data":{"type":"object","description":"Array of contacts."},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"DistributionListMember":{"type":"object","properties":{"id":{"type":"string","description":"Object ID of the member's contact if the member is an existing contact."},"folder_id":{"type":"string","description":"Parent folder ID of the member's contact if the member is an existing contact."},"display_name":{"type":"string","description":"The display name."},"sort_name":{"type":"string","description":"A name which can be used for sorting."},"mail":{"type":"string","description":"The email address (optional if you are referring to an internal contact)."},"mail_field":{"type":"integer","description":"Which email field of an existing contact (if any) is used for the mail field.<br> * 0 (independent contact),<br> * 1 (default email field, email1),<br> * 2 (second email field, email2),<br> * 3 (third email field, email3)","enum":[0,1,2,3]}}},"ContactData":{"allOf":[{"type":"object","properties":{"id":{"type":"string","description":"Object ID."},"created_by":{"type":"string","description":"User ID of the user who created this object.","readOnly":true},"modified_by":{"type":"string","description":"User ID of the user who last modified this object.","readOnly":true},"creation_date":{"type":"integer","format":"int64","description":"Date and time of creation.","readOnly":true},"last_modified":{"type":"integer","format":"int64","description":"Date and time of the last modification.","readOnly":true},"folder_id":{"type":"string","description":"Object ID of the parent folder."},"categories":{"type":"string","description":"String containing comma separated the categories. Order is preserved. Changing the order counts as modification of the object. Not present in folder objects."},"private_flag":{"type":"boolean","description":"Overrides folder permissions in shared private folders: When `true`, this object is not visible to anyone except the owner. Not present in folder objects."},"color_label":{"type":"integer","minimum":0,"maximum":10,"description":"Color number used by Outlook to label the object. The assignment of colors to numbers is arbitrary and specified by the client. The numbers are integer numbers between 0 and 10 (inclusive). Not present in folder objects."},"number_of_attachments":{"type":"integer","description":"Number of attachments."},"lastModifiedOfNewestAttachmentUTC":{"type":"integer","format":"int64","description":"Timestamp of the newest attachment written with UTC time zone."}}},{"type":"object","properties":{"uid":{"type":"string","description":"Can only be written when the object is created. Internal and external globally unique identifier of the contact. Is used to recognize contacts within vCard files. If this attribute is not written it contains an automatic generated UUID."},"display_name":{"type":"string","description":"The display name."},"first_name":{"type":"string","description":"The given name."},"last_name":{"type":"string","description":"The sur name."},"second_name":{"type":"string","description":"The middle name."},"suffix":{"type":"string","description":"The suffix."},"title":{"type":"string","description":"The title."},"street_home":{"type":"string","description":"The street of the home address."},"postal_code_home":{"type":"string","description":"The postal code of the home address."},"city_home":{"type":"string","description":"The city of the home address."},"state_home":{"type":"string","description":"The state of the home address."},"country_home":{"type":"string","description":"The country of the home address."},"birthday":{"type":"integer","format":"int64","description":"The date of birth."},"marital_status":{"type":"string","description":"The marital status."},"number_of_children":{"type":"string","description":"The number of children."},"profession":{"type":"string","description":"The profession."},"nickname":{"type":"string","description":"The nickname."},"spouse_name":{"type":"string","description":"The name of the spouse."},"anniversary":{"type":"integer","format":"int64","description":"The anniversary."},"note":{"type":"string","description":"A note."},"department":{"type":"string","description":"The department."},"position":{"type":"string","description":"The position."},"employee_type":{"type":"string","description":"The type of the employee."},"room_number":{"type":"string","description":"The room number."},"street_business":{"type":"string","description":"The street of the business address."},"postal_code_business":{"type":"string","description":"The postal code of the business address."},"city_business":{"type":"string","description":"The city of the business address."},"state_business":{"type":"string","description":"The state of the business address."},"country_business":{"type":"string","description":"The country of the business address."},"user_id":{"type":"integer","description":"The internal user id.","readOnly":true},"number_of_employees":{"type":"string","description":"The number of employees."},"sales_volume":{"type":"string","description":"The sales volume."},"tax_id":{"type":"string","description":"The tax id."},"commercial_register":{"type":"string","description":"The commercial register."},"branches":{"type":"string","description":"The branches."},"business_category":{"type":"string","description":"The business category."},"info":{"type":"string","description":"An information."},"manager_name":{"type":"string","description":"The manager's name."},"assistant_name":{"type":"string","description":"The assistant's name."},"street_other":{"type":"string","description":"The street of another address."},"postal_code_other":{"type":"string","description":"The postal code of another address."},"city_other":{"type":"string","description":"The city of another address."},"state_other":{"type":"string","description":"The state of another address."},"country_other":{"type":"string","description":"The country of another address."},"telephone_business1":{"type":"string","description":"The business telephone number 1."},"telephone_business2":{"type":"string","description":"The business telephone number 2."},"fax_business":{"type":"string","description":"The business fax number."},"telephone_callback":{"type":"string","description":"The callback telephone number."},"telephone_car":{"type":"string","description":"The car telephone number."},"telephone_company":{"type":"string","description":"The company telephone number."},"telephone_home1":{"type":"string","description":"The home telephone number 1."},"telephone_home2":{"type":"string","description":"The home telephone number 2."},"fax_home":{"type":"string","description":"The home fax number."},"cellular_telephone1":{"type":"string","description":"The cellular telephone number 1."},"cellular_telephone2":{"type":"string","description":"The cellular telephone number 2."},"telephone_other":{"type":"string","description":"The other telephone number."},"fax_other":{"type":"string","description":"The other fax number."},"email1":{"type":"string","description":"The email address 1."},"email2":{"type":"string","description":"The email address 2."},"email3":{"type":"string","description":"The email address 3."},"url":{"type":"string","description":"The url address or homepage."},"telephone_isdn":{"type":"string","description":"The ISDN telephone number."},"telephone_pager":{"type":"string","description":"The pager telephone number."},"telephone_primary":{"type":"string","description":"The primary telephone number."},"telephone_radio":{"type":"string","description":"The radio telephone number."},"telephone_telex":{"type":"string","description":"The telex telephone number."},"telephone_ttytdd":{"type":"string","description":"The TTY/TDD telephone number."},"instant_messenger1":{"type":"string","description":"The instant messenger address 1."},"instant_messenger2":{"type":"string","description":"The instant messenger address 2."},"telephone_ip":{"type":"string","description":"The IP telephone number."},"telephone_assistant":{"type":"string","description":"The assistant telephone number."},"company":{"type":"string","description":"The company name."},"image1":{"type":"string"},"image1_content_type":{"type":"string","description":"The content type of the image (like \"image/png\")."},"image1_url":{"type":"string","description":"The url to the image."},"number_of_images":{"type":"integer","description":"The number of images."},"image_last_modified":{"type":"integer","format":"int64","description":"The last modification of the image."},"distribution_list":{"type":"array","description":"If this contact is a distribution list, then this field is an array of objects. Each object describes a member of the list.","items":{"$ref":"#/components/schemas/DistributionListMember"}},"number_of_distribution_list":{"type":"integer","description":"The number of objects in the distribution list."},"mark_as_distributionlist":{"type":"boolean"},"file_as":{"type":"string","description":"The file name."},"default_address":{"type":"integer","description":"The default address."},"useCount":{"type":"integer","description":"In case of sorting purposes the column 609 is also available, which places global address book contacts at the beginning of the result. If 609 is used, the order direction (ASC, DESC) is ignored."},"yomiFirstName":{"type":"string","description":"Kana based representation for the First Name. Commonly used in japanese environments for searchin/sorting issues."},"yomiLastName":{"type":"string","description":"Kana based representation for the Last Name. Commonly used in japanese environments for searchin/sorting issues."},"yomiCompany":{"type":"string","description":"Kana based representation for the Company. Commonly used in japanese environments for searchin/sorting issues."},"addressHome":{"type":"string","description":"Support for Outlook 'home' address field."},"addressBusiness":{"type":"string","description":"Support for Outlook 'business' address field."},"addressOther":{"type":"string","description":"Support for Outlook 'other' address field."},"userfield01":{"type":"string","description":"Dynamic Field 1."},"userfield02":{"type":"string","description":"Dynamic Field 2."},"userfield03":{"type":"string","description":"Dynamic Field 3."},"userfield04":{"type":"string","description":"Dynamic Field 4."},"userfield05":{"type":"string","description":"Dynamic Field 5."},"userfield06":{"type":"string","description":"Dynamic Field 6."},"userfield07":{"type":"string","description":"Dynamic Field 7."},"userfield08":{"type":"string","description":"Dynamic Field 8."},"userfield09":{"type":"string","description":"Dynamic Field 9."},"userfield10":{"type":"string","description":"Dynamic Field 10."},"userfield11":{"type":"string","description":"Dynamic Field 11."},"userfield12":{"type":"string","description":"Dynamic Field 12."},"userfield13":{"type":"string","description":"Dynamic Field 13."},"userfield14":{"type":"string","description":"Dynamic Field 14."},"userfield15":{"type":"string","description":"Dynamic Field 15."},"userfield16":{"type":"string","description":"Dynamic Field 16."},"userfield17":{"type":"string","description":"Dynamic Field 17."},"userfield18":{"type":"string","description":"Dynamic Field 18."},"userfield19":{"type":"string","description":"Dynamic Field 19."},"userfield20":{"type":"string","description":"Dynamic Field 20."}}}]},"ContactDataWithInternalId":{"allOf":[{"type":"object","properties":{"contact_id":{"type":"integer","format":"int32","description":"The id of the contact"},"internal_userid":{"type":"integer","format":"int32","description":"The internal user id"},"uid":{"type":"string","description":"Can only be written when the object is created. Internal and external globally unique identifier of the contact. Is used to recognize contacts within vCard files. If this attribute is not written it contains an automatic generated UUID."},"display_name":{"type":"string","description":"The display name."},"first_name":{"type":"string","description":"The given name."},"last_name":{"type":"string","description":"The sur name."},"second_name":{"type":"string","description":"The middle name."},"suffix":{"type":"string","description":"The suffix."},"title":{"type":"string","description":"The title."},"street_home":{"type":"string","description":"The street of the home address."},"postal_code_home":{"type":"string","description":"The postal code of the home address."},"city_home":{"type":"string","description":"The city of the home address."},"state_home":{"type":"string","description":"The state of the home address."},"country_home":{"type":"string","description":"The country of the home address."},"birthday":{"type":"integer","format":"int64","description":"The date of birth."},"marital_status":{"type":"string","description":"The marital status."},"number_of_children":{"type":"string","description":"The number of children."},"profession":{"type":"string","description":"The profession."},"nickname":{"type":"string","description":"The nickname."},"spouse_name":{"type":"string","description":"The name of the spouse."},"anniversary":{"type":"integer","format":"int64","description":"The anniversary."},"note":{"type":"string","description":"A note."},"department":{"type":"string","description":"The department."},"position":{"type":"string","description":"The position."},"employee_type":{"type":"string","description":"The type of the employee."},"room_number":{"type":"string","description":"The room number."},"street_business":{"type":"string","description":"The street of the business address."},"postal_code_business":{"type":"string","description":"The postal code of the business address."},"city_business":{"type":"string","description":"The city of the business address."},"state_business":{"type":"string","description":"The state of the business address."},"country_business":{"type":"string","description":"The country of the business address."},"user_id":{"type":"integer","description":"The internal user id.","readOnly":true},"number_of_employees":{"type":"string","description":"The number of employees."},"sales_volume":{"type":"string","description":"The sales volume."},"tax_id":{"type":"string","description":"The tax id."},"commercial_register":{"type":"string","description":"The commercial register."},"branches":{"type":"string","description":"The branches."},"business_category":{"type":"string","description":"The business category."},"info":{"type":"string","description":"An information."},"manager_name":{"type":"string","description":"The manager's name."},"assistant_name":{"type":"string","description":"The assistant's name."},"street_other":{"type":"string","description":"The street of another address."},"postal_code_other":{"type":"string","description":"The postal code of another address."},"city_other":{"type":"string","description":"The city of another address."},"state_other":{"type":"string","description":"The state of another address."},"country_other":{"type":"string","description":"The country of another address."},"telephone_business1":{"type":"string","description":"The business telephone number 1."},"telephone_business2":{"type":"string","description":"The business telephone number 2."},"fax_business":{"type":"string","description":"The business fax number."},"telephone_callback":{"type":"string","description":"The callback telephone number."},"telephone_car":{"type":"string","description":"The car telephone number."},"telephone_company":{"type":"string","description":"The company telephone number."},"telephone_home1":{"type":"string","description":"The home telephone number 1."},"telephone_home2":{"type":"string","description":"The home telephone number 2."},"fax_home":{"type":"string","description":"The home fax number."},"cellular_telephone1":{"type":"string","description":"The cellular telephone number 1."},"cellular_telephone2":{"type":"string","description":"The cellular telephone number 2."},"telephone_other":{"type":"string","description":"The other telephone number."},"fax_other":{"type":"string","description":"The other fax number."},"email1":{"type":"string","description":"The email address 1."},"email2":{"type":"string","description":"The email address 2."},"email3":{"type":"string","description":"The email address 3."},"url":{"type":"string","description":"The url address or homepage."},"telephone_isdn":{"type":"string","description":"The ISDN telephone number."},"telephone_pager":{"type":"string","description":"The pager telephone number."},"telephone_primary":{"type":"string","description":"The primary telephone number."},"telephone_radio":{"type":"string","description":"The radio telephone number."},"telephone_telex":{"type":"string","description":"The telex telephone number."},"telephone_ttytdd":{"type":"string","description":"The TTY/TDD telephone number."},"instant_messenger1":{"type":"string","description":"The instant messenger address 1."},"instant_messenger2":{"type":"string","description":"The instant messenger address 2."},"telephone_ip":{"type":"string","description":"The IP telephone number."},"telephone_assistant":{"type":"string","description":"The assistant telephone number."},"company":{"type":"string","description":"The company name."},"image1":{"type":"string"},"image1_content_type":{"type":"string","description":"The content type of the image (like \"image/png\")."},"image1_url":{"type":"string","description":"The url to the image."},"number_of_images":{"type":"integer","description":"The number of images."},"image_last_modified":{"type":"integer","format":"int64","description":"The last modification of the image."},"distribution_list":{"type":"array","description":"If this contact is a distribution list, then this field is an array of objects. Each object describes a member of the list.","items":{"$ref":"#/components/schemas/DistributionListMember"}},"number_of_distribution_list":{"type":"integer","description":"The number of objects in the distribution list."},"mark_as_distributionlist":{"type":"boolean"},"file_as":{"type":"string","description":"The file name."},"default_address":{"type":"integer","description":"The default address."},"useCount":{"type":"integer","description":"In case of sorting purposes the column 609 is also available, which places global address book contacts at the beginning of the result. If 609 is used, the order direction (ASC, DESC) is ignored."},"yomiFirstName":{"type":"string","description":"Kana based representation for the First Name. Commonly used in japanese environments for searchin/sorting issues."},"yomiLastName":{"type":"string","description":"Kana based representation for the Last Name. Commonly used in japanese environments for searchin/sorting issues."},"yomiCompany":{"type":"string","description":"Kana based representation for the Company. Commonly used in japanese environments for searchin/sorting issues."},"addressHome":{"type":"string","description":"Support for Outlook 'home' address field."},"addressBusiness":{"type":"string","description":"Support for Outlook 'business' address field."},"addressOther":{"type":"string","description":"Support for Outlook 'other' address field."},"userfield01":{"type":"string","description":"Dynamic Field 1."},"userfield02":{"type":"string","description":"Dynamic Field 2."},"userfield03":{"type":"string","description":"Dynamic Field 3."},"userfield04":{"type":"string","description":"Dynamic Field 4."},"userfield05":{"type":"string","description":"Dynamic Field 5."},"userfield06":{"type":"string","description":"Dynamic Field 6."},"userfield07":{"type":"string","description":"Dynamic Field 7."},"userfield08":{"type":"string","description":"Dynamic Field 8."},"userfield09":{"type":"string","description":"Dynamic Field 9."},"userfield10":{"type":"string","description":"Dynamic Field 10."},"userfield11":{"type":"string","description":"Dynamic Field 11."},"userfield12":{"type":"string","description":"Dynamic Field 12."},"userfield13":{"type":"string","description":"Dynamic Field 13."},"userfield14":{"type":"string","description":"Dynamic Field 14."},"userfield15":{"type":"string","description":"Dynamic Field 15."},"userfield16":{"type":"string","description":"Dynamic Field 16."},"userfield17":{"type":"string","description":"Dynamic Field 17."},"userfield18":{"type":"string","description":"Dynamic Field 18."},"userfield19":{"type":"string","description":"Dynamic Field 19."},"userfield20":{"type":"string","description":"Dynamic Field 20."}}},{"type":"object","properties":{"id":{"type":"string","description":"Object ID."},"created_by":{"type":"string","description":"User ID of the user who created this object.","readOnly":true},"modified_by":{"type":"string","description":"User ID of the user who last modified this object.","readOnly":true},"creation_date":{"type":"integer","format":"int64","description":"Date and time of creation.","readOnly":true},"last_modified":{"type":"integer","format":"int64","description":"Date and time of the last modification.","readOnly":true},"folder_id":{"type":"string","description":"Object ID of the parent folder."},"categories":{"type":"string","description":"String containing comma separated the categories. Order is preserved. Changing the order counts as modification of the object. Not present in folder objects."},"private_flag":{"type":"boolean","description":"Overrides folder permissions in shared private folders: When `true`, this object is not visible to anyone except the owner. Not present in folder objects."},"color_label":{"type":"integer","minimum":0,"maximum":10,"description":"Color number used by Outlook to label the object. The assignment of colors to numbers is arbitrary and specified by the client. The numbers are integer numbers between 0 and 10 (inclusive). Not present in folder objects."},"number_of_attachments":{"type":"integer","description":"Number of attachments."},"lastModifiedOfNewestAttachmentUTC":{"type":"integer","format":"int64","description":"Timestamp of the newest attachment written with UTC time zone."}}}]},"ContactResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ContactData"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"ContactUpdateData":{"type":"object","properties":{"id":{"type":"string","description":"ID of a newly created contact."}}},"ContactUpdateResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ContactUpdateData"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"ContactDeletionsResponse":{"type":"object","properties":{"data":{"type":"object"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"ContactSearchBody":{"type":"object","properties":{"pattern":{"type":"string","description":"Search pattern to find contacts. In the pattern, the character \"*\" matches zero or more characters and the character \"?\" matches exactly one character. All other characters match only themselves. Matching is performed against any substring of the field display_name."},"startletter":{"type":"boolean","description":"Search contacts with the given startletter. If this field is present, the pattern is matched against the contact field which is specified by the property \"contact_first_letter_field\" on the server (default: last name). Otherwise, the pattern is matched against the display name."},"folder":{"type":"array","description":"If a list of folder identifiers or at least a single folder identifier is given, only in that folders will be searched for contacts. \nThis paramenter is optional but searching in all contact folders that are viewable and where objects can be read in is more expensive on that database than searching in a dedicated number of them.\n","items":{"type":"integer"}},"exclude_folders":{"type":"array","description":"If a list of folder identifiers or at least a single folder identifier is given, those folders will not be searched for contacts.\n","items":{"type":"integer"}},"last_name":{"type":"string","description":"Searches contacts where the last name match with the given last name."},"first_name":{"type":"string","description":"Searches contacts where the first name match with the given first name."},"display_name":{"type":"string","description":"Searches contacts where the display name match with the given display name."},"email1":{"type":"string","description":"Searches contacts where the email1 address match with the given search pattern."},"email2":{"type":"string","description":"Searches contacts where the email2 address match with the given search pattern."},"email3":{"type":"string","description":"Searches contacts where the email3 address match with the given search pattern."},"company":{"type":"string","description":"Searches contacts where the company match with the given search pattern."},"categories":{"type":"string","description":"Searches contacts where the categories match with the given search pattern."},"orSearch":{"type":"boolean","description":"If set to `true`, a contact is returned if any specified pattern matches at the start of the corresponding field. Otherwise, a contact is returned if all specified patterns match any substring of the corresponding field."},"emailAutoComplete":{"type":"boolean","description":"If set to `true`, results are guaranteed to contain at least one email adress and the search is performed as if orSearch were set to `true`. The actual value of orSearch is ignored."},"exactMatch":{"type":"boolean","description":"If set to `true`, contacts are returned where the specified patterns match the corresponding fields exactly. Otherwise, a \"startsWith\" or \"substring\" comparison is used based on the \"orSearch\" parameter."}}},"AppointmentsResponse":{"type":"object","properties":{"data":{"type":"object","description":"Array of appointments. Each appointment is described as an array itself."},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"AppointmentInfoResponse":{"type":"object","properties":{"data":{"type":"array","description":"Array with elements that correspond with days in the time range, explaining whether a day has appointments or not.","items":{"type":"boolean"}}}},"AppointmentListElement":{"type":"object","required":["id","folder"],"properties":{"id":{"type":"string","description":"The object ID of the appointment."},"folder":{"type":"string","description":"The object ID of the related folder."},"recurrence_position":{"type":"integer","description":"1-based position of an individual appointment in a sequence."},"recurrence_date_position":{"type":"integer","format":"int64","description":"Date of an individual appointment in a sequence."}}},"AppointmentUpdatesResponse":{"type":"object","properties":{"data":{"type":"object","description":"Array of appointments."},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"AppointmentData":{"type":"object","properties":{"recurrence_id":{"type":"integer","description":"Object ID of the entire appointment sequence. Present on series and change exception appointments. Equals to object identifier on series appointment and is different to object identifier on change exceptions."},"recurrence_position":{"type":"integer","description":"1-based position of an individual appointment in a sequence. Present if and only if recurrence_type > 0."},"recurrence_date_position":{"type":"integer","format":"int64","description":"Date of an individual appointment in a sequence. Present if and only if recurrence_type > 0."},"change_exceptions":{"type":"array","description":"An array of Dates, representing all change exceptions of a sequence.","readOnly":true,"items":{"type":"integer","format":"int64"}},"delete_exceptions":{"type":"array","description":"An array of Dates, representing all delete exceptions of a sequence.","readOnly":true,"items":{"type":"integer","format":"int64"}},"location":{"type":"string","description":"The location of the appointment."},"shown_as":{"type":"integer","description":"Describes, how this appointment appears in availability queries.<br>\n* 1 (reserved),<br>\n* 2 (temporary),<br>\n* 3 (absent),<br>\n* 4 (free)\n","enum":[1,2,3,4]},"timezone":{"type":"string","description":"The timezone of the appointment."},"recurrence_start":{"type":"integer","format":"int64","description":"Start of a sequence without time."},"ignore_conflicts":{"type":"boolean","description":"Ignore soft conflicts for the new or modified appointment. This flag is valid for the current change only, i. e. it is not stored in the database and is never sent by the server to the client."},"title":{"type":"string","description":"Short description."},"start_date":{"type":"integer","format":"int64","description":"(DEPRECATED) Inclusive start of the event as Date for tasks and whole day appointments and Time for normal appointments. For sequencies, this date must be part of the sequence, i. e. sequencies always start at this date. (deprecated for tasks since v7.6.1, replaced by start_time and full_time)."},"end_date":{"type":"integer","format":"int64","description":"(DEPRECATED) Exclusive end of the event as Date for tasks and whole day appointments and as Time for normal appointments. (deprecated for tasks since v7.6.1, replaced by end_time and full_time)."},"note":{"type":"string","description":"Long description."},"alarm":{"type":"integer","format":"int64","description":"Specifies when to notify the participants as the number of minutes before the start of the appointment (-1 for \"no alarm\"). For tasks, the Time value specifies the absolute time when the user should be notified."},"recurrence_type":{"type":"integer","description":"Specifies the type of the recurrence for a task sequence.<br>\n* 0 (none, single event),<br>\n* 1 (daily),<br>\n* 2 (weekly),<br>\n* 3 (monthly),<br>\n* 4 (yearly)\n","enum":[0,1,2,3,4]},"days":{"type":"integer","description":"Specifies which days of the week are part of a sequence. The value is a bitfield with bit 0 indicating sunday, bit 1 indicating monday and so on. May be present if recurrence_type > 1. If allowed but not present, the value defaults to 127 (all 7 days)."},"day_in_month":{"type":"integer","description":"Specifies which day of a month is part of the sequence. Counting starts with 1. If the field \"days\" is also present, only days selected by that field are counted. If the number is bigger than the number of available days, the last available day is selected. Present if and only if recurrence_type > 2."},"month":{"type":"integer","description":"Month of the year in yearly sequencies. 0 represents January, 1 represents February and so on. Present if and only if recurrence_type = 4."},"interval":{"type":"integer","description":"Specifies an integer multiplier to the interval specified by recurrence_type. Present if and only if recurrence_type > 0. Must be 1 if recurrence_type = 4."},"until":{"type":"integer","format":"int64","description":"Inclusive end date of a sequence. May be present only if recurrence_type > 0. The sequence has no end date if recurrence_type > 0 and this field is not present. Note: since this is a Date, the entire day after the midnight specified by the value is included."},"notification":{"type":"boolean","description":"If `true`, all participants are notified of any changes to this object. This flag is valid for the current change only, i. e. it is not stored in the database and is never sent by the server to the client."},"participants":{"type":"array","description":"Each element identifies a participant, user, group or booked resource.","items":{"$ref":"#/components/schemas/TaskParticipant"}},"users":{"type":"array","description":"Each element represents a participant. User groups are resolved and are represented by their members. Any user can occur only once.","items":{"$ref":"#/components/schemas/TaskUser"}},"occurrences":{"type":"integer","description":"Specifies how often a recurrence should appear. May be present only if recurrence_type > 0."},"uid":{"type":"string","description":"Can only be written when the object is created. Internal and external globally unique identifier of the appointment or task. Is used to recognize appointments within iCal files. If this attribute is not written it contains an automatic generated UUID."},"organizer":{"type":"string","description":"Contains the email address of the appointment organizer which is not necessarily an internal user. **Not implemented for tasks**."},"sequence":{"type":"integer","description":"iCal sequence number. **Not implemented for tasks**. Must be incremented on update. Will be incremented by the server, if not set."},"confirmations":{"type":"array","description":"Each element represents a confirming participant. This can be internal and external user. Not implemented for tasks.","items":{"$ref":"#/components/schemas/TaskConfirmation"}},"organizerId":{"type":"integer","description":"Contains the userId of the appointment organizer if it is an internal user. **Not implemented for tasks**.","readOnly":true},"principal":{"type":"string","description":"Contains the email address of the appointment principal which is not necessarily an internal user. **Not implemented for tasks**."},"principalId":{"type":"integer","description":"Contains the userIId of the appointment principal if it is an internal user. **Not implemented for tasks**.","readOnly":true},"full_time":{"type":"boolean","description":"`True` if the event is a whole day appointment or task, `false` otherwise."},"id":{"type":"string","description":"Object ID."},"created_by":{"type":"string","description":"User ID of the user who created this object.","readOnly":true},"modified_by":{"type":"string","description":"User ID of the user who last modified this object.","readOnly":true},"creation_date":{"type":"integer","format":"int64","description":"Date and time of creation.","readOnly":true},"last_modified":{"type":"integer","format":"int64","description":"Date and time of the last modification.","readOnly":true},"folder_id":{"type":"string","description":"Object ID of the parent folder."},"categories":{"type":"string","description":"String containing comma separated the categories. Order is preserved. Changing the order counts as modification of the object. Not present in folder objects."},"private_flag":{"type":"boolean","description":"Overrides folder permissions in shared private folders: When `true`, this object is not visible to anyone except the owner. Not present in folder objects."},"color_label":{"type":"integer","minimum":0,"maximum":10,"description":"Color number used by Outlook to label the object. The assignment of colors to numbers is arbitrary and specified by the client. The numbers are integer numbers between 0 and 10 (inclusive). Not present in folder objects."},"number_of_attachments":{"type":"integer","description":"Number of attachments."},"lastModifiedOfNewestAttachmentUTC":{"type":"integer","format":"int64","description":"Timestamp of the newest attachment written with UTC time zone."}}},"AppointmentResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AppointmentData"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"AppointmentUpdateData":{"type":"object","properties":{"id":{"type":"string","description":"ID of the appointment."}}},"AppointmentUpdateResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AppointmentUpdateData"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"AppointmentCreationConflict":{"type":"object","properties":{"hard_conflicts":{"type":"boolean","description":"`true` if appointment represents a resource conflict."},"recurrence_id":{"type":"integer","description":"Object ID of the entire appointment sequence. Present on series and change exception appointments. Equals to object identifier on series appointment and is different to object identifier on change exceptions."},"recurrence_position":{"type":"integer","description":"1-based position of an individual appointment in a sequence. Present if and only if recurrence_type > 0."},"recurrence_date_position":{"type":"integer","format":"int64","description":"Date of an individual appointment in a sequence. Present if and only if recurrence_type > 0."},"change_exceptions":{"type":"array","description":"An array of Dates, representing all change exceptions of a sequence.","readOnly":true,"items":{"type":"integer","format":"int64"}},"delete_exceptions":{"type":"array","description":"An array of Dates, representing all delete exceptions of a sequence.","readOnly":true,"items":{"type":"integer","format":"int64"}},"location":{"type":"string","description":"The location of the appointment."},"shown_as":{"type":"integer","description":"Describes, how this appointment appears in availability queries.<br>\n* 1 (reserved),<br>\n* 2 (temporary),<br>\n* 3 (absent),<br>\n* 4 (free)\n","enum":[1,2,3,4]},"timezone":{"type":"string","description":"The timezone of the appointment."},"recurrence_start":{"type":"integer","format":"int64","description":"Start of a sequence without time."},"ignore_conflicts":{"type":"boolean","description":"Ignore soft conflicts for the new or modified appointment. This flag is valid for the current change only, i. e. it is not stored in the database and is never sent by the server to the client."},"title":{"type":"string","description":"Short description."},"start_date":{"type":"integer","format":"int64","description":"(DEPRECATED) Inclusive start of the event as Date for tasks and whole day appointments and Time for normal appointments. For sequencies, this date must be part of the sequence, i. e. sequencies always start at this date. (deprecated for tasks since v7.6.1, replaced by start_time and full_time)."},"end_date":{"type":"integer","format":"int64","description":"(DEPRECATED) Exclusive end of the event as Date for tasks and whole day appointments and as Time for normal appointments. (deprecated for tasks since v7.6.1, replaced by end_time and full_time)."},"note":{"type":"string","description":"Long description."},"alarm":{"type":"integer","format":"int64","description":"Specifies when to notify the participants as the number of minutes before the start of the appointment (-1 for \"no alarm\"). For tasks, the Time value specifies the absolute time when the user should be notified."},"recurrence_type":{"type":"integer","description":"Specifies the type of the recurrence for a task sequence.<br>\n* 0 (none, single event),<br>\n* 1 (daily),<br>\n* 2 (weekly),<br>\n* 3 (monthly),<br>\n* 4 (yearly)\n","enum":[0,1,2,3,4]},"days":{"type":"integer","description":"Specifies which days of the week are part of a sequence. The value is a bitfield with bit 0 indicating sunday, bit 1 indicating monday and so on. May be present if recurrence_type > 1. If allowed but not present, the value defaults to 127 (all 7 days)."},"day_in_month":{"type":"integer","description":"Specifies which day of a month is part of the sequence. Counting starts with 1. If the field \"days\" is also present, only days selected by that field are counted. If the number is bigger than the number of available days, the last available day is selected. Present if and only if recurrence_type > 2."},"month":{"type":"integer","description":"Month of the year in yearly sequencies. 0 represents January, 1 represents February and so on. Present if and only if recurrence_type = 4."},"interval":{"type":"integer","description":"Specifies an integer multiplier to the interval specified by recurrence_type. Present if and only if recurrence_type > 0. Must be 1 if recurrence_type = 4."},"until":{"type":"integer","format":"int64","description":"Inclusive end date of a sequence. May be present only if recurrence_type > 0. The sequence has no end date if recurrence_type > 0 and this field is not present. Note: since this is a Date, the entire day after the midnight specified by the value is included."},"notification":{"type":"boolean","description":"If `true`, all participants are notified of any changes to this object. This flag is valid for the current change only, i. e. it is not stored in the database and is never sent by the server to the client."},"participants":{"type":"array","description":"Each element identifies a participant, user, group or booked resource.","items":{"$ref":"#/components/schemas/TaskParticipant"}},"users":{"type":"array","description":"Each element represents a participant. User groups are resolved and are represented by their members. Any user can occur only once.","items":{"$ref":"#/components/schemas/TaskUser"}},"occurrences":{"type":"integer","description":"Specifies how often a recurrence should appear. May be present only if recurrence_type > 0."},"uid":{"type":"string","description":"Can only be written when the object is created. Internal and external globally unique identifier of the appointment or task. Is used to recognize appointments within iCal files. If this attribute is not written it contains an automatic generated UUID."},"organizer":{"type":"string","description":"Contains the email address of the appointment organizer which is not necessarily an internal user. **Not implemented for tasks**."},"sequence":{"type":"integer","description":"iCal sequence number. **Not implemented for tasks**. Must be incremented on update. Will be incremented by the server, if not set."},"confirmations":{"type":"array","description":"Each element represents a confirming participant. This can be internal and external user. Not implemented for tasks.","items":{"$ref":"#/components/schemas/TaskConfirmation"}},"organizerId":{"type":"integer","description":"Contains the userId of the appointment organizer if it is an internal user. **Not implemented for tasks**.","readOnly":true},"principal":{"type":"string","description":"Contains the email address of the appointment principal which is not necessarily an internal user. **Not implemented for tasks**."},"principalId":{"type":"integer","description":"Contains the userIId of the appointment principal if it is an internal user. **Not implemented for tasks**.","readOnly":true},"full_time":{"type":"boolean","description":"`True` if the event is a whole day appointment or task, `false` otherwise."},"id":{"type":"string","description":"Object ID."},"created_by":{"type":"string","description":"User ID of the user who created this object.","readOnly":true},"modified_by":{"type":"string","description":"User ID of the user who last modified this object.","readOnly":true},"creation_date":{"type":"integer","format":"int64","description":"Date and time of creation.","readOnly":true},"last_modified":{"type":"integer","format":"int64","description":"Date and time of the last modification.","readOnly":true},"folder_id":{"type":"string","description":"Object ID of the parent folder."},"categories":{"type":"string","description":"String containing comma separated the categories. Order is preserved. Changing the order counts as modification of the object. Not present in folder objects."},"private_flag":{"type":"boolean","description":"Overrides folder permissions in shared private folders: When `true`, this object is not visible to anyone except the owner. Not present in folder objects."},"color_label":{"type":"integer","minimum":0,"maximum":10,"description":"Color number used by Outlook to label the object. The assignment of colors to numbers is arbitrary and specified by the client. The numbers are integer numbers between 0 and 10 (inclusive). Not present in folder objects."},"number_of_attachments":{"type":"integer","description":"Number of attachments."},"lastModifiedOfNewestAttachmentUTC":{"type":"integer","format":"int64","description":"Timestamp of the newest attachment written with UTC time zone."}}},"AppointmentCreationData":{"type":"object","properties":{"id":{"type":"string","description":"ID of the appointment."},"conflicts":{"type":"array","description":"An array of appointments which cause conflicts.","items":{"$ref":"#/components/schemas/AppointmentCreationConflict"}}}},"AppointmentCreationResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AppointmentCreationData"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"AppointmentDeletionsElement":{"type":"object","required":["id","folder"],"properties":{"id":{"type":"string","description":"The object ID of the appointment."},"folder":{"type":"string","description":"The object ID of the related folder."},"pos":{"type":"integer","description":"Value of the field recurrence_position, if present in the appointment."}}},"AppointmentDeletionsResponse":{"type":"object","properties":{"data":{"type":"array","description":"An array with object IDs of appointments which were modified after the specified timestamp and were therefore not deleted.","items":{"$ref":"#/components/schemas/AppointmentDeletionsElement"}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"AppointmentConfirmationBody":{"type":"object","required":["confirmation","confirmmessage"],"properties":{"confirmation":{"type":"integer","description":"* 0 (none),<br>\n* 1 (accepted),<br>\n* 2 (declined),<br>\n* 3 (tentative)\n","enum":[0,1,2,3]},"confirmmessage":{"type":"string","description":"The confirmation message or comment."},"id":{"type":"integer","description":"User ID. Confirming for other users only works for appointments and not for tasks."}}},"AppointmentFreeBusyItem":{"type":"object","properties":{"full_time":{"type":"boolean","description":"True if the event is a whole day appointment or task, false otherwise."},"confirmations":{"type":"array","description":"Each element represents a confirming participant. This can be internal and external user. Not implemented for tasks.","items":{"$ref":"#/components/schemas/TaskConfirmation"}},"title":{"type":"string","description":"Short description."},"start_date":{"type":"integer","format":"int64","description":"(DEPRECATED) Inclusive start of the event as Date for tasks and whole day appointments and Time for normal appointments. For sequencies, this date must be part of the sequence, i. e. sequencies always start at this date. (deprecated for tasks since v7.6.1, replaced by start_time and full_time)."},"end_date":{"type":"integer","format":"int64","description":"(DEPRECATED) Exclusive end of the event as Date for tasks and whole day appointments and as Time for normal appointments. (deprecated for tasks since v7.6.1, replaced by end_time and full_time)."},"participants":{"type":"array","description":"Each element identifies a participant, user, group or booked resource.","items":{"$ref":"#/components/schemas/TaskParticipant"}},"recurrence_type":{"type":"integer","description":"Specifies the type of the recurrence for a task sequence.","enum":[0,1,2,3,4]},"shown_as":{"type":"integer","description":"Describes, how this appointment appears in availability queries.","enum":[1,2,3,4]},"id":{"type":"string","description":"Object ID."},"created_by":{"type":"string","description":"User ID of the user who created this object.","readOnly":true},"modified_by":{"type":"string","description":"User ID of the user who last modified this object.","readOnly":true},"creation_date":{"type":"integer","format":"int64","description":"Date and time of creation.","readOnly":true},"last_modified":{"type":"integer","format":"int64","description":"Date and time of the last modification.","readOnly":true},"folder_id":{"type":"string","description":"Object ID of the parent folder."},"categories":{"type":"string","description":"String containing comma separated the categories. Order is preserved. Changing the order counts as modification of the object. Not present in folder objects."},"private_flag":{"type":"boolean","description":"Overrides folder permissions in shared private folders: When `true`, this object is not visible to anyone except the owner. Not present in folder objects."},"color_label":{"type":"integer","minimum":0,"maximum":10,"description":"Color number used by Outlook to label the object. The assignment of colors to numbers is arbitrary and specified by the client. The numbers are integer numbers between 0 and 10 (inclusive). Not present in folder objects."},"number_of_attachments":{"type":"integer","description":"Number of attachments."},"lastModifiedOfNewestAttachmentUTC":{"type":"integer","format":"int64","description":"Timestamp of the newest attachment written with UTC time zone."}}},"AppointmentFreeBusyResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/AppointmentFreeBusyItem"}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"AppointmentSearchBody":{"type":"object","properties":{"pattern":{"type":"string","description":"Search pattern to find appointments. In the pattern, the character \"*\" matches zero or more characters and the character \"?\" matches exactly one character. All other characters match only themselves."},"startletter":{"type":"string","description":"Search appointments with the given starting letter."}}},"ChronosAttachment":{"type":"object","properties":{"filename":{"type":"string","description":"The name of the attachment file."},"fmtType":{"type":"string","description":"The format type of the attachment."},"size":{"type":"integer","format":"int64","description":"The size of the attachment in bytes."},"created":{"type":"integer","format":"int64","description":"The creation date."},"managedId":{"type":"integer","description":"The manage id of the attachment."},"uri":{"type":"string","description":"A uniform resource identifier to the attachment file."}}},"ChronosFolderBody":{"type":"object","properties":{"folders":{"type":"array","description":"The folder ids to query.","items":{"type":"string","title":"folderId","description":"The id of a folder to query."}}}},"EventId":{"type":"object","required":["id","folder"],"properties":{"folder":{"type":"string","description":"The identifier of the folder."},"id":{"type":"string","description":"The identifier of the event."},"recurrenceId":{"type":"string","description":"The recurrence id of this recurrence."},"recurrenceRange":{"type":"string","description":"The targeted range specified with the recurrence id."}}},"DateTimeData":{"type":"object","title":"DateTime","properties":{"value":{"type":"string","description":"A date-time value without timezone information as specified in rfc 5545 chapter 3.3.5. E.g. \"20170708T220000\""},"tzid":{"type":"string","description":"A timezone identifier. E.g. \"America/New_York\""}}},"Attendee":{"type":"object","properties":{"cuType":{"type":"string","description":"The attendee user type.","enum":["INDIVIDUAL","GROUP","RESOURCE","ROOM","UNKNOWN"]},"folder":{"type":"string","description":"The folder of the attendee."},"partStat":{"type":"string","description":"The participation status."},"role":{"type":"string","description":"The type of the attendee.\n<ul>\n  <li><code>CHAIR</code> - The chair of the calendar entity.</li>\n  <li><code>REQ-PARTICIPANT</code> - A participant whose participation is required.</li>\n  <li><code>OPT-PARTICIPANT</code> - A participant whose participation is optional.</li>\n  <li><code>NON-PARTICIPANT</code> - A participant who is copied for information purposes only.</li>\n</ul>\n","enum":["CHAIR","REQ-PARTICIPANT","OPT-PARTICIPANT","NON-PARTICIPANT"]},"comment":{"type":"string","description":"The comment of the attendee."},"rsvp":{"type":"boolean","description":"The rsvp expectation of the attendee."},"member":{"type":"array","description":"Each element represents the ID of a group or list in which the attendee is a member.","items":{"type":"string","description":"The ID of the group or list."}},"contact":{"type":"object","title":"contact","description":"In case the parameter 'extendedEntities' is set to 'true' and the entity is an internal user \nthen this field contains some of the contact data of this user.\n","properties":{"first_name":{"type":"string","description":"The first name of the attendee."},"last_name":{"type":"string","description":"The last name of the attendee."},"title":{"type":"string","description":"The title of the attendee."},"display_name":{"type":"string","description":"The display name of the attendee."},"image1_url":{"type":"string","description":"The url to the image of the attendee."}}},"resource":{"type":"object","title":"resource","description":"In case the parameter 'extendedEntities' is set to 'true' and the entity is a resource\nthen this field contains the data of this resource.\n","properties":{"id":{"type":"integer","description":"The resource ID."},"display_name":{"type":"string","description":"Display name of the resource."},"name":{"type":"string","description":"Internal name with character restrictions."},"mailaddress":{"type":"string","description":"Email address of the resource."},"availability":{"type":"boolean","description":"Can be false to mark the resource currently unavailable."},"description":{"type":"string","description":"The description of the resource."},"last_modified":{"type":"string","description":"Date and time of the last modification.","readOnly":true},"last_modified_utc":{"type":"string","description":"Timestamp of the last modification.","readOnly":true}}},"group":{"type":"object","title":"group","description":"In case the parameter 'extendedEntities' is set to 'true' and the entity is a group\nthen this field contains the data of this group.\n","properties":{"id":{"type":"integer","description":"The group ID."},"display_name":{"type":"string","description":"Display name of the group."},"name":{"type":"string","description":"Internal name with character restrictions."},"members":{"type":"array","description":"The array contains identifiers of users that are member of the group.","items":{"type":"integer"}},"last_modified_utc":{"type":"integer","format":"int64","description":"Timestamp of the last modification.","readOnly":true}}},"uri":{"type":"string","description":"The universal resource identifier of the user."},"cn":{"type":"string","description":"The common name of the user."},"email":{"type":"string","description":"The mail address of the user."},"entity":{"type":"integer","description":"The internal user identifier."}}},"Conference":{"type":"object","properties":{"id":{"type":"integer","format":"int32","description":"The internal identifier of the conference."},"uri":{"type":"string","description":"The URI to access the conference."},"label":{"type":"string","description":"The label used to convey additional details on the use of the URI."},"features":{"type":"array","description":"The features describing the key capabilities of the conference system.","items":{"type":"string","description":"A feature."}},"extendedParameters":{"type":"object","description":"Extended parameters of the conference.","properties":{"key":{"type":"string","description":"The name of the parameter"}},"additionalProperties":{"type":"string"}}}},"ExtendedPropertyParameter":{"type":"object","description":"Extended parameters of the conference.","properties":{"key":{"type":"string","description":"The name of the parameter"}},"additionalProperties":{"type":"string"}},"Alarm":{"type":"object","properties":{"uid":{"type":"string","description":"The uid of the alarm."},"id":{"type":"integer","format":"int32","description":"The id of the alarm."},"action":{"type":"string","description":"The action of the alarm."},"acknowledged":{"type":"integer","format":"int64","description":"The time of the acknowledgement."},"trigger":{"type":"object","title":"Trigger","description":"The trigger of the alarm.","properties":{"duration":{"type":"string","description":"The duration of the trigger relative to the related field. See rfc 5545 chapter 3.3.6. for more informations about durations."},"related":{"type":"string","description":"Defines whether the trigger is related to the startDate or the endDate.","default":"START","enum":["START","END"]},"dateTime":{"type":"string","description":"Defines an absolute date for the alarm. The value is a date-time value in utc timezone as specified in rfc 5545 chapter 3.3.5. E.g. \"20170708T220000Z\""}}},"attachments":{"type":"array","description":"An array of attachments.","items":{"$ref":"#/components/schemas/ChronosAttachment"}},"attendees":{"type":"array","description":"An array of attendees.","items":{"$ref":"#/components/schemas/Attendee"}},"summary":{"type":"string","description":"The summary of this alarm."},"description":{"type":"string","description":"The description of this alarm."},"extendedProperties":{"type":"object","additionalProperties":{"type":"object","properties":{"value":{"type":"object"},"parameters":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}}}}}}}},"CalendarUser":{"type":"object","properties":{"uri":{"type":"string","description":"The universal resource identifier of the user."},"cn":{"type":"string","description":"The common name of the user."},"email":{"type":"string","description":"The mail address of the user."},"entity":{"type":"integer","description":"The internal user identifier."}}},"EventData":{"type":"object","properties":{"startDate":{"$ref":"#/components/schemas/DateTimeData","description":"The starting date of the event."},"endDate":{"$ref":"#/components/schemas/DateTimeData","description":"The ending date of the event."},"created":{"type":"integer","format":"int64","description":"The creation time."},"timestamp":{"type":"integer","format":"int64","description":"The timestamp of the event.","readOnly":true},"categories":{"type":"array","description":"An array of categories.","items":{"type":"string","description":"A category."}},"filename":{"type":"string","description":"The filename of the event."},"uid":{"type":"string","description":"The universal identifier of the event."},"description":{"type":"string","description":"The event's description."},"attendees":{"type":"array","description":"The attendees of the event.","items":{"$ref":"#/components/schemas/Attendee"}},"alarms":{"type":"array","description":"The alarms of the event for the current user.","items":{"$ref":"#/components/schemas/Alarm"}},"lastModified":{"type":"integer","format":"int64","description":"The last modification time."},"modifiedBy":{"$ref":"#/components/schemas/CalendarUser","description":"The id of the user who lastly modified the event."},"summary":{"type":"string","description":"The summary of the event."},"sequence":{"type":"integer","description":"The sequence number of the event."},"id":{"type":"string","description":"The identifier of the event."},"class":{"type":"string","description":"The classification of the event."},"organizer":{"$ref":"#/components/schemas/CalendarUser","description":"The organizer of the event."},"transp":{"type":"string","description":"Defines whether the event is shown in the free-busy view.","enum":["OPAQUE","TRANSPARENT"]},"color":{"type":"string","description":"The color of the even as a css3 color definition."},"folder":{"type":"string","description":"The folder identifier."},"createdBy":{"$ref":"#/components/schemas/CalendarUser","description":"The creator of the event."},"changeExceptionDates":{"type":"array","description":"An array of changed recurrences.","items":{"type":"string","description":"The recurrence id of a changed recurrence. The values are either a utc date-time value (e.g. \"20170708T220000Z\"), a floating date-time \n(e.g. \"20170708T220000\"), a date (e.g. \"20170708\"), or a local time with timezone reference (e.g. \"Europe/Berlin:20170708T220000\"). See \nRFC 5545 chapter 3.3.5. for more information.\n"}},"deleteExceptionDates":{"type":"array","description":"An array of deleted recurrences.","items":{"type":"string","description":"The recurrence id of a deleted recurrence. The values are either a utc date-time value (e.g. \"20170708T220000Z\"), a floating date-time \n(e.g. \"20170708T220000\"), a date (e.g. \"20170708\"), or a local time with timezone reference (e.g. \"Europe/Berlin:20170708T220000\"). See \nRFC 5545 chapter 3.3.5. for more information.\n"}},"recurrenceId":{"type":"string","description":"The recurrence id of this recurrence. The value is either a utc date-time value (e.g. \"20170708T220000Z\"), a floating date-time (e.g. \"20170708T220000\"),\na date (e.g. \"20170708\"), or a local time with timezone reference (e.g. \"Europe/Berlin:20170708T220000\"). See RFC 5545 chapter 3.3.5. for more information.\n"},"calendarUser":{"$ref":"#/components/schemas/CalendarUser","description":"The user of this calendar."},"rrule":{"type":"string","description":"The recurrence rule according to rfc 5545 chapter 3.8.5.3."},"attachments":{"type":"array","description":"An array of attachments.","items":{"$ref":"#/components/schemas/ChronosAttachment"}},"extendedProperties":{"type":"object","additionalProperties":{"type":"object","properties":{"value":{"type":"object"},"parameters":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}}}}}},"geo":{"type":"object","title":"Geo","description":"The geolocation of the event.","properties":{"lat":{"type":"number","format":"double","description":"The latitude geographic coordinate."},"long":{"type":"number","format":"double","description":"The longitude geographic coordinate."}}},"attendeePrivileges":{"type":"string","description":"The privileges attendees have on an event."},"url":{"type":"string","description":"The uniform resource locator (URL) of the event."},"seriesId":{"type":"string","description":"The identifier of the event series."},"status":{"type":"string","description":"The status of the event."},"location":{"type":"string","description":"The location of the event."},"flags":{"type":"array","description":"Flags indicating certain aspects of an event, as described in [Event Flags](#event-flags).","items":{"type":"string","enum":["attachments","alarms","scheduled","organizer","organizer_on_behalf","attendee","attendee_on_behalf","private","confidential","transparent","event_tentative","event_confirmed","event_cancelled","needs_action","accepted","declined","tentative","delegated","series","overridden","first_occurrence","last_occurrence"],"description":"Event Flags:\n * `attachments` - The event contains at least one attachment. \n * `conferences` - The event contains at least one conference. \n * `alarms` - The calendar user has at least one alarm associated with the event.\n * `scheduled` - Event is a <i>group-scheduled</i> meeting with an organizer.\n * `organizer` - The calendar user is the <i>organizer<i> of the meeting. \n * `organizer_on_behalf` - The calendar user is the <i>organizer<i> of the meeting, and the current user acts on behalf of him.\n * `attendee` - The calendar user is <i>attendee<i> of the meeting.\n * `attendee_on_behalf` - The calendar user is <i>attendee<i> of the meeting, and the current user acts on behalf of him.\n * `private` - Event is classified <i>private</i>, so is invisible for others. \n * `confidential` - Event is classified as <i>confidential</i>, so only start and end time are visible for others.\n * `transparent` - Event is <i>transparent</i> for the calendar user, i.e. invisible to free/busy time searches.\n * `event_tentative` - Indicates that the event's overall status is <i>tentative</i>.\n * `event_confirmed` - Indicates that the event's overall status is <i>definite</i>.\n * `event_cancelled` - Indicates that the event's overall status is <i>cancelled</i>.\n * `needs_action` - The calendar user's participation status is <i>needs action</i>. \n * `accepted` - The calendar user's participation status is <i>accepted</i>.\n * `declined` - The calendar user's participation status is <i>declined</i>.\n * `tentative` - The calendar user's participation status is <i>tentative</i>.\n * `delegated` - The calendar user's participation status is <i>delegated</i>.\n * `series` - The event represents the <i>master</i> of a recurring event series, or an expanded (regular) occurrence of a series. \n * `overridden` - The event represents an exception / overridden instance of a recurring event series.\n * `first_occurrence` - The event represents the <i>first</i> occurrence of a recurring event series.\n * `last_occurrence` - The event represents the <i>last</i> occurrence of a recurring event series.\n"}},"relatedTo":{"type":"string","description":"The relationship between this and other events."},"conferences":{"type":"array","description":"The conferences of the event.","items":{"$ref":"#/components/schemas/Conference"}}}},"EventResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/EventData"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"EventsResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/EventData"}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"ChronosConflictDataRaw":{"type":"object","title":"Conflict","description":"A conflict.","properties":{"hard_conflict":{"type":"boolean","description":"Defines whether the conflict is a hard conflict or not."},"conflicting_attendees":{"type":"array","description":"An array of conflicting attendees.","items":{"$ref":"#/components/schemas/Attendee"}},"event":{"description":"The conflicting event.","$ref":"#/components/schemas/EventData"}}},"ChronosCalendarResultResponse":{"type":"object","properties":{"data":{"type":"object","title":"CalendarResult","properties":{"created":{"type":"array","description":"The created events.","items":{"$ref":"#/components/schemas/EventData"}},"updated":{"type":"array","description":"The updated events.","items":{"$ref":"#/components/schemas/EventData"}},"deleted":{"type":"array","description":"The deleted events.","items":{"$ref":"#/components/schemas/EventData"}},"conflicts":{"type":"array","description":"An array of conflicts.","items":{"$ref":"#/components/schemas/ChronosConflictDataRaw"}}}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"ChronosFreeBusyResponseData":{"type":"object","properties":{"attendee":{"$ref":"#/components/schemas/Attendee"},"freeBusyTime":{"type":"array","description":"The free-busy times of the attendee.","items":{"type":"object","title":"FreeBusyTime","description":"A free-busy time slot.","properties":{"startTime":{"type":"integer","format":"int64","description":"The start time of the free-busy timeslot."},"endTime":{"type":"integer","format":"int64","description":"The end time of the free-busy timeslot."},"fbType":{"type":"string","description":"The type of the free-busy timeslot."},"event":{"type":"object","title":"Event","description":"The event this timeslot belongs to if known.","properties":{"startDate":{"$ref":"#/components/schemas/DateTimeData","description":"The starting date of the event."},"endDate":{"$ref":"#/components/schemas/DateTimeData","description":"The ending date of the event."},"created":{"type":"integer","format":"int64","description":"The creation time."},"timestamp":{"type":"integer","format":"int64","description":"The timestamp of the event.","readOnly":true},"categories":{"type":"array","description":"An array of categories.","items":{"type":"string","description":"A category."}},"filename":{"type":"string","description":"The filename of the event."},"uid":{"type":"string","description":"The universal identifier of the event."},"description":{"type":"string","description":"The event's description."},"attendees":{"type":"array","description":"The attendees of the event.","items":{"$ref":"#/components/schemas/Attendee"}},"alarms":{"type":"array","description":"The alarms of the event for the current user.","items":{"$ref":"#/components/schemas/Alarm"}},"lastModified":{"type":"integer","format":"int64","description":"The last modification time."},"modifiedBy":{"$ref":"#/components/schemas/CalendarUser","description":"The id of the user who lastly modified the event."},"summary":{"type":"string","description":"The summary of the event."},"sequence":{"type":"integer","description":"The sequence number of the event."},"id":{"type":"string","description":"The identifier of the event."},"class":{"type":"string","description":"The classification of the event."},"organizer":{"$ref":"#/components/schemas/CalendarUser","description":"The organizer of the event."},"transp":{"type":"string","description":"Defines whether the event is shown in the free-busy view.","enum":["OPAQUE","TRANSPARENT"]},"color":{"type":"string","description":"The color of the even as a css3 color definition."},"folder":{"type":"string","description":"The folder identifier."},"createdBy":{"$ref":"#/components/schemas/CalendarUser","description":"The creator of the event."},"changeExceptionDates":{"type":"array","description":"An array of changed recurrences.","items":{"type":"string","description":"The recurrence id of a changed recurrence. The values are either a utc date-time value (e.g. \"20170708T220000Z\"), a floating date-time \n(e.g. \"20170708T220000\"), a date (e.g. \"20170708\"), or a local time with timezone reference (e.g. \"Europe/Berlin:20170708T220000\"). See \nRFC 5545 chapter 3.3.5. for more information.\n"}},"deleteExceptionDates":{"type":"array","description":"An array of deleted recurrences.","items":{"type":"string","description":"The recurrence id of a deleted recurrence. The values are either a utc date-time value (e.g. \"20170708T220000Z\"), a floating date-time \n(e.g. \"20170708T220000\"), a date (e.g. \"20170708\"), or a local time with timezone reference (e.g. \"Europe/Berlin:20170708T220000\"). See \nRFC 5545 chapter 3.3.5. for more information.\n"}},"recurrenceId":{"type":"string","description":"The recurrence id of this recurrence. The value is either a utc date-time value (e.g. \"20170708T220000Z\"), a floating date-time (e.g. \"20170708T220000\"),\na date (e.g. \"20170708\"), or a local time with timezone reference (e.g. \"Europe/Berlin:20170708T220000\"). See RFC 5545 chapter 3.3.5. for more information.\n"},"calendarUser":{"$ref":"#/components/schemas/CalendarUser","description":"The user of this calendar."},"rrule":{"type":"string","description":"The recurrence rule according to rfc 5545 chapter 3.8.5.3."},"attachments":{"type":"array","description":"An array of attachments.","items":{"$ref":"#/components/schemas/ChronosAttachment"}},"extendedProperties":{"type":"object","additionalProperties":{"type":"object","properties":{"value":{"type":"object"},"parameters":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}}}}}},"geo":{"type":"object","title":"Geo","description":"The geolocation of the event.","properties":{"lat":{"type":"number","format":"double","description":"The latitude geographic coordinate."},"long":{"type":"number","format":"double","description":"The longitude geographic coordinate."}}},"attendeePrivileges":{"type":"string","description":"The privileges attendees have on an event."},"url":{"type":"string","description":"The uniform resource locator (URL) of the event."},"seriesId":{"type":"string","description":"The identifier of the event series."},"status":{"type":"string","description":"The status of the event."},"location":{"type":"string","description":"The location of the event."},"flags":{"type":"array","description":"Flags indicating certain aspects of an event, as described in [Event Flags](#event-flags).","items":{"type":"string","enum":["attachments","alarms","scheduled","organizer","organizer_on_behalf","attendee","attendee_on_behalf","private","confidential","transparent","event_tentative","event_confirmed","event_cancelled","needs_action","accepted","declined","tentative","delegated","series","overridden","first_occurrence","last_occurrence"],"description":"Event Flags:\n * `attachments` - The event contains at least one attachment. \n * `conferences` - The event contains at least one conference. \n * `alarms` - The calendar user has at least one alarm associated with the event.\n * `scheduled` - Event is a <i>group-scheduled</i> meeting with an organizer.\n * `organizer` - The calendar user is the <i>organizer<i> of the meeting. \n * `organizer_on_behalf` - The calendar user is the <i>organizer<i> of the meeting, and the current user acts on behalf of him.\n * `attendee` - The calendar user is <i>attendee<i> of the meeting.\n * `attendee_on_behalf` - The calendar user is <i>attendee<i> of the meeting, and the current user acts on behalf of him.\n * `private` - Event is classified <i>private</i>, so is invisible for others. \n * `confidential` - Event is classified as <i>confidential</i>, so only start and end time are visible for others.\n * `transparent` - Event is <i>transparent</i> for the calendar user, i.e. invisible to free/busy time searches.\n * `event_tentative` - Indicates that the event's overall status is <i>tentative</i>.\n * `event_confirmed` - Indicates that the event's overall status is <i>definite</i>.\n * `event_cancelled` - Indicates that the event's overall status is <i>cancelled</i>.\n * `needs_action` - The calendar user's participation status is <i>needs action</i>. \n * `accepted` - The calendar user's participation status is <i>accepted</i>.\n * `declined` - The calendar user's participation status is <i>declined</i>.\n * `tentative` - The calendar user's participation status is <i>tentative</i>.\n * `delegated` - The calendar user's participation status is <i>delegated</i>.\n * `series` - The event represents the <i>master</i> of a recurring event series, or an expanded (regular) occurrence of a series. \n * `overridden` - The event represents an exception / overridden instance of a recurring event series.\n * `first_occurrence` - The event represents the <i>first</i> occurrence of a recurring event series.\n * `last_occurrence` - The event represents the <i>last</i> occurrence of a recurring event series.\n"}},"relatedTo":{"type":"string","description":"The relationship between this and other events."},"conferences":{"type":"array","description":"The conferences of the event.","items":{"$ref":"#/components/schemas/Conference"}}}}}}},"warnings":{"type":"array","items":{"type":"object","title":"Warning","description":"A warning concerning the attendee. E.g. when the attendee couldn't be found.","properties":{"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."}}}}}},"ChronosFreeBusyResponse":{"type":"object","properties":{"data":{"type":"array","description":"An array of free-busy response data.","items":{"$ref":"#/components/schemas/ChronosFreeBusyResponseData"}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"ChronosErrorAwareCalendarResult":{"type":"object","title":"CalendarResult","properties":{"folderId":{"type":"string","description":"The folder id."},"id":{"type":"string","description":"The event id."},"recurrenceId":{"type":"string","description":"The recurrence id."},"error":{"type":"object","description":"In case an error occurs this field contains error relevant data.","title":"Error","properties":{"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"An array of error params.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides \nthe stack trace of associated Java exception represented as a JSON array.\n","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."}}},"created":{"type":"array","description":"The created events.","items":{"$ref":"#/components/schemas/EventData"}},"updated":{"type":"array","description":"The updated events.","items":{"$ref":"#/components/schemas/EventData"}},"deleted":{"type":"array","description":"The deleted events.","items":{"$ref":"#/components/schemas/EventData"}},"conflicts":{"type":"array","description":"An array of conflicts.","items":{"$ref":"#/components/schemas/ChronosConflictDataRaw"}}}},"ChronosMultipleCalendarResultResponse":{"type":"object","properties":{"data":{"type":"array","title":"CalendarResults","items":{"$ref":"#/components/schemas/ChronosErrorAwareCalendarResult"}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"ChronosUpdatesResponse":{"type":"object","properties":{"data":{"type":"object","title":"UpdatesResult","properties":{"newAndModified":{"type":"array","description":"The new and updated events.","items":{"$ref":"#/components/schemas/EventData"}},"deleted":{"type":"array","description":"The deleted events.","items":{"$ref":"#/components/schemas/EventData"}}}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"MultipleEventData":{"type":"object","properties":{"error":{"type":"object","properties":{"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"folder":{"type":"string"},"events":{"type":"array","items":{"$ref":"#/components/schemas/EventData"}},"timestamp":{"type":"integer","format":"int64","description":"The timestamp of the event.","readOnly":true}}},"MultipleFolderEventsResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/MultipleEventData"}}}},"AlarmTriggerResponse":{"type":"object","properties":{"data":{"type":"array","description":"An array of alarm trigger objects","items":{"type":"object","title":"AlarmTrigger","properties":{"action":{"type":"string","description":"The action of the alarm. E.g. \"DISPLAY\"","readOnly":true},"account":{"type":"integer","description":"The id of the calendar account","readOnly":true},"folder":{"type":"string","description":"The folder identifier.","readOnly":true},"time":{"type":"string","description":"The trigger time of the alarm as a utc date-time value as specified in rfc 5545 chapter 3.3.5. E.g. \"20170708T220000Z\".","readOnly":true},"eventId":{"type":"string","description":"The identifier of the event.","readOnly":true},"recurrenceId":{"type":"string","description":"The identifier of the recurrence this alarm belongs to.","readOnly":true},"alarmId":{"type":"string","description":"The identifier of the alarm.","readOnly":true}}}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"AlarmTriggerData":{"type":"array","description":"An array of alarm trigger objects","items":{"type":"object","title":"AlarmTrigger","properties":{"action":{"type":"string","description":"The action of the alarm. E.g. \"DISPLAY\"","readOnly":true},"account":{"type":"integer","description":"The id of the calendar account","readOnly":true},"folder":{"type":"string","description":"The folder identifier.","readOnly":true},"time":{"type":"string","description":"The trigger time of the alarm as a utc date-time value as specified in rfc 5545 chapter 3.3.5. E.g. \"20170708T220000Z\".","readOnly":true},"eventId":{"type":"string","description":"The identifier of the event.","readOnly":true},"recurrenceId":{"type":"string","description":"The identifier of the recurrence this alarm belongs to.","readOnly":true},"alarmId":{"type":"string","description":"The identifier of the alarm.","readOnly":true}}}},"CalendarAccountProbeData":{"type":"object","properties":{"com.openexchange.calendar.extendedProperties":{"$ref":"#/components/schemas/CalendarAccountProbeExtendedProperties"},"com.openexchange.calendar.config":{"$ref":"#/components/schemas/CalendarAccountProbeConfig"},"com.openexchange.calendar.provider":{"type":"string","description":"Denotes the identifier of the underlying calendar provider."},"title":{"type":"string","description":"The title of the calendar"}}},"CalendarAccountProbeResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CalendarAccountProbeData"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"AvailabilityData":{"type":"object","properties":{"availableTimes":{"type":"array","description":"The available blocks of the user.","items":{"$ref":"#/components/schemas/Available"}}}},"Available":{"type":"object","properties":{"id":{"type":"integer","description":"The identifier of the available block."},"user":{"type":"integer","description":"The user identifier of the available block."},"uid":{"type":"string","description":"The unique identifier of the available block."},"created":{"type":"integer","format":"int64","description":"The creation date."},"modified":{"type":"integer","format":"int64","description":"The last modification time."},"rrule":{"type":"string","description":"The recurrence rule according to rfc 5545 chapter 3.8.5.3."},"start":{"$ref":"#/components/schemas/DateTimeData","description":"The starting date of the available block."},"end":{"$ref":"#/components/schemas/DateTimeData","description":"The ending date of the available block."}}},"GetAvailabilityResponse":{"type":"object","properties":{"data":{"type":"array","description":"Array of Available blocks","items":{"$ref":"#/components/schemas/Available"}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"AnalyzeResponse":{"type":"object","properties":{"data":{"type":"array","title":"Analysis","description":"An analysis array.","items":{"type":"object","title":"Analysis","description":"A single analysis.","properties":{"actions":{"type":"array","description":"Possible actions to be performed based on this analysis.","items":{"type":"string","title":"Types","description":"The change type.","enum":["accept","decline","tentative","delegate","counter","accept_and_ignore_conflicts","delete","ignore","accept_and_replace","refresh","send_appointment","accept_party_crasher","update","declinecounter","create"]}},"annotations":{"type":"array","description":"Annotations to be displayed to the user.","items":{"type":"object","title":"Annotations","description":"An array of annotations.","properties":{"message":{"type":"string","description":"A string describing the current situation"},"event":{"type":"array","description":"Additional events, set e.g. if an new exception is created but master can't be found.","items":{"type":"object","properties":{"startDate":{"$ref":"#/components/schemas/DateTimeData","description":"The starting date of the event."},"endDate":{"$ref":"#/components/schemas/DateTimeData","description":"The ending date of the event."},"created":{"type":"integer","format":"int64","description":"The creation time."},"timestamp":{"type":"integer","format":"int64","description":"The timestamp of the event.","readOnly":true},"categories":{"type":"array","description":"An array of categories.","items":{"type":"string","description":"A category."}},"filename":{"type":"string","description":"The filename of the event."},"uid":{"type":"string","description":"The universal identifier of the event."},"description":{"type":"string","description":"The event's description."},"attendees":{"type":"array","description":"The attendees of the event.","items":{"$ref":"#/components/schemas/Attendee"}},"alarms":{"type":"array","description":"The alarms of the event for the current user.","items":{"$ref":"#/components/schemas/Alarm"}},"lastModified":{"type":"integer","format":"int64","description":"The last modification time."},"modifiedBy":{"$ref":"#/components/schemas/CalendarUser","description":"The id of the user who lastly modified the event."},"summary":{"type":"string","description":"The summary of the event."},"sequence":{"type":"integer","description":"The sequence number of the event."},"id":{"type":"string","description":"The identifier of the event."},"class":{"type":"string","description":"The classification of the event."},"organizer":{"$ref":"#/components/schemas/CalendarUser","description":"The organizer of the event."},"transp":{"type":"string","description":"Defines whether the event is shown in the free-busy view.","enum":["OPAQUE","TRANSPARENT"]},"color":{"type":"string","description":"The color of the even as a css3 color definition."},"folder":{"type":"string","description":"The folder identifier."},"createdBy":{"$ref":"#/components/schemas/CalendarUser","description":"The creator of the event."},"changeExceptionDates":{"type":"array","description":"An array of changed recurrences.","items":{"type":"string","description":"The recurrence id of a changed recurrence. The values are either a utc date-time value (e.g. \"20170708T220000Z\"), a floating date-time \n(e.g. \"20170708T220000\"), a date (e.g. \"20170708\"), or a local time with timezone reference (e.g. \"Europe/Berlin:20170708T220000\"). See \nRFC 5545 chapter 3.3.5. for more information.\n"}},"deleteExceptionDates":{"type":"array","description":"An array of deleted recurrences.","items":{"type":"string","description":"The recurrence id of a deleted recurrence. The values are either a utc date-time value (e.g. \"20170708T220000Z\"), a floating date-time \n(e.g. \"20170708T220000\"), a date (e.g. \"20170708\"), or a local time with timezone reference (e.g. \"Europe/Berlin:20170708T220000\"). See \nRFC 5545 chapter 3.3.5. for more information.\n"}},"recurrenceId":{"type":"string","description":"The recurrence id of this recurrence. The value is either a utc date-time value (e.g. \"20170708T220000Z\"), a floating date-time (e.g. \"20170708T220000\"),\na date (e.g. \"20170708\"), or a local time with timezone reference (e.g. \"Europe/Berlin:20170708T220000\"). See RFC 5545 chapter 3.3.5. for more information.\n"},"calendarUser":{"$ref":"#/components/schemas/CalendarUser","description":"The user of this calendar."},"rrule":{"type":"string","description":"The recurrence rule according to rfc 5545 chapter 3.8.5.3."},"attachments":{"type":"array","description":"An array of attachments.","items":{"$ref":"#/components/schemas/ChronosAttachment"}},"extendedProperties":{"type":"object","additionalProperties":{"type":"object","properties":{"value":{"type":"object"},"parameters":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}}}}}},"geo":{"type":"object","title":"Geo","description":"The geolocation of the event.","properties":{"lat":{"type":"number","format":"double","description":"The latitude geographic coordinate."},"long":{"type":"number","format":"double","description":"The longitude geographic coordinate."}}},"attendeePrivileges":{"type":"string","description":"The privileges attendees have on an event."},"url":{"type":"string","description":"The uniform resource locator (URL) of the event."},"seriesId":{"type":"string","description":"The identifier of the event series."},"status":{"type":"string","description":"The status of the event."},"location":{"type":"string","description":"The location of the event."},"flags":{"type":"array","description":"Flags indicating certain aspects of an event, as described in [Event Flags](#event-flags).","items":{"type":"string","enum":["attachments","alarms","scheduled","organizer","organizer_on_behalf","attendee","attendee_on_behalf","private","confidential","transparent","event_tentative","event_confirmed","event_cancelled","needs_action","accepted","declined","tentative","delegated","series","overridden","first_occurrence","last_occurrence"],"description":"Event Flags:\n * `attachments` - The event contains at least one attachment. \n * `conferences` - The event contains at least one conference. \n * `alarms` - The calendar user has at least one alarm associated with the event.\n * `scheduled` - Event is a <i>group-scheduled</i> meeting with an organizer.\n * `organizer` - The calendar user is the <i>organizer<i> of the meeting. \n * `organizer_on_behalf` - The calendar user is the <i>organizer<i> of the meeting, and the current user acts on behalf of him.\n * `attendee` - The calendar user is <i>attendee<i> of the meeting.\n * `attendee_on_behalf` - The calendar user is <i>attendee<i> of the meeting, and the current user acts on behalf of him.\n * `private` - Event is classified <i>private</i>, so is invisible for others. \n * `confidential` - Event is classified as <i>confidential</i>, so only start and end time are visible for others.\n * `transparent` - Event is <i>transparent</i> for the calendar user, i.e. invisible to free/busy time searches.\n * `event_tentative` - Indicates that the event's overall status is <i>tentative</i>.\n * `event_confirmed` - Indicates that the event's overall status is <i>definite</i>.\n * `event_cancelled` - Indicates that the event's overall status is <i>cancelled</i>.\n * `needs_action` - The calendar user's participation status is <i>needs action</i>. \n * `accepted` - The calendar user's participation status is <i>accepted</i>.\n * `declined` - The calendar user's participation status is <i>declined</i>.\n * `tentative` - The calendar user's participation status is <i>tentative</i>.\n * `delegated` - The calendar user's participation status is <i>delegated</i>.\n * `series` - The event represents the <i>master</i> of a recurring event series, or an expanded (regular) occurrence of a series. \n * `overridden` - The event represents an exception / overridden instance of a recurring event series.\n * `first_occurrence` - The event represents the <i>first</i> occurrence of a recurring event series.\n * `last_occurrence` - The event represents the <i>last</i> occurrence of a recurring event series.\n"}},"relatedTo":{"type":"string","description":"The relationship between this and other events."},"conferences":{"type":"array","description":"The conferences of the event.","items":{"$ref":"#/components/schemas/Conference"}}}}}}}},"changes":{"type":"array","title":"Changes","description":"An array of changes.","items":{"$ref":"#/components/schemas/AnalysisChange"}}}}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"AnalysisChange":{"type":"object","properties":{"introduction":{"type":"string","title":"Introduction","description":"An introduction for this change to be displayed to the user."},"type":{"type":"string","title":"Type","description":"The change type.","enum":["CREATE","UPDATE","DELETE","CREATE_DELETE_EXCEPTION"]},"exception":{"type":"boolean","title":"Exception","description":"A boolean idicating if this is about a series exception."},"newEvent":{"description":"The new event defined by the given ical.","type":"object","properties":{"startDate":{"$ref":"#/components/schemas/DateTimeData","description":"The starting date of the event."},"endDate":{"$ref":"#/components/schemas/DateTimeData","description":"The ending date of the event."},"created":{"type":"integer","format":"int64","description":"The creation time."},"timestamp":{"type":"integer","format":"int64","description":"The timestamp of the event.","readOnly":true},"categories":{"type":"array","description":"An array of categories.","items":{"type":"string","description":"A category."}},"filename":{"type":"string","description":"The filename of the event."},"uid":{"type":"string","description":"The universal identifier of the event."},"description":{"type":"string","description":"The event's description."},"attendees":{"type":"array","description":"The attendees of the event.","items":{"$ref":"#/components/schemas/Attendee"}},"alarms":{"type":"array","description":"The alarms of the event for the current user.","items":{"$ref":"#/components/schemas/Alarm"}},"lastModified":{"type":"integer","format":"int64","description":"The last modification time."},"modifiedBy":{"$ref":"#/components/schemas/CalendarUser","description":"The id of the user who lastly modified the event."},"summary":{"type":"string","description":"The summary of the event."},"sequence":{"type":"integer","description":"The sequence number of the event."},"id":{"type":"string","description":"The identifier of the event."},"class":{"type":"string","description":"The classification of the event."},"organizer":{"$ref":"#/components/schemas/CalendarUser","description":"The organizer of the event."},"transp":{"type":"string","description":"Defines whether the event is shown in the free-busy view.","enum":["OPAQUE","TRANSPARENT"]},"color":{"type":"string","description":"The color of the even as a css3 color definition."},"folder":{"type":"string","description":"The folder identifier."},"createdBy":{"$ref":"#/components/schemas/CalendarUser","description":"The creator of the event."},"changeExceptionDates":{"type":"array","description":"An array of changed recurrences.","items":{"type":"string","description":"The recurrence id of a changed recurrence. The values are either a utc date-time value (e.g. \"20170708T220000Z\"), a floating date-time \n(e.g. \"20170708T220000\"), a date (e.g. \"20170708\"), or a local time with timezone reference (e.g. \"Europe/Berlin:20170708T220000\"). See \nRFC 5545 chapter 3.3.5. for more information.\n"}},"deleteExceptionDates":{"type":"array","description":"An array of deleted recurrences.","items":{"type":"string","description":"The recurrence id of a deleted recurrence. The values are either a utc date-time value (e.g. \"20170708T220000Z\"), a floating date-time \n(e.g. \"20170708T220000\"), a date (e.g. \"20170708\"), or a local time with timezone reference (e.g. \"Europe/Berlin:20170708T220000\"). See \nRFC 5545 chapter 3.3.5. for more information.\n"}},"recurrenceId":{"type":"string","description":"The recurrence id of this recurrence. The value is either a utc date-time value (e.g. \"20170708T220000Z\"), a floating date-time (e.g. \"20170708T220000\"),\na date (e.g. \"20170708\"), or a local time with timezone reference (e.g. \"Europe/Berlin:20170708T220000\"). See RFC 5545 chapter 3.3.5. for more information.\n"},"calendarUser":{"$ref":"#/components/schemas/CalendarUser","description":"The user of this calendar."},"rrule":{"type":"string","description":"The recurrence rule according to rfc 5545 chapter 3.8.5.3."},"attachments":{"type":"array","description":"An array of attachments.","items":{"$ref":"#/components/schemas/ChronosAttachment"}},"extendedProperties":{"type":"object","additionalProperties":{"type":"object","properties":{"value":{"type":"object"},"parameters":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}}}}}},"geo":{"type":"object","title":"Geo","description":"The geolocation of the event.","properties":{"lat":{"type":"number","format":"double","description":"The latitude geographic coordinate."},"long":{"type":"number","format":"double","description":"The longitude geographic coordinate."}}},"attendeePrivileges":{"type":"string","description":"The privileges attendees have on an event."},"url":{"type":"string","description":"The uniform resource locator (URL) of the event."},"seriesId":{"type":"string","description":"The identifier of the event series."},"status":{"type":"string","description":"The status of the event."},"location":{"type":"string","description":"The location of the event."},"flags":{"type":"array","description":"Flags indicating certain aspects of an event, as described in [Event Flags](#event-flags).","items":{"type":"string","enum":["attachments","alarms","scheduled","organizer","organizer_on_behalf","attendee","attendee_on_behalf","private","confidential","transparent","event_tentative","event_confirmed","event_cancelled","needs_action","accepted","declined","tentative","delegated","series","overridden","first_occurrence","last_occurrence"],"description":"Event Flags:\n * `attachments` - The event contains at least one attachment. \n * `conferences` - The event contains at least one conference. \n * `alarms` - The calendar user has at least one alarm associated with the event.\n * `scheduled` - Event is a <i>group-scheduled</i> meeting with an organizer.\n * `organizer` - The calendar user is the <i>organizer<i> of the meeting. \n * `organizer_on_behalf` - The calendar user is the <i>organizer<i> of the meeting, and the current user acts on behalf of him.\n * `attendee` - The calendar user is <i>attendee<i> of the meeting.\n * `attendee_on_behalf` - The calendar user is <i>attendee<i> of the meeting, and the current user acts on behalf of him.\n * `private` - Event is classified <i>private</i>, so is invisible for others. \n * `confidential` - Event is classified as <i>confidential</i>, so only start and end time are visible for others.\n * `transparent` - Event is <i>transparent</i> for the calendar user, i.e. invisible to free/busy time searches.\n * `event_tentative` - Indicates that the event's overall status is <i>tentative</i>.\n * `event_confirmed` - Indicates that the event's overall status is <i>definite</i>.\n * `event_cancelled` - Indicates that the event's overall status is <i>cancelled</i>.\n * `needs_action` - The calendar user's participation status is <i>needs action</i>. \n * `accepted` - The calendar user's participation status is <i>accepted</i>.\n * `declined` - The calendar user's participation status is <i>declined</i>.\n * `tentative` - The calendar user's participation status is <i>tentative</i>.\n * `delegated` - The calendar user's participation status is <i>delegated</i>.\n * `series` - The event represents the <i>master</i> of a recurring event series, or an expanded (regular) occurrence of a series. \n * `overridden` - The event represents an exception / overridden instance of a recurring event series.\n * `first_occurrence` - The event represents the <i>first</i> occurrence of a recurring event series.\n * `last_occurrence` - The event represents the <i>last</i> occurrence of a recurring event series.\n"}},"relatedTo":{"type":"string","description":"The relationship between this and other events."},"conferences":{"type":"array","description":"The conferences of the event.","items":{"$ref":"#/components/schemas/Conference"}}}},"currentEvent":{"description":"The current event as it already exists in the system.","type":"object","properties":{"startDate":{"$ref":"#/components/schemas/DateTimeData","description":"The starting date of the event."},"endDate":{"$ref":"#/components/schemas/DateTimeData","description":"The ending date of the event."},"created":{"type":"integer","format":"int64","description":"The creation time."},"timestamp":{"type":"integer","format":"int64","description":"The timestamp of the event.","readOnly":true},"categories":{"type":"array","description":"An array of categories.","items":{"type":"string","description":"A category."}},"filename":{"type":"string","description":"The filename of the event."},"uid":{"type":"string","description":"The universal identifier of the event."},"description":{"type":"string","description":"The event's description."},"attendees":{"type":"array","description":"The attendees of the event.","items":{"$ref":"#/components/schemas/Attendee"}},"alarms":{"type":"array","description":"The alarms of the event for the current user.","items":{"$ref":"#/components/schemas/Alarm"}},"lastModified":{"type":"integer","format":"int64","description":"The last modification time."},"modifiedBy":{"$ref":"#/components/schemas/CalendarUser","description":"The id of the user who lastly modified the event."},"summary":{"type":"string","description":"The summary of the event."},"sequence":{"type":"integer","description":"The sequence number of the event."},"id":{"type":"string","description":"The identifier of the event."},"class":{"type":"string","description":"The classification of the event."},"organizer":{"$ref":"#/components/schemas/CalendarUser","description":"The organizer of the event."},"transp":{"type":"string","description":"Defines whether the event is shown in the free-busy view.","enum":["OPAQUE","TRANSPARENT"]},"color":{"type":"string","description":"The color of the even as a css3 color definition."},"folder":{"type":"string","description":"The folder identifier."},"createdBy":{"$ref":"#/components/schemas/CalendarUser","description":"The creator of the event."},"changeExceptionDates":{"type":"array","description":"An array of changed recurrences.","items":{"type":"string","description":"The recurrence id of a changed recurrence. The values are either a utc date-time value (e.g. \"20170708T220000Z\"), a floating date-time \n(e.g. \"20170708T220000\"), a date (e.g. \"20170708\"), or a local time with timezone reference (e.g. \"Europe/Berlin:20170708T220000\"). See \nRFC 5545 chapter 3.3.5. for more information.\n"}},"deleteExceptionDates":{"type":"array","description":"An array of deleted recurrences.","items":{"type":"string","description":"The recurrence id of a deleted recurrence. The values are either a utc date-time value (e.g. \"20170708T220000Z\"), a floating date-time \n(e.g. \"20170708T220000\"), a date (e.g. \"20170708\"), or a local time with timezone reference (e.g. \"Europe/Berlin:20170708T220000\"). See \nRFC 5545 chapter 3.3.5. for more information.\n"}},"recurrenceId":{"type":"string","description":"The recurrence id of this recurrence. The value is either a utc date-time value (e.g. \"20170708T220000Z\"), a floating date-time (e.g. \"20170708T220000\"),\na date (e.g. \"20170708\"), or a local time with timezone reference (e.g. \"Europe/Berlin:20170708T220000\"). See RFC 5545 chapter 3.3.5. for more information.\n"},"calendarUser":{"$ref":"#/components/schemas/CalendarUser","description":"The user of this calendar."},"rrule":{"type":"string","description":"The recurrence rule according to rfc 5545 chapter 3.8.5.3."},"attachments":{"type":"array","description":"An array of attachments.","items":{"$ref":"#/components/schemas/ChronosAttachment"}},"extendedProperties":{"type":"object","additionalProperties":{"type":"object","properties":{"value":{"type":"object"},"parameters":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}}}}}},"geo":{"type":"object","title":"Geo","description":"The geolocation of the event.","properties":{"lat":{"type":"number","format":"double","description":"The latitude geographic coordinate."},"long":{"type":"number","format":"double","description":"The longitude geographic coordinate."}}},"attendeePrivileges":{"type":"string","description":"The privileges attendees have on an event."},"url":{"type":"string","description":"The uniform resource locator (URL) of the event."},"seriesId":{"type":"string","description":"The identifier of the event series."},"status":{"type":"string","description":"The status of the event."},"location":{"type":"string","description":"The location of the event."},"flags":{"type":"array","description":"Flags indicating certain aspects of an event, as described in [Event Flags](#event-flags).","items":{"type":"string","enum":["attachments","alarms","scheduled","organizer","organizer_on_behalf","attendee","attendee_on_behalf","private","confidential","transparent","event_tentative","event_confirmed","event_cancelled","needs_action","accepted","declined","tentative","delegated","series","overridden","first_occurrence","last_occurrence"],"description":"Event Flags:\n * `attachments` - The event contains at least one attachment. \n * `conferences` - The event contains at least one conference. \n * `alarms` - The calendar user has at least one alarm associated with the event.\n * `scheduled` - Event is a <i>group-scheduled</i> meeting with an organizer.\n * `organizer` - The calendar user is the <i>organizer<i> of the meeting. \n * `organizer_on_behalf` - The calendar user is the <i>organizer<i> of the meeting, and the current user acts on behalf of him.\n * `attendee` - The calendar user is <i>attendee<i> of the meeting.\n * `attendee_on_behalf` - The calendar user is <i>attendee<i> of the meeting, and the current user acts on behalf of him.\n * `private` - Event is classified <i>private</i>, so is invisible for others. \n * `confidential` - Event is classified as <i>confidential</i>, so only start and end time are visible for others.\n * `transparent` - Event is <i>transparent</i> for the calendar user, i.e. invisible to free/busy time searches.\n * `event_tentative` - Indicates that the event's overall status is <i>tentative</i>.\n * `event_confirmed` - Indicates that the event's overall status is <i>definite</i>.\n * `event_cancelled` - Indicates that the event's overall status is <i>cancelled</i>.\n * `needs_action` - The calendar user's participation status is <i>needs action</i>. \n * `accepted` - The calendar user's participation status is <i>accepted</i>.\n * `declined` - The calendar user's participation status is <i>declined</i>.\n * `tentative` - The calendar user's participation status is <i>tentative</i>.\n * `delegated` - The calendar user's participation status is <i>delegated</i>.\n * `series` - The event represents the <i>master</i> of a recurring event series, or an expanded (regular) occurrence of a series. \n * `overridden` - The event represents an exception / overridden instance of a recurring event series.\n * `first_occurrence` - The event represents the <i>first</i> occurrence of a recurring event series.\n * `last_occurrence` - The event represents the <i>last</i> occurrence of a recurring event series.\n"}},"relatedTo":{"type":"string","description":"The relationship between this and other events."},"conferences":{"type":"array","description":"The conferences of the event.","items":{"$ref":"#/components/schemas/Conference"}}}},"masterEvent":{"description":"The master event in case this is an exception.","type":"object","properties":{"startDate":{"$ref":"#/components/schemas/DateTimeData","description":"The starting date of the event."},"endDate":{"$ref":"#/components/schemas/DateTimeData","description":"The ending date of the event."},"created":{"type":"integer","format":"int64","description":"The creation time."},"timestamp":{"type":"integer","format":"int64","description":"The timestamp of the event.","readOnly":true},"categories":{"type":"array","description":"An array of categories.","items":{"type":"string","description":"A category."}},"filename":{"type":"string","description":"The filename of the event."},"uid":{"type":"string","description":"The universal identifier of the event."},"description":{"type":"string","description":"The event's description."},"attendees":{"type":"array","description":"The attendees of the event.","items":{"$ref":"#/components/schemas/Attendee"}},"alarms":{"type":"array","description":"The alarms of the event for the current user.","items":{"$ref":"#/components/schemas/Alarm"}},"lastModified":{"type":"integer","format":"int64","description":"The last modification time."},"modifiedBy":{"$ref":"#/components/schemas/CalendarUser","description":"The id of the user who lastly modified the event."},"summary":{"type":"string","description":"The summary of the event."},"sequence":{"type":"integer","description":"The sequence number of the event."},"id":{"type":"string","description":"The identifier of the event."},"class":{"type":"string","description":"The classification of the event."},"organizer":{"$ref":"#/components/schemas/CalendarUser","description":"The organizer of the event."},"transp":{"type":"string","description":"Defines whether the event is shown in the free-busy view.","enum":["OPAQUE","TRANSPARENT"]},"color":{"type":"string","description":"The color of the even as a css3 color definition."},"folder":{"type":"string","description":"The folder identifier."},"createdBy":{"$ref":"#/components/schemas/CalendarUser","description":"The creator of the event."},"changeExceptionDates":{"type":"array","description":"An array of changed recurrences.","items":{"type":"string","description":"The recurrence id of a changed recurrence. The values are either a utc date-time value (e.g. \"20170708T220000Z\"), a floating date-time \n(e.g. \"20170708T220000\"), a date (e.g. \"20170708\"), or a local time with timezone reference (e.g. \"Europe/Berlin:20170708T220000\"). See \nRFC 5545 chapter 3.3.5. for more information.\n"}},"deleteExceptionDates":{"type":"array","description":"An array of deleted recurrences.","items":{"type":"string","description":"The recurrence id of a deleted recurrence. The values are either a utc date-time value (e.g. \"20170708T220000Z\"), a floating date-time \n(e.g. \"20170708T220000\"), a date (e.g. \"20170708\"), or a local time with timezone reference (e.g. \"Europe/Berlin:20170708T220000\"). See \nRFC 5545 chapter 3.3.5. for more information.\n"}},"recurrenceId":{"type":"string","description":"The recurrence id of this recurrence. The value is either a utc date-time value (e.g. \"20170708T220000Z\"), a floating date-time (e.g. \"20170708T220000\"),\na date (e.g. \"20170708\"), or a local time with timezone reference (e.g. \"Europe/Berlin:20170708T220000\"). See RFC 5545 chapter 3.3.5. for more information.\n"},"calendarUser":{"$ref":"#/components/schemas/CalendarUser","description":"The user of this calendar."},"rrule":{"type":"string","description":"The recurrence rule according to rfc 5545 chapter 3.8.5.3."},"attachments":{"type":"array","description":"An array of attachments.","items":{"$ref":"#/components/schemas/ChronosAttachment"}},"extendedProperties":{"type":"object","additionalProperties":{"type":"object","properties":{"value":{"type":"object"},"parameters":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}}}}}},"geo":{"type":"object","title":"Geo","description":"The geolocation of the event.","properties":{"lat":{"type":"number","format":"double","description":"The latitude geographic coordinate."},"long":{"type":"number","format":"double","description":"The longitude geographic coordinate."}}},"attendeePrivileges":{"type":"string","description":"The privileges attendees have on an event."},"url":{"type":"string","description":"The uniform resource locator (URL) of the event."},"seriesId":{"type":"string","description":"The identifier of the event series."},"status":{"type":"string","description":"The status of the event."},"location":{"type":"string","description":"The location of the event."},"flags":{"type":"array","description":"Flags indicating certain aspects of an event, as described in [Event Flags](#event-flags).","items":{"type":"string","enum":["attachments","alarms","scheduled","organizer","organizer_on_behalf","attendee","attendee_on_behalf","private","confidential","transparent","event_tentative","event_confirmed","event_cancelled","needs_action","accepted","declined","tentative","delegated","series","overridden","first_occurrence","last_occurrence"],"description":"Event Flags:\n * `attachments` - The event contains at least one attachment. \n * `conferences` - The event contains at least one conference. \n * `alarms` - The calendar user has at least one alarm associated with the event.\n * `scheduled` - Event is a <i>group-scheduled</i> meeting with an organizer.\n * `organizer` - The calendar user is the <i>organizer<i> of the meeting. \n * `organizer_on_behalf` - The calendar user is the <i>organizer<i> of the meeting, and the current user acts on behalf of him.\n * `attendee` - The calendar user is <i>attendee<i> of the meeting.\n * `attendee_on_behalf` - The calendar user is <i>attendee<i> of the meeting, and the current user acts on behalf of him.\n * `private` - Event is classified <i>private</i>, so is invisible for others. \n * `confidential` - Event is classified as <i>confidential</i>, so only start and end time are visible for others.\n * `transparent` - Event is <i>transparent</i> for the calendar user, i.e. invisible to free/busy time searches.\n * `event_tentative` - Indicates that the event's overall status is <i>tentative</i>.\n * `event_confirmed` - Indicates that the event's overall status is <i>definite</i>.\n * `event_cancelled` - Indicates that the event's overall status is <i>cancelled</i>.\n * `needs_action` - The calendar user's participation status is <i>needs action</i>. \n * `accepted` - The calendar user's participation status is <i>accepted</i>.\n * `declined` - The calendar user's participation status is <i>declined</i>.\n * `tentative` - The calendar user's participation status is <i>tentative</i>.\n * `delegated` - The calendar user's participation status is <i>delegated</i>.\n * `series` - The event represents the <i>master</i> of a recurring event series, or an expanded (regular) occurrence of a series. \n * `overridden` - The event represents an exception / overridden instance of a recurring event series.\n * `first_occurrence` - The event represents the <i>first</i> occurrence of a recurring event series.\n * `last_occurrence` - The event represents the <i>last</i> occurrence of a recurring event series.\n"}},"relatedTo":{"type":"string","description":"The relationship between this and other events."},"conferences":{"type":"array","description":"The conferences of the event.","items":{"$ref":"#/components/schemas/Conference"}}}},"deletedEvent":{"description":"The deleted event.","type":"object","properties":{"startDate":{"$ref":"#/components/schemas/DateTimeData","description":"The starting date of the event."},"endDate":{"$ref":"#/components/schemas/DateTimeData","description":"The ending date of the event."},"created":{"type":"integer","format":"int64","description":"The creation time."},"timestamp":{"type":"integer","format":"int64","description":"The timestamp of the event.","readOnly":true},"categories":{"type":"array","description":"An array of categories.","items":{"type":"string","description":"A category."}},"filename":{"type":"string","description":"The filename of the event."},"uid":{"type":"string","description":"The universal identifier of the event."},"description":{"type":"string","description":"The event's description."},"attendees":{"type":"array","description":"The attendees of the event.","items":{"$ref":"#/components/schemas/Attendee"}},"alarms":{"type":"array","description":"The alarms of the event for the current user.","items":{"$ref":"#/components/schemas/Alarm"}},"lastModified":{"type":"integer","format":"int64","description":"The last modification time."},"modifiedBy":{"$ref":"#/components/schemas/CalendarUser","description":"The id of the user who lastly modified the event."},"summary":{"type":"string","description":"The summary of the event."},"sequence":{"type":"integer","description":"The sequence number of the event."},"id":{"type":"string","description":"The identifier of the event."},"class":{"type":"string","description":"The classification of the event."},"organizer":{"$ref":"#/components/schemas/CalendarUser","description":"The organizer of the event."},"transp":{"type":"string","description":"Defines whether the event is shown in the free-busy view.","enum":["OPAQUE","TRANSPARENT"]},"color":{"type":"string","description":"The color of the even as a css3 color definition."},"folder":{"type":"string","description":"The folder identifier."},"createdBy":{"$ref":"#/components/schemas/CalendarUser","description":"The creator of the event."},"changeExceptionDates":{"type":"array","description":"An array of changed recurrences.","items":{"type":"string","description":"The recurrence id of a changed recurrence. The values are either a utc date-time value (e.g. \"20170708T220000Z\"), a floating date-time \n(e.g. \"20170708T220000\"), a date (e.g. \"20170708\"), or a local time with timezone reference (e.g. \"Europe/Berlin:20170708T220000\"). See \nRFC 5545 chapter 3.3.5. for more information.\n"}},"deleteExceptionDates":{"type":"array","description":"An array of deleted recurrences.","items":{"type":"string","description":"The recurrence id of a deleted recurrence. The values are either a utc date-time value (e.g. \"20170708T220000Z\"), a floating date-time \n(e.g. \"20170708T220000\"), a date (e.g. \"20170708\"), or a local time with timezone reference (e.g. \"Europe/Berlin:20170708T220000\"). See \nRFC 5545 chapter 3.3.5. for more information.\n"}},"recurrenceId":{"type":"string","description":"The recurrence id of this recurrence. The value is either a utc date-time value (e.g. \"20170708T220000Z\"), a floating date-time (e.g. \"20170708T220000\"),\na date (e.g. \"20170708\"), or a local time with timezone reference (e.g. \"Europe/Berlin:20170708T220000\"). See RFC 5545 chapter 3.3.5. for more information.\n"},"calendarUser":{"$ref":"#/components/schemas/CalendarUser","description":"The user of this calendar."},"rrule":{"type":"string","description":"The recurrence rule according to rfc 5545 chapter 3.8.5.3."},"attachments":{"type":"array","description":"An array of attachments.","items":{"$ref":"#/components/schemas/ChronosAttachment"}},"extendedProperties":{"type":"object","additionalProperties":{"type":"object","properties":{"value":{"type":"object"},"parameters":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}}}}}},"geo":{"type":"object","title":"Geo","description":"The geolocation of the event.","properties":{"lat":{"type":"number","format":"double","description":"The latitude geographic coordinate."},"long":{"type":"number","format":"double","description":"The longitude geographic coordinate."}}},"attendeePrivileges":{"type":"string","description":"The privileges attendees have on an event."},"url":{"type":"string","description":"The uniform resource locator (URL) of the event."},"seriesId":{"type":"string","description":"The identifier of the event series."},"status":{"type":"string","description":"The status of the event."},"location":{"type":"string","description":"The location of the event."},"flags":{"type":"array","description":"Flags indicating certain aspects of an event, as described in [Event Flags](#event-flags).","items":{"type":"string","enum":["attachments","alarms","scheduled","organizer","organizer_on_behalf","attendee","attendee_on_behalf","private","confidential","transparent","event_tentative","event_confirmed","event_cancelled","needs_action","accepted","declined","tentative","delegated","series","overridden","first_occurrence","last_occurrence"],"description":"Event Flags:\n * `attachments` - The event contains at least one attachment. \n * `conferences` - The event contains at least one conference. \n * `alarms` - The calendar user has at least one alarm associated with the event.\n * `scheduled` - Event is a <i>group-scheduled</i> meeting with an organizer.\n * `organizer` - The calendar user is the <i>organizer<i> of the meeting. \n * `organizer_on_behalf` - The calendar user is the <i>organizer<i> of the meeting, and the current user acts on behalf of him.\n * `attendee` - The calendar user is <i>attendee<i> of the meeting.\n * `attendee_on_behalf` - The calendar user is <i>attendee<i> of the meeting, and the current user acts on behalf of him.\n * `private` - Event is classified <i>private</i>, so is invisible for others. \n * `confidential` - Event is classified as <i>confidential</i>, so only start and end time are visible for others.\n * `transparent` - Event is <i>transparent</i> for the calendar user, i.e. invisible to free/busy time searches.\n * `event_tentative` - Indicates that the event's overall status is <i>tentative</i>.\n * `event_confirmed` - Indicates that the event's overall status is <i>definite</i>.\n * `event_cancelled` - Indicates that the event's overall status is <i>cancelled</i>.\n * `needs_action` - The calendar user's participation status is <i>needs action</i>. \n * `accepted` - The calendar user's participation status is <i>accepted</i>.\n * `declined` - The calendar user's participation status is <i>declined</i>.\n * `tentative` - The calendar user's participation status is <i>tentative</i>.\n * `delegated` - The calendar user's participation status is <i>delegated</i>.\n * `series` - The event represents the <i>master</i> of a recurring event series, or an expanded (regular) occurrence of a series. \n * `overridden` - The event represents an exception / overridden instance of a recurring event series.\n * `first_occurrence` - The event represents the <i>first</i> occurrence of a recurring event series.\n * `last_occurrence` - The event represents the <i>last</i> occurrence of a recurring event series.\n"}},"relatedTo":{"type":"string","description":"The relationship between this and other events."},"conferences":{"type":"array","description":"The conferences of the event.","items":{"$ref":"#/components/schemas/Conference"}}}},"conflicts":{"type":"array","title":"Exceptions","description":"The events that would conflict with this change.","items":{"type":"object","title":"Conflict","description":"A conflict.","properties":{"hard_conflict":{"type":"boolean","description":"Defines whether the conflict is a hard conflict or not."},"conflicting_attendees":{"type":"array","description":"An array of conflicting attendees.","items":{"$ref":"#/components/schemas/Attendee"}},"event":{"description":"The conflicting event.","$ref":"#/components/schemas/EventData"}}}},"diffDescription":{"type":"array","title":"Diff descriptions","description":"The human readable information describing the differences between the changed and the current event.","items":{"type":"string"}}}},"ActionResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/EventData"},"description":"The created or updated event."},"timestamp":{"type":"integer","format":"int64","description":"The timestamp of the event.","readOnly":true}}},"CountryData":{"type":"object","properties":{"country_id":{"type":"integer","description":"The country's unique identifier"},"name":{"type":"string","description":"The country's name"},"iso_3166":{"type":"string","description":"The country's ISO 3166 code"},"icon":{"type":"string","description":"An icon with the country's flag"},"icon_etag":{"type":"string","description":"The eTag for the country's icon"},"name_translation":{"type":"string","description":"The translated name of the country"},"translation_url":{"type":"string","description":"The translation translation URL"},"page_id":{"type":"integer","description":"The root page for the country"}}},"CountriesResponse":{"type":"object","properties":{"data":{"type":"array","description":"Array of countries","items":{"$ref":"#/components/schemas/CountryData"}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"LanguageData":{"type":"object","properties":{"language_id":{"type":"integer","description":"The language's unique identifier"},"name":{"type":"string","description":"The language's name"},"iso_639_1":{"type":"string","description":"The language's ISO 639-1 code"}}},"LanguagesResponse":{"type":"object","properties":{"data":{"type":"array","description":"Array of languages","items":{"$ref":"#/components/schemas/LanguageData"}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"ItemData":{"type":"object","properties":{"item_id":{"type":"integer","description":"The item's unique identifier"},"name":{"type":"string","description":"The item's name (localisable)"},"category_id":{"type":"integer","description":"The item's category identifier"},"category":{"type":"string","description":"The item's category name"},"country":{"type":"string","description":"The country for which the item is valid for"},"icon":{"type":"string","description":"The URL of the item's icon"}}},"ItemsData":{"type":"array","items":{"type":"object","properties":{"item":{"$ref":"#/components/schemas/ItemData"},"item_class":{"type":"string","description":"The item's class. Either 'page' or 'calendar'"}}}},"BrowseResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PageData"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"PageData":{"type":"object","properties":{"item_id":{"type":"integer","description":"The page's unique identifier"},"name":{"type":"string","description":"The page's name (localisable)"},"category_id":{"type":"integer","description":"The page's category identifier (Not applicable to root page)"},"category":{"type":"string","description":"The page's category name (Not applicable to root page)"},"country":{"type":"string","description":"The country for which the page is valid for"},"description":{"type":"string","description":"The page's description (Not applicable to root page)"},"icon":{"type":"string","description":"The URL of the page's icon (Not applicable to root page)"},"page_sections":{"type":"array","items":{"$ref":"#/components/schemas/PageSectionsData"}}}},"PageSectionsData":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"item":{"type":"object","properties":{"item_id":{"type":"integer","description":"The item's unique identifier"},"name":{"type":"string","description":"The item's name (localisable)"},"category_id":{"type":"integer","description":"The item's category identifier"},"category":{"type":"string","description":"The item's category name"},"country":{"type":"string","description":"The country for which the item is valid for"},"icon":{"type":"string","description":"The URL of the item's icon"}}},"item_class":{"type":"string","description":"The item's class. Either 'page' or 'calendar'"}}}},"name":{"type":"string","description":"The section's name"}}},"SearchData":{"type":"object","properties":{"item_id":{"type":"string","description":"For search will always be 'nil'"},"name":{"type":"string","description":"The query that was used to search"},"page_sections":{"type":"array","items":{"$ref":"#/components/schemas/PageSectionsData"}}}},"SearchResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SearchData"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"MailCountResponse":{"type":"object","properties":{"data":{"type":"integer","description":"The folder's mail count."},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"MailsResponse":{"type":"object","properties":{"data":{"type":"array","description":"Array of mails. Each mail is described as an array itself.","items":{"type":"array","description":"An Array of mail fields.","title":"MailFields","items":{"type":"string","description":"A mail field."}}},"cache":{"type":"boolean","description":"If present and set to true, that parameter signals that response has been fetched from cache"},"more":{"type":"integer","description":"If present that parameter signals how many items are totally available since client requested a certain chunk from overall result set"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"MailAttachment":{"type":"object","properties":{"id":{"type":"string","description":"Object ID (unique only inside the same message)."},"content_type":{"type":"string","description":"MIME type."},"content":{"type":"string","description":"Content as text. Present only if easily convertible to text."},"filename":{"type":"string","description":"Displayed filename (mutually exclusive with content)."},"size":{"type":"integer","format":"int64","description":"Size of the attachment in bytes."},"disp":{"type":"string","description":"Attachment's disposition.","enum":["null","inline","attachment","alternative"]}}},"MailData":{"type":"object","properties":{"nested_msgs":{"type":"array","description":"An array containing additional mails that are attached to this mail.","items":{"type":"object","description":"A mail that is attached to another mail.","title":"NestedMailData","properties":{"color_label":{"type":"integer","minimum":0,"maximum":10,"description":"Color number used by Outlook to label the object. The assignment of colors to numbers is arbitrary and specified by the client. The numbers are integer numbers between 0 and 10 (inclusive)."},"id":{"type":"string","description":"Object ID of the mail."},"folder_id":{"type":"string","description":"Object ID of the parent folder."},"attachment":{"type":"boolean","description":"Indicates whether this mail has attachments."},"from":{"type":"array","description":"Each element is a two-element array specifying one sender (address). The first element of each address is the personal name, the second element is the email address. Missing address parts are represented by null values.","items":{"type":"array","title":"FromAddress","items":{"type":"string","description":"The personal name and email adress of the from address"}}},"to":{"type":"array","description":"Each element is a two-element array (see the from field) specifying one receiver.","items":{"type":"array","title":"ToAddress","items":{"type":"string","description":"The personal name and email adress of the to address"}}},"cc":{"type":"array","description":"Each element is a two-element array (see the from field) specifying one carbon-copy receiver.","items":{"type":"array","title":"CcAddress","items":{"type":"string","description":"The personal name and email adress of the cc address"}}},"bcc":{"type":"array","description":"Each element is a two-element array (see the from field) specifying one blind carbon-copy receiver.","items":{"type":"array","title":"BccAddress","items":{"type":"string","description":"The personal name and email adress of the bcc address"}}},"subject":{"type":"string","description":"The mail's subject."},"size":{"type":"integer","format":"int64","description":"The size if the mail in bytes."},"sent_date":{"type":"integer","format":"int64","description":"Date and time as specified in the mail by the sending client."},"received_date":{"type":"integer","format":"int64","description":"Date and time as measured by the receiving server."},"flags":{"type":"integer","description":"Various system flags. A sum of zero or more of following values (see [javax.mail.Flags.Flag](http://docs.oracle.com/javaee/6/api/javax/mail/Flags.Flag.html) for details).<br>\n* 1 (answered),<br>\n* 2 (deleted),<br>\n* 4 (draft),<br>\n* 8 (flagged),<br>\n* 16 (recent),<br>\n* 32 (seen),<br>\n* 64 (user),<br>\n* 128 (spam),<br>\n* 256 (forwarded)<br>\n","enum":[1,2,4,8,16,32,64,128,256]},"level":{"type":"integer","description":"Zero-based nesting level in a thread."},"disp_notification_to":{"type":"string","description":"Content of message's header \"Disposition-Notification-To\"."},"priority":{"type":"integer","description":"Value of message's X-Priority header.<br>\n* 0 (no priority),<br>\n* 5 (very low),<br>\n* 4 (low),<br>\n* 3 (normal),<br>\n* 2 (high),<br>\n* 1 (very high)<br>\n","enum":[0,5,4,3,2,1]},"msg_ref":{"type":"string","description":"Message reference on reply/forward."},"flag_seen":{"type":"string","description":"Special field to sort mails by seen status."},"account_name":{"type":"string","description":"Message's account name."},"account_id":{"type":"integer","description":"Message's account identifier."},"user":{"type":"array","description":"An array with user-defined flags as strings.","items":{"type":"string"}},"headers":{"type":"object","description":"A map with fields for every non-standard header. The header name is the field name. The header value is the value of the field as string."},"attachments":{"type":"array","description":"Each element is an attachment. The first element is the mail text. If the mail has multiple representations (multipart-alternative), then the alternatives are placed after the mail text and have the field disp set to alternative.","items":{"$ref":"#/components/schemas/MailAttachment"}},"truncated":{"type":"boolean","description":"`true` / `false` if the mail content was trimmed."},"source":{"type":"string","description":"[RFC822](https://tools.ietf.org/html/rfc822) source of the mail. Only present for \"?action=get&attach_src=true\"."},"cid":{"type":"string","description":"The value of the \"Content-ID\" header, if the header is present."},"original_id":{"type":"string","description":"The original mail identifier (e.g. if fetched from \"virtual/all\" folder)."},"original_folder_id":{"type":"string","description":"The original folder identifier (e.g. if fetched from \"virtual/all\" folder)."},"content_type":{"type":"string","description":"The MIME type of the mail."},"text_preview":{"type":"string","description":"The optional preview of the mail body"}}}},"security_info":{"type":"array","description":"Information if mail is encrypted or signed.  Requires Guard","items":{"$ref":"#/components/schemas/GuardSecurityInfo"}},"security":{"type":"array","description":"Information regarding signature verification or decryption type after processed by Guard","items":{"$ref":"#/components/schemas/GuardSecurityResult"}},"authenticity":{"type":"object","description":"Informations about the authenticity of the sender domain.","title":"AuthenticationResult","properties":{"dmarc":{"type":"object","description":"The DMARC authentication results","properties":{"result":{"type":"string","description":"The result of the mechanism"},"reason":{"type":"string","description":"The reason of the status"},"from_domain":{"type":"string","description":"The origin domain of the sender"}}},"dkim":{"type":"object","description":"The DKIM authentication results","properties":{"result":{"type":"string","description":"The result of the mechanism"},"reason":{"type":"string","description":"The reason of the status"},"from_domain":{"type":"string","description":"The origin domain of the sender"}}},"spf":{"type":"object","description":"The SPF authentication results","properties":{"result":{"type":"string","description":"The result of the mechanism"},"reason":{"type":"string","description":"The reason of the status"},"from_domain":{"type":"string","description":"The origin domain of the sender"}}},"unconsidered_results":{"type":"array","description":"A list of unconsidered results","items":{"type":"object","title":"MechanismResult","description":"The result of a single mechanism. The raw key/value pairs of each unconsidered mechanism/result are contained in this object.","properties":{"result":{"type":"string","description":"The result of the unconsidered mechanism"},"mechanism":{"type":"string","description":"The identifier of the unconsidered mechanism"}}}},"trusted":{"type":"boolean","description":"Defines whether the sender is a trusted sender.\n"},"image":{"type":"string","description":"In case the result is positive and the mail address of the sender is a trusted mail address this field contains the uid of the image if one exists. \nThe image can be obtained from the image module.\n"},"from_domain":{"type":"string","description":"The from domain"},"status":{"type":"string","description":"The overall authenticity status","enum":["pass","neutral","fail","suspicious","not-analyzed"]}}},"color_label":{"type":"integer","minimum":0,"maximum":10,"description":"Color number used by Outlook to label the object. The assignment of colors to numbers is arbitrary and specified by the client. The numbers are integer numbers between 0 and 10 (inclusive)."},"id":{"type":"string","description":"Object ID of the mail."},"folder_id":{"type":"string","description":"Object ID of the parent folder."},"attachment":{"type":"boolean","description":"Indicates whether this mail has attachments."},"from":{"type":"array","description":"Each element is a two-element array specifying one sender (address). The first element of each address is the personal name, the second element is the email address. Missing address parts are represented by null values.","items":{"type":"array","title":"FromAddress","items":{"type":"string","description":"The personal name and email adress of the from address"}}},"to":{"type":"array","description":"Each element is a two-element array (see the from field) specifying one receiver.","items":{"type":"array","title":"ToAddress","items":{"type":"string","description":"The personal name and email adress of the to address"}}},"cc":{"type":"array","description":"Each element is a two-element array (see the from field) specifying one carbon-copy receiver.","items":{"type":"array","title":"CcAddress","items":{"type":"string","description":"The personal name and email adress of the cc address"}}},"bcc":{"type":"array","description":"Each element is a two-element array (see the from field) specifying one blind carbon-copy receiver.","items":{"type":"array","title":"BccAddress","items":{"type":"string","description":"The personal name and email adress of the bcc address"}}},"subject":{"type":"string","description":"The mail's subject."},"size":{"type":"integer","format":"int64","description":"The size if the mail in bytes."},"sent_date":{"type":"integer","format":"int64","description":"Date and time as specified in the mail by the sending client."},"received_date":{"type":"integer","format":"int64","description":"Date and time as measured by the receiving server."},"flags":{"type":"integer","description":"Various system flags. A sum of zero or more of following values (see [javax.mail.Flags.Flag](http://docs.oracle.com/javaee/6/api/javax/mail/Flags.Flag.html) for details).<br>\n* 1 (answered),<br>\n* 2 (deleted),<br>\n* 4 (draft),<br>\n* 8 (flagged),<br>\n* 16 (recent),<br>\n* 32 (seen),<br>\n* 64 (user),<br>\n* 128 (spam),<br>\n* 256 (forwarded)<br>\n","enum":[1,2,4,8,16,32,64,128,256]},"level":{"type":"integer","description":"Zero-based nesting level in a thread."},"disp_notification_to":{"type":"string","description":"Content of message's header \"Disposition-Notification-To\"."},"priority":{"type":"integer","description":"Value of message's X-Priority header.<br>\n* 0 (no priority),<br>\n* 5 (very low),<br>\n* 4 (low),<br>\n* 3 (normal),<br>\n* 2 (high),<br>\n* 1 (very high)<br>\n","enum":[0,5,4,3,2,1]},"msg_ref":{"type":"string","description":"Message reference on reply/forward."},"flag_seen":{"type":"string","description":"Special field to sort mails by seen status."},"account_name":{"type":"string","description":"Message's account name."},"account_id":{"type":"integer","description":"Message's account identifier."},"user":{"type":"array","description":"An array with user-defined flags as strings.","items":{"type":"string"}},"headers":{"type":"object","description":"A map with fields for every non-standard header. The header name is the field name. The header value is the value of the field as string."},"attachments":{"type":"array","description":"Each element is an attachment. The first element is the mail text. If the mail has multiple representations (multipart-alternative), then the alternatives are placed after the mail text and have the field disp set to alternative.","items":{"$ref":"#/components/schemas/MailAttachment"}},"truncated":{"type":"boolean","description":"`true` / `false` if the mail content was trimmed."},"source":{"type":"string","description":"[RFC822](https://tools.ietf.org/html/rfc822) source of the mail. Only present for \"?action=get&attach_src=true\"."},"cid":{"type":"string","description":"The value of the \"Content-ID\" header, if the header is present."},"original_id":{"type":"string","description":"The original mail identifier (e.g. if fetched from \"virtual/all\" folder)."},"original_folder_id":{"type":"string","description":"The original folder identifier (e.g. if fetched from \"virtual/all\" folder)."},"content_type":{"type":"string","description":"The MIME type of the mail."},"text_preview":{"type":"string","description":"The optional preview of the mail body"}}},"MailConversationData":{"type":"object","properties":{"unreadCount":{"type":"integer"},"thread":{"type":"array","description":"JSON array consisting of JSON objects, each representing a message in the conversation.","items":{"$ref":"#/components/schemas/MailData"}},"color_label":{"type":"integer","minimum":0,"maximum":10,"description":"Color number used by Outlook to label the object. The assignment of colors to numbers is arbitrary and specified by the client. The numbers are integer numbers between 0 and 10 (inclusive)."},"id":{"type":"string","description":"Object ID of the mail."},"folder_id":{"type":"string","description":"Object ID of the parent folder."},"attachment":{"type":"boolean","description":"Indicates whether this mail has attachments."},"from":{"type":"array","description":"Each element is a two-element array specifying one sender (address). The first element of each address is the personal name, the second element is the email address. Missing address parts are represented by null values.","items":{"type":"array","title":"FromAddress","items":{"type":"string","description":"The personal name and email adress of the from address"}}},"to":{"type":"array","description":"Each element is a two-element array (see the from field) specifying one receiver.","items":{"type":"array","title":"ToAddress","items":{"type":"string","description":"The personal name and email adress of the to address"}}},"cc":{"type":"array","description":"Each element is a two-element array (see the from field) specifying one carbon-copy receiver.","items":{"type":"array","title":"CcAddress","items":{"type":"string","description":"The personal name and email adress of the cc address"}}},"bcc":{"type":"array","description":"Each element is a two-element array (see the from field) specifying one blind carbon-copy receiver.","items":{"type":"array","title":"BccAddress","items":{"type":"string","description":"The personal name and email adress of the bcc address"}}},"subject":{"type":"string","description":"The mail's subject."},"size":{"type":"integer","format":"int64","description":"The size if the mail in bytes."},"sent_date":{"type":"integer","format":"int64","description":"Date and time as specified in the mail by the sending client."},"received_date":{"type":"integer","format":"int64","description":"Date and time as measured by the receiving server."},"flags":{"type":"integer","description":"Various system flags. A sum of zero or more of following values (see [javax.mail.Flags.Flag](http://docs.oracle.com/javaee/6/api/javax/mail/Flags.Flag.html) for details).<br>\n* 1 (answered),<br>\n* 2 (deleted),<br>\n* 4 (draft),<br>\n* 8 (flagged),<br>\n* 16 (recent),<br>\n* 32 (seen),<br>\n* 64 (user),<br>\n* 128 (spam),<br>\n* 256 (forwarded)<br>\n","enum":[1,2,4,8,16,32,64,128,256]},"level":{"type":"integer","description":"Zero-based nesting level in a thread."},"disp_notification_to":{"type":"string","description":"Content of message's header \"Disposition-Notification-To\"."},"priority":{"type":"integer","description":"Value of message's X-Priority header.<br>\n* 0 (no priority),<br>\n* 5 (very low),<br>\n* 4 (low),<br>\n* 3 (normal),<br>\n* 2 (high),<br>\n* 1 (very high)<br>\n","enum":[0,5,4,3,2,1]},"msg_ref":{"type":"string","description":"Message reference on reply/forward."},"flag_seen":{"type":"string","description":"Special field to sort mails by seen status."},"account_name":{"type":"string","description":"Message's account name."},"account_id":{"type":"integer","description":"Message's account identifier."},"user":{"type":"array","description":"An array with user-defined flags as strings.","items":{"type":"string"}},"headers":{"type":"object","description":"A map with fields for every non-standard header. The header name is the field name. The header value is the value of the field as string."},"attachments":{"type":"array","description":"Each element is an attachment. The first element is the mail text. If the mail has multiple representations (multipart-alternative), then the alternatives are placed after the mail text and have the field disp set to alternative.","items":{"$ref":"#/components/schemas/MailAttachment"}},"truncated":{"type":"boolean","description":"`true` / `false` if the mail content was trimmed."},"source":{"type":"string","description":"[RFC822](https://tools.ietf.org/html/rfc822) source of the mail. Only present for \"?action=get&attach_src=true\"."},"cid":{"type":"string","description":"The value of the \"Content-ID\" header, if the header is present."},"original_id":{"type":"string","description":"The original mail identifier (e.g. if fetched from \"virtual/all\" folder)."},"original_folder_id":{"type":"string","description":"The original folder identifier (e.g. if fetched from \"virtual/all\" folder)."},"content_type":{"type":"string","description":"The MIME type of the mail."},"text_preview":{"type":"string","description":"The optional preview of the mail body"}}},"MailConversationsResponse":{"type":"object","properties":{"data":{"type":"array","description":"An array of JSON objects each representing a conversation's root message.","items":{"$ref":"#/components/schemas/MailConversationData"}},"cache":{"type":"boolean","description":"If present and set to true, that parameter signals that response has been fetched from cache"},"more":{"type":"integer","description":"If present that parameter signals how many items are totally available since client requested a certain chunk from overall result set"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"MailThreadReferenceData":{"type":"object","properties":{"rootMailId":{"type":"string","description":"The unique id of the root mail."},"rootOriginalMailId":{"type":"string","description":"The original unique id of the root mail."},"rootOriginalFolderId":{"type":"string","description":"The original folder id of the root mail."},"latestMailId":{"type":"string","description":"The unique id of the latest mail."},"latestOriginalMailId":{"type":"string","description":"The original unique id of the latest mail."},"latestOriginalFolderId":{"type":"string","description":"The original folder id of the latest mail."},"latestReceivedDate":{"type":"integer","description":"Date and time as measured by the receiving server of the latest mail."},"thread":{"type":"array","description":"JSON array consisting of JSON objects, each representing a message in the conversation.","items":{"$ref":"#/components/schemas/MailData"}}}},"MailThreadReferencesResponse":{"type":"object","properties":{"data":{"type":"array","description":"An array of JSON objects each representing a conversation.","items":{"$ref":"#/components/schemas/MailThreadReferenceData"}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"MailListElement":{"type":"object","required":["id","folder"],"properties":{"id":{"type":"string","description":"The object ID of the mail."},"folder":{"type":"string","description":"The object ID of the related folder."}}},"MailDestinationBody":{"type":"object","properties":{"folder_id":{"type":"string","description":"The object ID of the destination folder."}}},"MailDestinationData":{"type":"object","properties":{"folder_id":{"type":"string","description":"Object ID of the destination folder."},"id":{"type":"string","description":"Object ID of the \"new\" mail."}}},"MailDestinationResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/MailDestinationData"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"MailMoveAllBody":{"type":"object","properties":{"source":{"type":"string","description":"The identifier of the source folder."},"target":{"type":"string","description":"The identifier of the target folder."}}},"MailUpdateBody":{"type":"object","properties":{"folder_id":{"type":"string","description":"The object ID of the destination folder (if the mail shall be moved)."},"color_label":{"type":"integer","minimum":0,"maximum":10,"description":"The color number between 0 and 10."},"flags":{"type":"integer","description":"A set of flags to add or remove. Note: Flags for \"recent\" (8) and \"user\" (64) are ignored."},"value":{"type":"boolean","description":"Use `true` to add the flags specified by flags (logical OR) and `false` to remove them (logical AND with the inverted value)."},"set_flags":{"type":"integer","format":"int64","description":"A set of flags to add. Note: Flags for \"recent\" (8) and \"user\" (64) are ignored."},"clear_flags":{"type":"integer","description":"A set of flags to remove. Note: Flags for \"recent\" (8) and \"user\" (64) are ignored."}}},"MailsAllSeenResponse":{"type":"object","properties":{"data":{"type":"boolean"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"MailResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/MailData"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"MailHeadersResponse":{"type":"object","properties":{"data":{"type":"string","description":"The (formatted) message headers as plain text."},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"MailSourceResponse":{"type":"object","properties":{"data":{"type":"string","description":"The complete message source as plain text."},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"MailImportResponse":{"type":"object","properties":{"data":{"type":"array","description":"An array of JSON objects each describing the folder ID and object ID of one imported mail.","items":{"$ref":"#/components/schemas/MailDestinationData"}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"MailReplyData":{"type":"object","properties":{"msgref":{"type":"string","description":"Indicates the ID of the referenced original mail."},"color_label":{"type":"integer","minimum":0,"maximum":10,"description":"Color number used by Outlook to label the object. The assignment of colors to numbers is arbitrary and specified by the client. The numbers are integer numbers between 0 and 10 (inclusive)."},"id":{"type":"string","description":"Object ID of the mail."},"folder_id":{"type":"string","description":"Object ID of the parent folder."},"attachment":{"type":"boolean","description":"Indicates whether this mail has attachments."},"from":{"type":"array","description":"Each element is a two-element array specifying one sender (address). The first element of each address is the personal name, the second element is the email address. Missing address parts are represented by null values.","items":{"type":"array","title":"FromAddress","items":{"type":"string","description":"The personal name and email adress of the from address"}}},"to":{"type":"array","description":"Each element is a two-element array (see the from field) specifying one receiver.","items":{"type":"array","title":"ToAddress","items":{"type":"string","description":"The personal name and email adress of the to address"}}},"cc":{"type":"array","description":"Each element is a two-element array (see the from field) specifying one carbon-copy receiver.","items":{"type":"array","title":"CcAddress","items":{"type":"string","description":"The personal name and email adress of the cc address"}}},"bcc":{"type":"array","description":"Each element is a two-element array (see the from field) specifying one blind carbon-copy receiver.","items":{"type":"array","title":"BccAddress","items":{"type":"string","description":"The personal name and email adress of the bcc address"}}},"subject":{"type":"string","description":"The mail's subject."},"size":{"type":"integer","format":"int64","description":"The size if the mail in bytes."},"sent_date":{"type":"integer","format":"int64","description":"Date and time as specified in the mail by the sending client."},"received_date":{"type":"integer","format":"int64","description":"Date and time as measured by the receiving server."},"flags":{"type":"integer","description":"Various system flags. A sum of zero or more of following values (see [javax.mail.Flags.Flag](http://docs.oracle.com/javaee/6/api/javax/mail/Flags.Flag.html) for details).<br>\n* 1 (answered),<br>\n* 2 (deleted),<br>\n* 4 (draft),<br>\n* 8 (flagged),<br>\n* 16 (recent),<br>\n* 32 (seen),<br>\n* 64 (user),<br>\n* 128 (spam),<br>\n* 256 (forwarded)<br>\n","enum":[1,2,4,8,16,32,64,128,256]},"level":{"type":"integer","description":"Zero-based nesting level in a thread."},"disp_notification_to":{"type":"string","description":"Content of message's header \"Disposition-Notification-To\"."},"priority":{"type":"integer","description":"Value of message's X-Priority header.<br>\n* 0 (no priority),<br>\n* 5 (very low),<br>\n* 4 (low),<br>\n* 3 (normal),<br>\n* 2 (high),<br>\n* 1 (very high)<br>\n","enum":[0,5,4,3,2,1]},"msg_ref":{"type":"string","description":"Message reference on reply/forward."},"flag_seen":{"type":"string","description":"Special field to sort mails by seen status."},"account_name":{"type":"string","description":"Message's account name."},"account_id":{"type":"integer","description":"Message's account identifier."},"user":{"type":"array","description":"An array with user-defined flags as strings.","items":{"type":"string"}},"headers":{"type":"object","description":"A map with fields for every non-standard header. The header name is the field name. The header value is the value of the field as string."},"attachments":{"type":"array","description":"Each element is an attachment. The first element is the mail text. If the mail has multiple representations (multipart-alternative), then the alternatives are placed after the mail text and have the field disp set to alternative.","items":{"$ref":"#/components/schemas/MailAttachment"}},"truncated":{"type":"boolean","description":"`true` / `false` if the mail content was trimmed."},"source":{"type":"string","description":"[RFC822](https://tools.ietf.org/html/rfc822) source of the mail. Only present for \"?action=get&attach_src=true\"."},"cid":{"type":"string","description":"The value of the \"Content-ID\" header, if the header is present."},"original_id":{"type":"string","description":"The original mail identifier (e.g. if fetched from \"virtual/all\" folder)."},"original_folder_id":{"type":"string","description":"The original folder identifier (e.g. if fetched from \"virtual/all\" folder)."},"content_type":{"type":"string","description":"The MIME type of the mail."},"text_preview":{"type":"string","description":"The optional preview of the mail body"}}},"MailReplyResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/MailReplyData"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"MailsCleanUpResponse":{"type":"object","properties":{"data":{"type":"array","description":"Not IMAP: An array with object IDs of mails which were modified after the specified timestamp and were therefore not deleted.","items":{"type":"string"}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"MailAckBody":{"type":"object","properties":{"from":{"type":"string","description":"The from email address."},"folder":{"type":"string","description":"The ID of the folder where the mail is placed."},"id":{"type":"string","description":"The ID of the mail."}}},"MailAckResponse":{"type":"object","properties":{"data":{"type":"object"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"ResolveShareReferenceElement":{"type":"object","required":["reference"],"properties":{"reference":{"type":"string","description":"The reference string."}}},"ResolveShareReferenceResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"shareToken":{"type":"string","description":"The associated share token."},"contextId":{"type":"integer","description":"The originator's context identifier."},"userId":{"type":"integer","description":"The originator's user identifier."},"files":{"type":"array","description":"The file meta data.","items":{"type":"object","properties":{"object_permissions":{"type":"array","description":"An array of object permissions.","items":{"$ref":"#/components/schemas/InfoItemPermission"}},"shareable":{"type":"boolean","description":"(read-only) Indicates if the item can be shared.","readOnly":true},"title":{"type":"string","description":"The title."},"url":{"type":"string","description":"Link/URL to item."},"filename":{"type":"string","description":"Displayed filename of the document."},"file_mimetype":{"type":"string","description":"MIME type of the document. The client converts known types to more readable names before displaying them."},"file_size":{"type":"integer","format":"int64","description":"The size of the document in bytes."},"version":{"type":"string","description":"Version of the document. NULL can be used to denote the most recent version and will be set in responses if versions are not supported by the underlying storage."},"description":{"type":"string","description":"A description if the item."},"locked_until":{"type":"integer","format":"int64","description":"The time until which this item will presumably be locked. Only set if the docment is currently locked, `0` otherwise.","readOnly":true},"file_md5sum":{"type":"string","description":"MD5Sum of the document."},"version_comment":{"type":"string","description":"A version comment is used to file a changelog for the file."},"current_version":{"type":"boolean","description":"`true` if this version is the current version, `false` otherwise. Note: This is not writeable.","readOnly":true},"number_of_versions":{"type":"integer","description":"The number of all versions of the item. Note: This is not writeable.","readOnly":true},"sequence_number":{"type":"integer","format":"int64","description":"Sequence number of the infoitem."},"capture_date":{"type":"integer","format":"int64","description":"Date and time when media file was captured/recorded","readOnly":true},"geolocation":{"type":"string","description":"The geo location associated with the media resource as latitude and longitude pair; e.g. \"(45 23)\"","readOnly":true},"width":{"type":"integer","format":"int64","description":"The width of the media resource","readOnly":true},"height":{"type":"integer","format":"int64","description":"The height of the media resource","readOnly":true},"camera_iso_speed":{"type":"integer","format":"int64","description":"The ISO speed value of a camera or input device associated with the media resource","readOnly":true},"camera_aperture":{"type":"string","description":"The aperture used to create the photo (f-number)","readOnly":true},"camera_exposure_time":{"type":"string","description":"The length of the exposure, in seconds","readOnly":true},"camera_focal_length":{"type":"string","description":"The focal length used to create the photo, in millimeters","readOnly":true},"camera_model":{"type":"string","description":"The name of the camera model associated with the media resource","readOnly":true},"media_meta":{"type":"object","description":"Contains metadata extracted from the media resource","readOnly":true},"media_status":{"type":"string","description":"Represents the status for the process of extracting metadata from a media resource","readOnly":true},"media_date":{"type":"integer","format":"int64","description":"A special field, which prefers the capture date and falls-back to last-modified date if absent","readOnly":true},"com.openexchange.share.extendedObjectPermissions":{"type":"array","description":"An array of extended object permissions (read-only).","items":{"$ref":"#/components/schemas/InfoItemExtendedPermission"}},"com.openexchange.realtime.resourceID":{"type":"string","description":"The resource identifier for the infoitem for usage within the realtime component.","readOnly":true},"com.openexchange.file.storage.mail.mailMetadata":{"type":"object","description":"Contains additional metadata for items in the \"maildrive\" file storage.","readOnly":true},"id":{"type":"string","description":"Object ID."},"created_by":{"type":"string","description":"User ID of the user who created this object.","readOnly":true},"modified_by":{"type":"string","description":"User ID of the user who last modified this object.","readOnly":true},"creation_date":{"type":"integer","format":"int64","description":"Date and time of creation.","readOnly":true},"last_modified":{"type":"integer","format":"int64","description":"Date and time of the last modification.","readOnly":true},"folder_id":{"type":"string","description":"Object ID of the parent folder."},"categories":{"type":"string","description":"String containing comma separated the categories. Order is preserved. Changing the order counts as modification of the object. Not present in folder objects."},"private_flag":{"type":"boolean","description":"Overrides folder permissions in shared private folders: When `true`, this object is not visible to anyone except the owner. Not present in folder objects."},"color_label":{"type":"integer","minimum":0,"maximum":10,"description":"Color number used by Outlook to label the object. The assignment of colors to numbers is arbitrary and specified by the client. The numbers are integer numbers between 0 and 10 (inclusive). Not present in folder objects."},"number_of_attachments":{"type":"integer","description":"Number of attachments."},"lastModifiedOfNewestAttachmentUTC":{"type":"integer","format":"int64","description":"Timestamp of the newest attachment written with UTC time zone."}},"required":["folder_id"]}},"password":{"type":"string","description":"The optional password that protects the share link."},"expiration":{"type":"integer","format":"int64","description":"The optional expiration date of the share link."}}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"ExamineResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"validity":{"type":"string","description":"The folder validity string."},"total":{"type":"integer","description":"The number of total messages."},"unread":{"type":"integer","description":"The number of unread messages."},"next":{"type":"string","description":"The expected next identifier."}}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"PutAttachmentBody":{"type":"object","properties":{"filename":{"type":"string","description":"The name of the newly created drive file."},"description":{"type":"string","description":"The description of the newly created drive file."}}},"GroupData":{"type":"object","properties":{"id":{"type":"integer","description":"The group ID."},"display_name":{"type":"string","description":"Display name of the group."},"name":{"type":"string","description":"Internal name with character restrictions."},"members":{"type":"array","description":"The array contains identifiers of users that are member of the group.","items":{"type":"integer"}},"last_modified_utc":{"type":"integer","format":"int64","description":"Timestamp of the last modification.","readOnly":true}}},"GroupResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/GroupData"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"GroupListElement":{"type":"object","properties":{"id":{"type":"integer","description":"ID of a group."}}},"GroupsResponse":{"type":"object","properties":{"data":{"type":"array","description":"Array of group objects.","items":{"$ref":"#/components/schemas/GroupData"}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"GroupSearchBody":{"type":"object","properties":{"pattern":{"type":"string","description":"Search pattern to find groups. In the pattern, the character \"*\" matches zero or more characters and the character \"?\" matches exactly one character. All other characters match only themselves."}}},"GroupUpdateData":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of a newly created group."}}},"GroupUpdateResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/GroupUpdateData"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"GroupUpdatesData":{"type":"object","properties":{"new":{"type":"array","description":"Array of new group objects.","items":{"$ref":"#/components/schemas/GroupData"}},"modified":{"type":"array","description":"Array of modified group objects.","items":{"$ref":"#/components/schemas/GroupData"}},"deleted":{"type":"array","description":"Array of deleted group objects.","items":{"$ref":"#/components/schemas/GroupData"}}}},"GroupUpdatesResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/GroupUpdatesData"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"AllResourcesResponse":{"type":"object","properties":{"data":{"type":"array","description":"Array of resource identifiers.","items":{"type":"integer"}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"ResourceData":{"type":"object","properties":{"id":{"type":"integer","description":"The resource ID."},"display_name":{"type":"string","description":"Display name of the resource."},"name":{"type":"string","description":"Internal name with character restrictions."},"mailaddress":{"type":"string","description":"Email address of the resource."},"availability":{"type":"boolean","description":"Can be false to mark the resource currently unavailable."},"description":{"type":"string","description":"The description of the resource."},"last_modified":{"type":"string","description":"Date and time of the last modification.","readOnly":true},"last_modified_utc":{"type":"string","description":"Timestamp of the last modification.","readOnly":true}}},"ResourceResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ResourceData"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"ResourceListElement":{"type":"object","properties":{"id":{"type":"integer","description":"ID of a resource."}}},"ResourcesResponse":{"type":"object","properties":{"data":{"type":"array","description":"Array of resource objects.","items":{"$ref":"#/components/schemas/ResourceData"}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"ResourceSearchBody":{"type":"object","properties":{"pattern":{"type":"string","description":"Search pattern to find resources. In the pattern, the character \"*\" matches zero or more characters and the character \"?\" matches exactly one character. All other characters match only themselves."}}},"ResourceUpdateData":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of a newly created rsource."}}},"ResourceUpdateResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ResourceUpdateData"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"ResourceUpdatesData":{"type":"object","properties":{"new":{"type":"array","description":"Array of new resource objects.","items":{"$ref":"#/components/schemas/ResourceData"}},"modified":{"type":"array","description":"Array of modified resource objects.","items":{"$ref":"#/components/schemas/ResourceData"}},"deleted":{"type":"array","description":"Array of deleted resource objects.","items":{"$ref":"#/components/schemas/ResourceData"}}}},"ResourceUpdatesResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ResourceUpdatesData"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"InfoItemsResponse":{"type":"object","properties":{"data":{"type":"object","description":"Array of infoitems. Each infoitem is described as an array itself."},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"InfoItemsRestoreResponse":{"type":"object","properties":{"data":{"type":"array","description":"The restored items","items":{"$ref":"#/components/schemas/InfoItemsRestoreResponseData"}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"InfoItemListElement":{"type":"object","required":["id","folder"],"properties":{"id":{"type":"string","description":"The object ID of the infoitem (e.g. \"31841/36639\")."},"folder":{"type":"string","description":"The object ID of the related folder (e.g. \"31841\")."}}},"InfoItemUpdatesResponse":{"type":"object","properties":{"data":{"type":"array","description":"Array of infoitems.","items":{"type":"object","description":"An element can be an array itself for new and modified infoitems containing the information of an infoitem specified by the corresponding\nidentifiers in the `columns` parameter. Or the element can be a string representing the object ID of a deleted infoitem.\nTherefore, the element types can be distinguished.\n"}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"InfoItemPermission":{"type":"object","properties":{"bits":{"type":"integer","description":"A number specifying the permission flags.<br>\n* 0 (the numerical value indicating no object permissions),<br>\n* 1 (the numerical value indicating read object permissions),<br>\n* 2 (the numerical value indicating write object permissions. This implicitly includes the “read” permission (this is no bitmask))\n","enum":[0,1,2]},"entity":{"type":"integer","description":"User ID of the user or group to which this permission applies."},"group":{"type":"boolean","description":"Is `true` if entity refers to a group, `false` if it refers to a user."},"type":{"type":"string","description":"The recipient type, i.e. one of \"user\", \"group\", \"guest\", \"anonymous\" (required if no internal \"entity\" defined)."},"password":{"type":"string","description":"An additional secret / pin number an anonymous user needs to enter when accessing the share (for type \"anonymous\", optional)."},"email_address":{"type":"string","description":"The e-mail address of the recipient (for type \"guest\")."},"display_name":{"type":"string","description":"The display name of the recipient (for type \"guest\", optional)."},"contact_id":{"type":"string","description":"The object identifier of the corresponding contact entry if the recipient was chosen from the address book (for type \"guest\", optional)."},"contact_folder":{"type":"string","description":"The folder identifier of the corresponding contact entry if the recipient was chosen from the address book (for type \"guest\", required if \"contact_id\" is set)."},"expiry_date":{"type":"integer","format":"int64","description":"The end date / expiration time after which the share link is no longer accessible (for type \"anonymous\", optional)."}}},"InfoItemExtendedPermission":{"type":"object","properties":{"entity":{"type":"integer","description":"Identifier of the permission entity (i.e. user-, group- or guest-ID)."},"bits":{"type":"integer","description":"A number specifying the permission flags.<br>\n* 0 (the numerical value indicating no object permissions),<br>\n* 1 (the numerical value indicating read object permissions),<br>\n* 2 (the numerical value indicating write object permissions. This implicitly includes the “read” permission (this is no bitmask))\n","enum":[0,1,2]},"type":{"type":"string","description":"\"user\" for an internal user, \"group\" for a group, \"guest\" for a guest, or \"anonymous\" for an anonymous permission entity."},"display_name":{"type":"string","description":"A display name for the permission entity."},"contact":{"$ref":"#/components/schemas/ContactData"},"share_url":{"type":"string","description":"The share link for \"anonymous\" entities."},"password":{"type":"string","description":"The optionally set password for \"anonymous\" entities."},"expiry_date":{"type":"integer","format":"int64","description":"The optionally set expiry date for \"anonymous\" entities."}}},"InfoItemData":{"type":"object","properties":{"object_permissions":{"type":"array","description":"An array of object permissions.","items":{"$ref":"#/components/schemas/InfoItemPermission"}},"shareable":{"type":"boolean","description":"(read-only) Indicates if the item can be shared.","readOnly":true},"title":{"type":"string","description":"The title."},"url":{"type":"string","description":"Link/URL to item."},"filename":{"type":"string","description":"Displayed filename of the document."},"file_mimetype":{"type":"string","description":"MIME type of the document. The client converts known types to more readable names before displaying them."},"file_size":{"type":"integer","format":"int64","description":"The size of the document in bytes."},"version":{"type":"string","description":"Version of the document. NULL can be used to denote the most recent version and will be set in responses if versions are not supported by the underlying storage."},"description":{"type":"string","description":"A description if the item."},"locked_until":{"type":"integer","format":"int64","description":"The time until which this item will presumably be locked. Only set if the docment is currently locked, `0` otherwise.","readOnly":true},"file_md5sum":{"type":"string","description":"MD5Sum of the document."},"version_comment":{"type":"string","description":"A version comment is used to file a changelog for the file."},"current_version":{"type":"boolean","description":"`true` if this version is the current version, `false` otherwise. Note: This is not writeable.","readOnly":true},"number_of_versions":{"type":"integer","description":"The number of all versions of the item. Note: This is not writeable.","readOnly":true},"sequence_number":{"type":"integer","format":"int64","description":"Sequence number of the infoitem."},"capture_date":{"type":"integer","format":"int64","description":"Date and time when media file was captured/recorded","readOnly":true},"geolocation":{"type":"string","description":"The geo location associated with the media resource as latitude and longitude pair; e.g. \"(45 23)\"","readOnly":true},"width":{"type":"integer","format":"int64","description":"The width of the media resource","readOnly":true},"height":{"type":"integer","format":"int64","description":"The height of the media resource","readOnly":true},"camera_iso_speed":{"type":"integer","format":"int64","description":"The ISO speed value of a camera or input device associated with the media resource","readOnly":true},"camera_aperture":{"type":"string","description":"The aperture used to create the photo (f-number)","readOnly":true},"camera_exposure_time":{"type":"string","description":"The length of the exposure, in seconds","readOnly":true},"camera_focal_length":{"type":"string","description":"The focal length used to create the photo, in millimeters","readOnly":true},"camera_model":{"type":"string","description":"The name of the camera model associated with the media resource","readOnly":true},"media_meta":{"type":"object","description":"Contains metadata extracted from the media resource","readOnly":true},"media_status":{"type":"string","description":"Represents the status for the process of extracting metadata from a media resource","readOnly":true},"media_date":{"type":"integer","format":"int64","description":"A special field, which prefers the capture date and falls-back to last-modified date if absent","readOnly":true},"com.openexchange.share.extendedObjectPermissions":{"type":"array","description":"An array of extended object permissions (read-only).","items":{"$ref":"#/components/schemas/InfoItemExtendedPermission"}},"com.openexchange.realtime.resourceID":{"type":"string","description":"The resource identifier for the infoitem for usage within the realtime component.","readOnly":true},"com.openexchange.file.storage.mail.mailMetadata":{"type":"object","description":"Contains additional metadata for items in the \"maildrive\" file storage.","readOnly":true},"id":{"type":"string","description":"Object ID."},"created_by":{"type":"string","description":"User ID of the user who created this object.","readOnly":true},"modified_by":{"type":"string","description":"User ID of the user who last modified this object.","readOnly":true},"creation_date":{"type":"integer","format":"int64","description":"Date and time of creation.","readOnly":true},"last_modified":{"type":"integer","format":"int64","description":"Date and time of the last modification.","readOnly":true},"folder_id":{"type":"string","description":"Object ID of the parent folder."},"categories":{"type":"string","description":"String containing comma separated the categories. Order is preserved. Changing the order counts as modification of the object. Not present in folder objects."},"private_flag":{"type":"boolean","description":"Overrides folder permissions in shared private folders: When `true`, this object is not visible to anyone except the owner. Not present in folder objects."},"color_label":{"type":"integer","minimum":0,"maximum":10,"description":"Color number used by Outlook to label the object. The assignment of colors to numbers is arbitrary and specified by the client. The numbers are integer numbers between 0 and 10 (inclusive). Not present in folder objects."},"number_of_attachments":{"type":"integer","description":"Number of attachments."},"lastModifiedOfNewestAttachmentUTC":{"type":"integer","format":"int64","description":"Timestamp of the newest attachment written with UTC time zone."}},"required":["folder_id"]},"InfoItemResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/InfoItemData"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"InfoItemSearchBody":{"type":"object","properties":{"pattern":{"type":"string","description":"The search pattern, where \"*\" matches any sequence of characters."}}},"InfoItemZipElement":{"type":"object","required":["id","folder"],"properties":{"id":{"type":"string","description":"The object ID of the infoitem (e.g. \"31841/36639\")."},"folder":{"type":"string","description":"The object ID of the related folder (e.g. \"31841\")."},"version":{"type":"string","description":"The version of the infoitem."}}},"InfoItemsMovedResponse":{"type":"object","properties":{"data":{"type":"array","description":"Array of infoitem identifiers that could not be moved (due to a conflict).","items":{"type":"string","description":"The infoitem identifier"}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"InfoItemBody":{"type":"object","required":["file"],"properties":{"file":{"$ref":"#/components/schemas/InfoItemData"},"notification":{"$ref":"#/components/schemas/InfoItemBodyNotification"}}},"InfoItemBodyNotification":{"type":"object","description":"Responsible for sending out notifications for changed object permissions of an infoitem.","properties":{"transport":{"type":"string","description":"E.g. \"mail\"."},"message":{"type":"string"}}},"InfoItemUpdateResponse":{"type":"object","properties":{"data":{"type":"string","description":"The object ID of the updated infoitem."},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"InfoItemDetachResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"integer"}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"InfoItemSharingNotificationBody":{"type":"object","required":["entities"],"properties":{"entities":{"type":"array","description":"Array containing the entity ID(s) of the users or groups that shall be notified.","items":{"type":"string"}},"notification":{"$ref":"#/components/schemas/InfoItemBodyNotification"}}},"InfoItemSharingNotificationResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/InfoItemSharingNotificationData"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"InfoItemSharingNotificationData":{"type":"object","properties":{"warnings":{"type":"array","description":"Can contain transport warnings that occured during sending the notifications.","items":{"type":"object"}}}},"InfoItemsRestoreResponseData":{"type":"object","description":"The restored item","properties":{"id":{"type":"string","description":"Object ID"},"path":{"type":"array","description":"Folder path from restored file down to root folder","items":{"$ref":"#/components/schemas/InfoFolderPathData"}}}},"InfoFolderPathData":{"type":"object","properties":{"id":{"type":"string","description":"The folder id"},"title":{"type":"string","description":"The folder title"}}},"AttachmentsResponse":{"type":"object","properties":{"data":{"type":"object","description":"Array of attachments. Each attachment is described as an array itself."},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"AttachmentData":{"type":"object","properties":{"folder":{"type":"integer","description":"The ID of the first folder in which the attached object resides."},"attached":{"type":"integer","description":"The ID of the object this attachment is attached to."},"module":{"type":"integer","description":"The module type of the object.<br>\n* 1 (appointment),<br>\n* 4 (task),<br>\n* 7 (contact),<br>\n* 137 (infostore)\n","enum":[1,4,7,137]},"filename":{"type":"string","description":"The filename of the attached file."},"file_size":{"type":"integer","format":"int64","description":"The file size (in bytes) of the attached file."},"file_mimetype":{"type":"string","description":"The MIME type of the attached file."},"rft_flag":{"type":"boolean","description":"If the attachment is a RTF attachment of outlook (outlook descriptions can be stored as RTF documents)."},"id":{"type":"string","description":"Object ID."},"created_by":{"type":"string","description":"User ID of the user who created this object.","readOnly":true},"modified_by":{"type":"string","description":"User ID of the user who last modified this object.","readOnly":true},"creation_date":{"type":"integer","format":"int64","description":"Date and time of creation.","readOnly":true},"last_modified":{"type":"integer","format":"int64","description":"Date and time of the last modification.","readOnly":true},"folder_id":{"type":"string","description":"Object ID of the parent folder."},"categories":{"type":"string","description":"String containing comma separated the categories. Order is preserved. Changing the order counts as modification of the object. Not present in folder objects."},"private_flag":{"type":"boolean","description":"Overrides folder permissions in shared private folders: When `true`, this object is not visible to anyone except the owner. Not present in folder objects."},"color_label":{"type":"integer","minimum":0,"maximum":10,"description":"Color number used by Outlook to label the object. The assignment of colors to numbers is arbitrary and specified by the client. The numbers are integer numbers between 0 and 10 (inclusive). Not present in folder objects."},"number_of_attachments":{"type":"integer","description":"Number of attachments."},"lastModifiedOfNewestAttachmentUTC":{"type":"integer","format":"int64","description":"Timestamp of the newest attachment written with UTC time zone."}}},"AttachmentUpdatesResponse":{"type":"object","properties":{"data":{"type":"object","description":"Array of attachments."},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"AttachmentResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AttachmentData"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"ReminderData":{"type":"object","properties":{"id":{"type":"integer","format":"int64","description":"The ID of the reminder."},"target_id":{"type":"integer","description":"The object ID of the target this reminder is attached to."},"folder":{"type":"integer","description":"The ID of the folder through that the object can be read."},"alarm":{"type":"integer","format":"int64","description":"The time of the alarm."},"module":{"type":"integer","description":"The module of the reminder's target object.","enum":[1,4,7,137]},"server_time":{"type":"integer","format":"int64","description":"The time on the server."},"user_id":{"type":"integer","description":"The ID of the user."},"last_modified":{"type":"integer","format":"int64","description":"The last modification timestamp of the reminder."},"recurrence_position":{"type":"integer","description":"The recurrence position for series appointments or 0 if no series."}}},"RemindersResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ReminderData"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"ReminderListElement":{"type":"object","properties":{"id":{"type":"integer","format":"int64","description":"The ID of the reminder."}}},"ReminderUpdateBody":{"type":"object","properties":{"alarm":{"type":"integer","format":"int64","description":"The new time of the alarm."}}},"ReminderResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ReminderData"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"MultifactorProvidersResponse":{"type":"object","properties":{"data":{"type":"array","description":"An array of providers.","items":{"$ref":"#/components/schemas/MultifactorProvider"}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"MultifactorProvider":{"type":"object","properties":{"name":{"type":"string","description":"The name of the provider"},"backupProvider":{"type":"boolean","description":"true, if the provider can act as \"backup\"-provider, false otherwise."},"backupOnlyProvider":{"type":"boolean","description":"true, if the provider can ONLY act as \"backup\"-provider, false otherwise."}}},"MultifactorDeviceResponse":{"type":"object","properties":{"data":{"type":"object","description":"A multifactor device.","$ref":"#/components/schemas/MultifactorDevice"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"MultifactorDevicesResponse":{"type":"object","properties":{"data":{"type":"array","description":"Array of multifactor devices.","items":{"$ref":"#/components/schemas/MultifactorDevice"}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"MultifactorDevice":{"type":"object","properties":{"id":{"type":"string","description":"The unique ID of the device"},"name":{"type":"string","description":"The user friendly name of the device"},"backup":{"type":"boolean","description":"true, if the device is a \"backup\" device, false otherwise"},"enabled":{"type":"boolean","description":"true, if the device is enabled, false otherwise","readOnly":true},"providerName":{"type":"string","description":"The name of the device's provider"},"parameters":{"type":"object","description":"The provider specific parameters required for starting a new registration.","readOnly":true,"properties":{"phoneNumber":{"type":"string","description":"(SMS provider only) The phone number of the SMS device to register"}}}}},"MultifactorDeleteResponse":{"type":"object","properties":{"data":{"type":"array","description":"Array of device IDs which where deleted.","items":{"type":"string"}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"MultifactorStartRegistrationResponse":{"type":"object","properties":{"data":{"type":"object","description":"Registration response data","properties":{"deviceId":{"type":"string","description":"A unique ID of the new device"},"challenge":{"type":"object","description":"A challenge required to be solved for registering a new device","properties":{"sharedSecret":{"type":"string","description":"(TOTP, BACKUP_STRING provider only) The TOTP secret"},"base64Image":{"type":"string","description":"(TOTP provider only) A base64 encoded QR-Code containing all relevant information for setting up TOTP.\n"},"url":{"type":"string","description":"(TOTP provider only) An URL containing all relevant information for setting up TOTP."},"requestId":{"type":"string","description":"(U2F provider only) The unique U2F request ID."},"registerRequests":{"type":"array","description":"A list of challenge data","items":{"type":"object","description":"(U2F provider only) The U2F challenge data for registering a new device","properties":{"version":{"type":"string","description":"(U2F provider only) The U2F protocol version"},"challenge":{"type":"string","description":"(U2F provider only) The U2F challenge data"},"appId":{"type":"string","description":"(U2F provider only) The U2F APP ID"},"requestId":{"type":"string","description":"(U2F provider only) The unique U2F request ID."}}}}}}}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"MultifactorFinishRegistrationData":{"type":"object","description":"The provider specific parameters required to finish a device registration.","properties":{"secret_code":{"type":"string","description":"(SMS, TOTP provider only) The secret token required to finish the registration."},"clientData":{"type":"string","description":"(U2F provider only) The U2F client data required to finish the registration."},"registrationData":{"type":"string","description":"(U2F provider only) The U2F registration data data required to finish the registration."}}},"MultifactorFinishRegistrationResponse":{"properties":{"data":{"$ref":"#/components/schemas/MultifactorDevice"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"MultifactorStartAuthenticationResponse":{"properties":{"data":{"type":"object","description":"Authentication response data","properties":{"challenge":{"type":"object","description":"A challenge required to be solved for authentication","properties":{"phoneNumberTail":{"type":"string","description":"(SMS provider only) The last digits of the phone number where the secret token was sent to"},"backupStringLength":{"type":"integer","description":"(BACKUP_STRING provider only) The length of the secret token required for authentication"},"requestId":{"type":"string","description":"(U2F provider only) The U2F request ID"},"signRequests":{"type":"array","description":"(U2F provider only) A list of U2F challenges which needs to be solved for authentication","items":{"type":"object","description":"(U2F provider only) A U2F challenge which needs to be solved for authentication","properties":{"version":{"type":"string","description":"(U2F provider only) The U2F version"},"challenge":{"type":"string","description":"(U2F provider only) The U2F challenge data which needs to be signed by the client"},"appId":{"type":"string","description":"(U2F provider only) The U2F APP-ID"},"keyHandle":{"type":"string","description":"(U2F provider only) The U2F Key-handle"},"requestId":{"type":"string","description":"(U2F provider only) The U2F request ID"}}}}}}}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"MultifactorFinishAuthenticationData":{"type":"object","description":"The provider specific parameters required for authentication.","properties":{"secret_code":{"type":"string","description":"(SMS, TOTP, BACKUP_STRING provider only) The secret authentication token."},"clientData":{"type":"string","description":"(U2F provider only) The U2F client data."},"keyHandle":{"type":"string","description":"(U2F provider only) The U2F key handle."},"signatureData":{"type":"string","description":"(U2F provider only) The signed U2F challenge."}}},"AppPassword":{"type":"object","properties":{"UUID":{"type":"string","description":"The id of the password"},"Scope":{"type":"string","description":"The application type that defines the scope"},"Name":{"type":"string","description":"The user defined name of the password"},"LastDevice":{"type":"string","description":"The last device that logged in using the password"},"LastLogin":{"type":"string","description":"The last date and time the password was used for login"},"IP":{"type":"string","description":"The IP address of the device used to login"}}},"AppPasswordApplication":{"type":"object","properties":{"name":{"type":"string","description":"The name of the scope"},"displayName":{"type":"string","description":"The display name of the scope to be shown to user"},"sort":{"type":"integer","description":"Optional sort order"}}},"AppPasswordGetAppsResponse":{"type":"object","properties":{"data":{"type":"array","description":"Array of application type available.","items":{"$ref":"#/components/schemas/AppPasswordApplication"}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"AppPasswordListResponse":{"type":"object","properties":{"data":{"type":"array","description":"Array of application specific passwords.","items":{"$ref":"#/components/schemas/AppPassword"}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"AppPasswordRegistrationResponse":{"type":"object","properties":{"data":{"type":"object","description":"Registration response data","properties":{"password":{"type":"string","description":"Password to use for the application login"},"login":{"type":"string","description":"The username to use for login"},"newLogin":{"type":"boolean","description":"Login may not be same as used by the user to login to appsuite."}}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"AppPasswordRemovalResponse":{"type":"object","properties":{"data":{"type":"object","description":"Registration response data","properties":{"result":{"type":"string","description":"Result of the operation"}}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"SingleRequest":{"type":"object","description":"Contains all currently available (resp. possible) parameters that could be specified to perform a request in the multiple module except `action`, `module`, and `data` which are part of the actual request itself.","required":["module","action"],"properties":{"module":{"type":"string","description":"The name of the request's module like \"mail\", \"folders\", etc."},"action":{"type":"string","description":"The name of the request's action like \"all\", \"list\", etc."},"data":{"type":"object","description":"The request's body as a JSON object."},"columns":{"type":"string","description":"The \"columns\" parameter of a request."},"tree":{"type":"string","description":"The \"tree\" parameter of a request."},"allowed_modules":{"type":"string","description":"The \"allowed_modules\" parameter of a request."},"parent":{"type":"string","description":"The \"parent\" parameter of a request."},"all":{"type":"integer","description":"The \"all\" parameter of a request."},"errorOnDuplicateName":{"type":"boolean","description":"The \"errorOnDuplicateName\" parameter of a request."},"id":{"type":"string","description":"The \"id\" parameter of a request."},"timestamp":{"type":"integer","format":"int64","description":"The \"timestamp\" parameter of a request."},"ignore":{"type":"string","description":"The \"ignore\" parameter of a request."},"cascadePermissions":{"type":"string","description":"The \"cascadePermissions\" parameter of a request."},"hardDelete":{"type":"boolean","description":"The \"hardDelete\" parameter of a request."},"content_type":{"type":"string","description":"The \"content_type\" parameter of a request."},"sort":{"type":"string","description":"The \"sort\" parameter of a request."},"order":{"type":"string","description":"The \"order\" parameter of a request."},"folder":{"type":"string","description":"The \"folder\" parameter of a request."},"start":{"type":"integer","format":"int64","description":"The \"start\" parameter of a request."},"end":{"type":"integer","format":"int64","description":"The \"end\" parameter of a request."},"email":{"type":"string","description":"The \"email\" parameter of a request."},"query":{"type":"string","description":"The \"query\" parameter of a request."},"left_hand_limit":{"type":"integer","description":"The \"left_hand_limit\" parameter of a request."},"right_hand_limit":{"type":"integer","description":"The \"right_hand_limit\" parameter of a request."},"recurrence_master":{"type":"boolean","description":"The \"recurrence_master\" parameter of a request."},"showPrivate":{"type":"boolean","description":"The \"showPrivate\" parameter of a request."},"occurrence":{"type":"string","description":"The \"occurrence\" parameter of a request."},"type":{"type":"integer","description":"The \"type\" parameter of a request."},"limit":{"type":"integer","description":"The \"limit\" parameter of a request."},"uid":{"type":"string","description":"The \"uid\" parameter of a request."},"includeSent":{"type":"boolean","description":"The \"includeSent\" parameter of a request."},"headers":{"type":"string","description":"The \"headers\" parameter of a request."},"message_id":{"type":"string","description":"The \"message_id\" parameter of a request."},"edit":{"type":"integer","description":"The \"edit\" parameter of a request."},"hdr":{"type":"integer","description":"The \"hdr\" parameter of a request."},"src":{"type":"integer","description":"The \"src\" parameter of a request."},"save":{"type":"integer","description":"The \"save\" parameter of a request."},"view":{"type":"string","description":"The \"view\" parameter of a request."},"unseen":{"type":"boolean","description":"The \"unseen\" parameter of a request."},"max_size":{"type":"integer","description":"The \"max_size\" parameter of a request."},"attach_src":{"type":"boolean","description":"The \"attach_src\" parameter of a request."},"attachment":{"type":"string","description":"The \"attachment\" parameter of a request."},"cid":{"type":"string","description":"The \"cid\" parameter of a request."},"filter":{"type":"integer","description":"The \"filter\" parameter of a request."},"lineWrapAfter":{"type":"integer","description":"The \"lineWrapAfter\" parameter of a request."},"flags":{"type":"integer","description":"The \"falgs\" parameter of a request."},"force":{"type":"boolean","description":"The \"force\" parameter of a request."},"setFrom":{"type":"boolean","description":"The \"setFrom\" parameter of a request."},"version":{"type":"integer","description":"The \"version\" parameter of a request."},"recursive":{"type":"string","description":"The \"recursive\" parameter of a request."},"diff":{"type":"integer","format":"int64","description":"The \"diff\" parameter of a request."},"attached":{"type":"integer","description":"The \"attached\" parameter of a request."},"accountId":{"type":"integer","description":"The \"accountId\" parameter of a request."},"password":{"type":"string","description":"The \"password\" parameter of a request."},"force_secure":{"type":"string","description":"The \"force_secure\" parameter of a request."},"name":{"type":"string","description":"The \"name\" parameter of a request."},"setIfAbsent":{"type":"string","description":"The \"setIfAbsent\" parameter of a request."},"serviceId":{"type":"string","description":"The \"serviceId\" parameter of a request."},"oauth_token":{"type":"string","description":"The \"oauth_token\" parameter of a request."},"uuid":{"type":"string","description":"The \"uuid\" parameter of a request."},"oauth_verifier":{"type":"string","description":"The \"oauth_verifier\" parameter of a request."},"displayName":{"type":"string","description":"The \"displayName\" parameter of a request."},"client":{"type":"string","description":"The \"client\" parameter of a request."},"participant":{"type":"string","description":"The \"participant\" parameter of a request."},"from":{"type":"integer","format":"int64","description":"The \"from\" parameter of a request."},"until":{"type":"integer","format":"int64","description":"The \"until\" parameter of a request."},"merged":{"type":"boolean","description":"The \"merged\" parameter of a request."},"messagingService":{"type":"string","description":"The \"messagingService\" parameter of a request."},"peek":{"type":"string","description":"The \"peek\" parameter of a request."},"recipients":{"type":"string","description":"The \"recipients\" parameter of a request."},"messageAction":{"type":"string","description":"The \"messageAction\" parameter of a request."},"attachmentid":{"type":"string","description":"The \"attachmentid\" parameter of a request."},"provider":{"type":"string","description":"The \"provider\" parameter of a request."},"timezone":{"type":"string","description":"The \"timezone\" parameter of a request."},"internal_userid":{"type":"integer","description":"The \"internal_userid\" parameter of a request."},"userid":{"type":"integer","description":"The \"userid\" parameter of a request."},"user_id":{"type":"integer","description":"The \"user_id\" parameter of a request."},"email1":{"type":"string","description":"The \"email1\" parameter of a request."},"email2":{"type":"string","description":"The \"email2\" parameter of a request."},"email3":{"type":"string","description":"The \"email3\" parameter of a request."},"system":{"type":"string","description":"The \"system\" parameter of a request."},"filestorageService":{"type":"string","description":"The \"filestorageService\" parameter of a request."}}},"MultipleResponse":{"type":"object","properties":{"data":{"type":"object","description":"An array of the data of the requests that was processed with the multiple module."},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"QuotasResponse":{"type":"object","properties":{"data":{"type":"object","description":"Dependent on the request parameters: the payload may be a JSON object containing the quota modules as\nfields that represent JSON objects itself with the properties \"display_name\" and \"accounts\" (array of account data objects)\nor it may be a JSON array of account data objects if the parameter \"module\" specifies a certain quota module.\n"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"QuotaData":{"type":"object","properties":{"quota":{"type":"integer","format":"int64","description":"Represents the maximum storage (-1 represents an unlimited quota)."},"use":{"type":"integer","format":"int64","description":"Represents the used storage."}}},"QuotaResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/QuotaData"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"AcquireTokenResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"token":{"type":"string","description":"The token that can be used for a new session."}}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"MailFilterConfigTest":{"type":"object","properties":{"test":{"type":"string","description":"The name of the test, see [Possible tests](#possible-tests)."},"comparison":{"type":"array","description":"An array of the valid comparison types for this test, see [Possible comparisons](#possible-comparisons).","items":{"type":"string"}}}},"MailFilterConfigTestv2":{"type":"object","properties":{"id":{"type":"string","description":"The name of the test, see [Possible tests](#possible-tests) and [Simplified tests](#simplified-tests)."},"comparisons":{"type":"array","description":"An array of the valid comparison types for this test, see [Possible comparisons](#possible-comparisons).","items":{"type":"string"}},"headers":{"type":"array","description":"An array of valid headers for the envelope and address tests.","items":{"type":"string"}},"parts":{"type":"array","description":"An array of valid address parts for the envelope and address tests.","items":{"type":"string"}}}},"MailFilterConfigAction":{"type":"object","properties":{"id":{"type":"string","description":"The name of the action, see [Possible actions](#possible-actions)."}}},"MailFilterConfigData":{"type":"object","properties":{"tests":{"type":"array","description":"Array of available test-objects.","items":{"$ref":"#/components/schemas/MailFilterConfigTest"}},"actioncommands":{"type":"array","description":"Array of available action commands.","items":{"type":"string"}},"capabilities":{"type":"array","description":"Array of supported imap capabilities","items":{"type":"string"}}}},"MailFilterConfigDatav2":{"type":"object","properties":{"tests":{"type":"array","description":"Array of available test-objects.","items":{"$ref":"#/components/schemas/MailFilterConfigTestv2"}},"actioncmds":{"type":"array","description":"Array of available action-objects.","items":{"$ref":"#/components/schemas/MailFilterConfigAction"}},"options":{"type":"object","title":"Options","description":"A options object containing additional information for the client.","properties":{"allowNestedTests":{"type":"boolean","description":"Defines if nested rules should be allowed by the client or not."}}}}},"MailFilterConfigResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/MailFilterConfigData"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"MailFilterConfigResponsev2":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/MailFilterConfigDatav2"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"MailFilterNotTest":{"type":"object","description":"A test object which result will be negated.","properties":{"id":{"type":"string","description":"The name of the test command, see [Possible tests](#possible-tests)."},"comparison":{"type":"string","description":"The comparison type, see [Possible comparisons](#possible-comparisons)."},"addresspart":{"type":"string","description":"The addresspart which shall be used for envelope or address tests, see [Possible address parts](#possible-address-parts)."},"headers":{"type":"array","description":"An array containing the header fields (for address-, envelope-, exists- and header-test).","items":{"type":"string"}},"header":{"type":"string","description":"The header field of the date test."},"values":{"type":"array","description":"An array containing the value for the header fields or the values for the body. The test will be true if any of the strings matches (for address-, envelope-, header-test and body-test).","items":{"type":"string"}},"size":{"type":"integer","format":"int64","description":"The size in bytes (for size-test)."},"datepart":{"type":"string","description":"Type of the comparison, which can be \"date\", \"weekday\" or \"time\" (for currentdate-test)."},"datevalue":{"type":"array","description":"Contains the corresponding value to the datepart. For \"date\" and \"time\" this will be an array of \"Date\" (unix timestamp). For \"weekday\", it will be an array of integers ranging from 0 (sunday) to 6 (saturday) reflecting the equivalent weekday (for currentdate-test).","items":{"type":"integer","format":"int64"}},"zone":{"type":"string","description":"Containing the timezone of date or currentdate tests. E.g. \"+0100\". If omitted the current timezone of the user is used."},"extensionskey":{"type":"string","description":"The [extension key](#possible-extensions) (for body-test)."},"extensionsvalue":{"type":"string","description":"A value for the given key. If the key has no value the value given here is ignored (for body-test)."}}},"MailFilterNotTestv2":{"type":"object","description":"A test object which result will be negated.","properties":{"id":{"type":"string","description":"The name of the test command, see [Possible tests](#possible-tests) and [Simplified tests](#simplified-tests)."},"comparison":{"type":"string","description":"The comparison type, see [Possible comparisons](#possible-comparisons)."},"addresspart":{"type":"string","description":"The addresspart which shall be used for envelope or address tests, see [Possible address parts](#possible-address-parts)."},"headers":{"type":"array","description":"An array containing the header fields (for address-, envelope-, exists- and header-test).","items":{"type":"string"}},"header":{"type":"string","description":"The header field of the date test."},"values":{"type":"array","description":"An array containing the value for the header fields or the values for the body. The test will be true if any of the strings matches (for address-, envelope-, header-test and body-test).","items":{"type":"string"}},"size":{"type":"integer","format":"int64","description":"The size in bytes (for size-test)."},"datepart":{"type":"string","description":"Type of the comparison, which can be \"date\", \"weekday\" or \"time\" (for currentdate-test)."},"datevalue":{"type":"array","description":"Contains the corresponding value to the datepart. For \"date\" and \"time\" this will be an array of \"Date\" (unix timestamp). For \"weekday\", it will be an array of integers ranging from 0 (sunday) to 6 (saturday) reflecting the equivalent weekday (for currentdate-test).","items":{"type":"integer","format":"int64"}},"zone":{"type":"string","description":"The timezone which should be used for a date or currentdate test. E.g. \"+0100\". If omitted the current timezone of the user is used."},"extensionskey":{"type":"string","description":"The [extension key](#possible-extensions) (for body-test)."},"extensionsvalue":{"type":"string","description":"A value for the given key. If the key has no value the value given here is ignored (for body-test)."}}},"MailFilterTest":{"type":"object","properties":{"test":{"$ref":"#/components/schemas/MailFilterNotTest"},"id":{"type":"string","description":"The name of the test command, see [Possible tests](#possible-tests)."},"comparison":{"type":"string","description":"The comparison type, see [Possible comparisons](#possible-comparisons)."},"addresspart":{"type":"string","description":"The addresspart which shall be used for envelope or address tests, see [Possible address parts](#possible-address-parts)."},"headers":{"type":"array","description":"An array containing the header fields (for address-, envelope-, exists- and header-test).","items":{"type":"string"}},"header":{"type":"string","description":"The header field of the date test."},"values":{"type":"array","description":"An array containing the value for the header fields or the values for the body. The test will be true if any of the strings matches (for address-, envelope-, header-test and body-test).","items":{"type":"string"}},"size":{"type":"integer","format":"int64","description":"The size in bytes (for size-test)."},"datepart":{"type":"string","description":"Type of the comparison, which can be \"date\", \"weekday\" or \"time\" (for currentdate-test)."},"datevalue":{"type":"array","description":"Contains the corresponding value to the datepart. For \"date\" and \"time\" this will be an array of \"Date\" (unix timestamp). For \"weekday\", it will be an array of integers ranging from 0 (sunday) to 6 (saturday) reflecting the equivalent weekday (for currentdate-test).","items":{"type":"integer","format":"int64"}},"zone":{"type":"string","description":"Containing the timezone of date or currentdate tests. E.g. \"+0100\". If omitted the current timezone of the user is used."},"extensionskey":{"type":"string","description":"The [extension key](#possible-extensions) (for body-test)."},"extensionsvalue":{"type":"string","description":"A value for the given key. If the key has no value the value given here is ignored (for body-test)."}}},"MailFilterTestv2":{"type":"object","properties":{"test":{"$ref":"#/components/schemas/MailFilterNotTestv2"},"id":{"type":"string","description":"The name of the test command, see [Possible tests](#possible-tests) and [Simplified tests](#simplified-tests)."},"comparison":{"type":"string","description":"The comparison type, see [Possible comparisons](#possible-comparisons)."},"addresspart":{"type":"string","description":"The addresspart which shall be used for envelope or address tests, see [Possible address parts](#possible-address-parts)."},"headers":{"type":"array","description":"An array containing the header fields (for address-, envelope-, exists- and header-test).","items":{"type":"string"}},"header":{"type":"string","description":"The header field of the date test."},"values":{"type":"array","description":"An array containing the value for the header fields or the values for the body. The test will be true if any of the strings matches (for address-, envelope-, header-test and body-test).","items":{"type":"string"}},"size":{"type":"integer","format":"int64","description":"The size in bytes (for size-test)."},"datepart":{"type":"string","description":"Type of the comparison, which can be \"date\", \"weekday\" or \"time\" (for currentdate-test)."},"datevalue":{"type":"array","description":"Contains the corresponding value to the datepart. For \"date\" and \"time\" this will be an array of \"Date\" (unix timestamp). For \"weekday\", it will be an array of integers ranging from 0 (sunday) to 6 (saturday) reflecting the equivalent weekday (for currentdate-test).","items":{"type":"integer","format":"int64"}},"zone":{"type":"string","description":"The timezone which should be used for a date or currentdate test. E.g. \"+0100\". If omitted the current timezone of the user is used."},"extensionskey":{"type":"string","description":"The [extension key](#possible-extensions) (for body-test)."},"extensionsvalue":{"type":"string","description":"A value for the given key. If the key has no value the value given here is ignored (for body-test)."}}},"MailFilterAction":{"type":"object","properties":{"id":{"type":"string","description":"A string defining the object itself (e.g. \"keep\" or \"discard\")."},"to":{"type":"string","description":"A string containing where the mail should be redirected to (for redirect-command)."},"into":{"type":"string","description":"This string takes the object id of the destination mail folder (for move-command)."},"text":{"type":"string","description":"A string containing the reason why the mail is rejected (for reject-command) or a string containing the vacation text itself (for vacation-command)."},"days":{"type":"string","description":"The days for which a vacation text is returned (for vacation-command)."},"addresses":{"type":"array","description":"The addresses for which this vacation is responsible. That means for which addresses out of the aliases array of the user defining this filter, vacations will be sent.","items":{"type":"string"}},"from":{"type":"object","description":"Support for the \":from\" tag. Specifies the value of the from header for the auto-reply mail, e.g. Foo Bear <foo.bear@ox.io>. The array of strings should be a simple JSONArray with length 2; the first element should include the personal part of the e-mail address and the second element the actual e-mail address. If only the e-mail address is available, that should be the only element of the array. (for vacation-command)"},"subject":{"type":"string","description":"The new subject for the returned message (can be left empty, when only adding RE:) (for vacation-command)."},"flags":{"type":"array","description":"An array containing the flags which should be added or set to a mail. A flag can either be a system flag or a user flag. System flags begin with a backslash and can be: \"seen\", \"answered\", \"flagged\", \"deleted\", \"draft\" or \"recent\". User flags begin with a dollar sign and can contain any ASCII characters between 0x21 (\"!\") and 0x7E (\"~\") (inclusive), except for 0x22 (\"), 0x25 (%), 0x28 ((), 0x29 ()), 0x2A (*), 0x5C (backslash), 0x5D (]) and 0x7B ({). Mail color flags as used by OX are implemented by user flags of the form `$cl_n`, where \"n\" is a number between 1 and 10 (inclusive). (for addflags- and setflags-command)","items":{"type":"string"}},"message":{"type":"string","description":"The content of the notification message (for notify-command)."},"method":{"type":"string","description":"The method of the notification message, eg. `mailto:012345678@sms.gateway` (for notify-command)."},"keys":{"type":"array","description":"The public keys which should be used for encryption (for pgp-command).","items":{"type":"string"}},"copy":{"type":"boolean","description":"An optional boolean flag indicating whether a copy tag should be added to the fileinto or redirect command or not."}}},"MailFilterRule":{"type":"object","properties":{"id":{"type":"integer","description":"A unique identifier of the rule (once created must not be changed)."},"position":{"type":"integer","description":"The position inside the mail filter list (starts with 0)."},"rulename":{"type":"string","description":"A name describing the rule, can be empty but must not contain a line break."},"active":{"type":"boolean","description":"If this rule is active or not."},"flags":{"type":"array","description":"An array containing flags which are set on this rule. Each flag can only contain the following characters: 1-9 a-z A-Z. Currently 3 flags are reserved here: \"spam\" which marks the default spam rule, \"vacation\" which marks the vacation rules and \"autoforward\" which marks an autoforwarding rule.","items":{"type":"string"}},"test":{"$ref":"#/components/schemas/MailFilterTest"},"actioncmds":{"type":"array","description":"An array of action commands.","items":{"$ref":"#/components/schemas/MailFilterAction"}},"text":{"type":"string","description":"If this rule cannot be read in this string is filled containing the whole lines of this command.","readOnly":true},"errormsg":{"type":"string","description":"If this rule cannot be read in this string is filled containing a message why, or what part of the rule isn't known.","readOnly":true}}},"MailFilterRulev2":{"type":"object","properties":{"id":{"type":"integer","description":"A unique identifier of the rule (once created must not be changed)."},"position":{"type":"integer","description":"The position inside the mail filter list (starts with 0)."},"rulename":{"type":"string","description":"A name describing the rule, can be empty but must not contain a line break."},"active":{"type":"boolean","description":"If this rule is active or not."},"flags":{"type":"array","description":"An array containing flags which are set on this rule. Each flag can only contain the following characters: 1-9 a-z A-Z. Currently 3 flags are reserved here: \"spam\" which marks the default spam rule, \"vacation\" which marks the vacation rules and \"autoforward\" which marks an autoforwarding rule.","items":{"type":"string"}},"test":{"$ref":"#/components/schemas/MailFilterTestv2"},"actioncmds":{"type":"array","description":"An array of action commands.","items":{"$ref":"#/components/schemas/MailFilterAction"}},"text":{"type":"string","description":"If this rule cannot be read in this string is filled containing the whole lines of this command.","readOnly":true},"errormsg":{"type":"string","description":"If this rule cannot be read in this string is filled containing a message why, or what part of the rule isn't known.","readOnly":true}}},"MailFilterRulesResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/MailFilterRule"}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"MailFilterRulesResponsev2":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/MailFilterRulev2"}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"MailFilterCreationResponse":{"type":"object","properties":{"data":{"type":"integer","description":"The id of the newly created rule."},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"MailFilterApplyResponse":{"type":"object","properties":{"data":{"type":"array","description":"The results per mail","items":{"type":"object","title":"Result","properties":{"id":{"type":"string","description":"The id of the mail"},"folder":{"type":"string","description":"The id of the folder"},"result":{"type":"string","description":"The type of the result.","enum":["OK","ERRORS","WARNINGS"]},"errors":{"type":"string","description":"Gets a human-readable descriptive text listing the encountered errors or warnings."}}}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"MailFilterDeletionBody":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the rule that shall be deleted."}}},"MailFilterScriptResponse":{"type":"object","properties":{"data":{"type":"string","description":"The mail filter script."},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"ConversionDataSource":{"type":"object","properties":{"com.openexchange.mail.conversion.fullname":{"type":"string","description":"The identifier of the folder.","example":"default0/INBOX"},"com.openexchange.mail.conversion.mailid":{"type":"string","description":"The identifier of the mail.","example":"1337"},"com.openexchange.mail.conversion.sequenceid":{"type":"string","description":"The identifier of attachment to analyze.","example":"1.3"}}},"ConversionDataHandlerPair":{"type":"object","properties":{"com.openexchange.groupware.calendar.folder":{"type":"string","description":"The calendar folder ID."},"com.openexchange.groupware.task.folder":{"type":"string","description":"The task folder ID."},"com.openexchange.groupware.calendar.confirmstatus":{"type":"string","description":"The status."},"com.openexchange.groupware.calendar.confirmmessage":{"type":"string","description":"The message."},"com.openexchange.groupware.calendar.timezone":{"type":"string","description":"The timezone ID."},"com.openexchange.grouware.calendar.recurrencePosition":{"type":"string","description":"The recurrence position."},"com.openexchange.groupware.calendar.searchobject":{"type":"string","description":"Can be `true` or `false`."},"com.openexchange.groupware.contact.folder":{"type":"string","description":"The contact folder ID."}}},"ConversionDataHandler":{"type":"object","properties":{"identifier":{"type":"string","description":"The identifier of the data handler."},"args":{"type":"array","description":"A JSON array of optional JSON objects containing the name-value-pairs.","items":{"$ref":"#/components/schemas/ConversionDataHandlerPair"}}}},"ConversionBody":{"type":"object","properties":{"datasource":{"$ref":"#/components/schemas/ConversionDataSource"},"datahandler":{"$ref":"#/components/schemas/ConversionDataHandler"}}},"ConversionResponse":{"type":"object","properties":{"data":{"type":"object"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"MailAccountsResponse":{"type":"object","properties":{"data":{"type":"object","description":"Array of mail accounts. Each account is described as an array itself."},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"MailAccountData":{"type":"object","required":["name","mail_url","primary_address","login","password"],"properties":{"id":{"type":"integer","description":"The account identifier."},"name":{"type":"string","description":"The account's display name."},"login":{"type":"string","description":"The login name."},"password":{"type":"string","description":"The (optional) password."},"mail_url":{"type":"string","description":"The mail server URL, e.g. \"imap://imap.somewhere.com:143\". **URL is preferred over single fields** (like `mail_server`, `mail_port`, etc.)."},"mail_server":{"type":"string","description":"The mail server's hostname or IP address."},"mail_port":{"type":"integer","description":"The mail server's port."},"mail_protocol":{"type":"string","description":"The mail server's protocol. **Always use basic protocol name.** E.g. use \"imap\" instead of \"imaps\"."},"mail_secure":{"type":"boolean","description":"Whether to establish a secure connection to mail server (SSL, TLS)."},"mail_starttls":{"type":"boolean","description":"Whether to establish a secure connection to mail server via STARTTLS."},"mail_oauth":{"type":"integer","description":"Provides the identifier of the associated OAuth account (if any) or `-1`."},"transport_url":{"type":"string","description":"The transport server URL, e.g. \"smtp://smtp.somewhere.com:25\". **URL is preferred over single fields** (like `transport_server`, `transport_port`, etc.)."},"transport_server":{"type":"string","description":"The transport server's hostname or IP address."},"transport_port":{"type":"integer","description":"The transport server's port."},"transport_protocol":{"type":"string","description":"The transport server's protocol. **Always use basic protocol name.** E.g. use \"smtp\" instead of \"smtps\"."},"transport_secure":{"type":"boolean","description":"Whether to establish a secure connection to transport server (SSL, TLS)."},"transport_login":{"type":"string","description":"The transport login. **Please see `transport_auth` for the handling of this field.**"},"transport_password":{"type":"string","description":"The transport password. **Please see `transport_auth` for the handling of this field.**"},"transport_auth":{"type":"string","description":"Specifies the source for mail transport (SMTP) credentials. Possible values are `mail`, `custom`, and `none`. `mail` signals to use the same credentials as given in associated mail store (IMAP, POP3). `custom` signals that individual credentials are supposed to be used (fields `transport_login`, `transport_password` and/or `transport_oauth` are considered). `none` means the mail transport does not support any authentication mechanism (rare case!)"},"transport_starttls":{"type":"boolean","description":"Whether to establish a secure connection to transport server via STARTTLS."},"transport_oauth":{"type":"integer","description":"The identifier of the OAuth account to use for mail transport. **Please see `transport_auth` for the handling of this field.**"},"root_folder":{"type":"string","description":"The fully-qualifying identifier of account's root folder, e.g. \"default519\"."},"primary_address":{"type":"string","description":"The user's primary address in account, e.g. \"someone@somewhere.com\"."},"spam_handler":{"type":"string","description":"The name of the spam handler used by account."},"trash":{"type":"string","description":"The name of the default trash folder."},"sent":{"type":"string","description":"The name of the default sent folder."},"drafts":{"type":"string","description":"The name of the default drafts folder."},"spam":{"type":"string","description":"The name of the default spam folder."},"confirmed_spam":{"type":"string","description":"The name of the default confirmed-spam folder."},"confirmed_ham":{"type":"string","description":"The name of the default confirmed-ham folder."},"unified_inbox_enabled":{"type":"boolean","description":"Whether Unified INBOX is enabled."},"trash_fullname":{"type":"string","description":"Path to default trash folder. Preferred over `trash`."},"sent_fullname":{"type":"string","description":"Path to default sent folder. Preferred over `sent`."},"drafts_fullname":{"type":"string","description":"Path to default drafts folder. Preferred over `drafts`."},"spam_fullname":{"type":"string","description":"Path to default spam folder. Preferred over `spam`."},"confirmed_spam_fullname":{"type":"string","description":"Path to default confirmed-spam folder. Preferred over `confirmed_spam`."},"confirmed_ham_fullname":{"type":"string","description":"Path to default confirmed-ham folder. Preferred over `confirmed_ham`."},"pop3_refresh_rate":{"type":"integer","description":"The interval in minutes the POP3 account is refreshed."},"pop3_expunge_on_quit":{"type":"boolean","description":"Whether POP3 messages shall be deleted on actual POP3 account after retrieval or not."},"pop3_delete_write_through":{"type":"boolean","description":"If option `pop3_expunge_on_quite` is disabled, this field defines whether a deleted in local INBOX also deletes affected message in actual POP3 account."},"pop3_storage":{"type":"string","description":"The name of POP3 storage provider, default is \"mailaccount\"."},"pop3_path":{"type":"string","description":"Path to POP3's virtual root folder in storage, default name of the POP3 account beside default folders."},"personal":{"type":"string","description":"The customizable personal part of the email address."},"reply_to":{"type":"string","description":"The customizable reply-to email address."},"addresses":{"type":"string","description":"The comma-separated list of available email addresses including aliases (**only available for primary mail account**)."},"meta":{"type":"string","description":"Stores arbitrary JSON data as specified by client associated with the mail account."},"archive":{"type":"string","description":"The name of the archive folder. **Currently not functional!**"},"archive_fullname":{"type":"string","description":"The full name of the archive folder. **Currently not functional!**"}}},"MailAccountResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/MailAccountData"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"MailAccountUpdateResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/MailAccountData"},"warnings":{"type":"array","description":"An array of error objects that occurred during the creation of the account.","items":{"$ref":"#/components/schemas/CommonResponse"}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"MailAccountDeletionResponse":{"type":"object","properties":{"data":{"type":"array","description":"An array containing the identifiers of the mail accounts that were deleted.","items":{"type":"integer"}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"MailAccountValidationResponse":{"type":"object","properties":{"data":{"type":"object","description":"'A boolean if parameter `tree` is not specified indicating the validation result otherwise the folder\ntree object [FolderData](https://documentation.open-xchange.com/latest/middleware/http-api-gen/#_folderdata) extended by a field `subfolder_array` that contains possible subfolders.\nIn the tree case a value of `null` indicating a failed validation.'\n"},"warnings":{"$ref":"#/components/schemas/CommonResponse"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"MailAccountStatusResponse":{"type":"object","properties":{"data":{"type":"object","title":"Status","properties":{"status":{"type":"string","description":"The status' identifier, such as \"ok\" or \"invalid_credentials\""},"message":{"type":"string","description":"An optional human-readable status-related message"}}},"warnings":{"$ref":"#/components/schemas/CommonResponse"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"MailComposeResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/MailComposeMessageModel"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"MailComposeGetResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/MailComposeMessageModel"}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"MailComposeMessageModel":{"type":"object","properties":{"id":{"type":"string","description":"An address"},"from":{"type":"array","title":"Address","description":"Flat array of two strings. First item is display name, second item is email address.","items":{"type":"string"}},"to":{"type":"array","description":"An array of addresses","items":{"type":"array","title":"Address","description":"Flat array of two strings. First item is display name, second item is email address.","items":{"type":"string"}}},"cc":{"type":"array","description":"An array of addresses","items":{"type":"array","title":"Address","description":"Flat array of two strings. First item is display name, second item is email address.","items":{"type":"string"}}},"bcc":{"type":"array","description":"An array of addresses","items":{"type":"array","title":"Address","description":"Flat array of two strings. First item is display name, second item is email address.","items":{"type":"string"}}},"subject":{"type":"string","description":"The subject"},"content":{"type":"string","description":"The text content"},"contentType":{"type":"string","description":"The content type","enum":["text/plain","text/html"]},"attachments":{"type":"array","description":"An array of attachments","items":{"type":"object","title":"Attachment","description":"An attachment object.","properties":{"id":{"type":"string","description":"The attachment id"},"name":{"type":"string","description":"The attachment name"},"size":{"type":"integer","format":"int64","description":"The attachments size in bytes"},"mimeType":{"type":"string","description":"The mime type"},"cid":{"type":"string","description":"The attachments content identifier"},"contentDisposition":{"type":"string","description":"Allows filtering. Inline images don't need to be displayed in the attachment list.","enum":["inline","attachment"]},"origin":{"type":"string","description":"Origin of file, i.e. File from drive instead of local attachment.","enum":["upload","mail","drive","contact","vcard"]}}}},"meta":{"type":"object","title":"Meta","description":"Object of meta information","properties":{"type":{"type":"string","description":"The type","enum":["NEW","REPLY","REPLY_ALL","FORWARD_INLINE","FORWARD_ATTACHMENT","RESEND"]},"date":{"type":"integer","format":"int64","description":"The date we should use for \"On 6.6.2018 someone <someone@example.org> wrote:\". Server decides whether this is sent or received date. Milliseconds since January 1, 1970, 00:00:00 GMT"},"originalFolderId":{"type":"string","description":"Original folder id during reply or forward"},"originalId":{"type":"string","description":"Original message id during reply or forward"}}},"requestReadReceipt":{"type":"boolean","description":"Request read receipt flag"},"priority":{"type":"string","description":"priority","enum":["low","normal","high"]},"sharedAttachments":{"type":"object","title":"Shared Attachments","description":"The shared attachments object","properties":{"language":{"type":"string","description":"The locale string"},"enabled":{"type":"boolean","description":"The enabled flag"},"autodelete":{"type":"boolean","description":"The auto delete flag"},"expiryDate":{"type":"integer","format":"int64","description":"The expiry date. Milliseconds since January 1, 1970, 00:00:00 GMT"},"password":{"type":"string","description":"The password"}}},"security":{"type":"object","title":"Security","description":"The security settings","properties":{"encrypt":{"type":"boolean"},"pgpInline":{"type":"boolean"},"sign":{"type":"boolean"},"language":{"type":"string"},"message":{"type":"string"},"pin":{"type":"string"},"msgRef":{"type":"string"},"authentication":{"type":"string"}}}}},"MailComposeAttachmentResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/MailComposeAttachment"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"MailComposeAttachmentPostResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/MailComposeAttachment"}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"MailComposeAttachment":{"type":"object","title":"Attachment","description":"An attachment object.","properties":{"id":{"type":"string","description":"The attachment id"},"name":{"type":"string","description":"The attachment name"},"size":{"type":"integer","format":"int64","description":"The attachments size in bytes"},"mimeType":{"type":"string","description":"The mime type"},"cid":{"type":"string","description":"The attachments content identifier"},"contentDisposition":{"type":"string","description":"Allows filtering. Inline images don't need to be displayed in the attachment list.","enum":["inline","attachment"]},"origin":{"type":"string","description":"Origin of file, i.e. File from drive instead of local attachment.","enum":["upload","mail","drive","contact","vcard"]}}},"MailComposeSendResponse":{"type":"object","properties":{"data":{"type":"string"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"MailComposeSaveResponse":{"type":"object","properties":{"data":{"type":"string"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"DataExportTask":{"type":"object","properties":{"id":{"type":"string","description":"The task identifier"},"status":{"type":"string","description":"The task's status"},"creationTime":{"type":"integer","format":"int64","description":"The time when task was created/submitted."},"startTime":{"type":"integer","format":"int64","description":"The time when processing of the task started. Not present in case task has not yet been started."},"duration":{"type":"integer","format":"int64","description":"The duration of the processing for the task. Not present in case task is not yet terminated."},"availableUntil":{"type":"integer","format":"int64","description":"The number of milliseconds how long task's result files will stay accessible until automatically deleted. Not present in case task is not yet terminated."},"results":{"type":"array","description":"The result files. Not present in case task is not yet terminated.","items":{"$ref":"#/components/schemas/DataExportResultFile"}},"workItems":{"type":"array","description":"The result files. Not present in case task is not yet terminated.","items":{"$ref":"#/components/schemas/DataExportWorkItem"}}}},"DataExportTaskResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/DataExportTask"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"DataExportWorkItem":{"type":"object","properties":{"id":{"type":"string","description":"The work item identifier"},"module":{"type":"string","description":"The module identifier"},"status":{"type":"string","description":"The status of the work item"},"info":{"type":"object","description":"The optional status information","properties":{"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"An array of error params.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides \nthe stack trace of associated Java exception represented as a JSON array.\n","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."}}}}},"DataExportResultFile":{"type":"object","properties":{"fileInfo":{"type":"string","description":"The work item identifier"},"number":{"type":"integer","description":"The package number"},"contentType":{"type":"string","description":"The Content-Type identifier"},"taskId":{"type":"string","description":"The task identifier"}}},"DataExportModules":{"type":"object","properties":{"calendar":{"type":"object","description":"The calendar module","properties":{"enabled":{"type":"boolean","description":"Whether the calendar module is enabled"},"includePublic":{"type":"boolean","description":"The default setting for public folders if public folder export is available."},"includeShared":{"type":"boolean","description":"The default setting for shared folders if shared folder export is available."},"includeUnsubscribed":{"type":"boolean","description":"The default setting for unsubscribed folders if unsubscribed folder export is available."}},"required":["enabled"]},"contacts":{"type":"object","description":"The contacts module","properties":{"enabled":{"type":"boolean","description":"Whether the contacts module is enabled"},"includePublic":{"type":"boolean","description":"The default setting for public folders if public folder export is available."},"includeShared":{"type":"boolean","description":"The default setting for shared folders if shared folder export is available."}},"required":["enabled"]},"infostore":{"type":"object","description":"The infostore module","properties":{"enabled":{"type":"boolean","description":"Whether the infostore module is enabled"},"includePublic":{"type":"boolean","description":"The default setting for public folders if public folder export is available."},"includeShared":{"type":"boolean","description":"The default setting for shared folders if shared folder export is available."},"includeTrash":{"type":"boolean","description":"The default setting for the trash folder if trash folder export is available."},"includeAllVersions":{"type":"boolean","description":"The default setting for all versions export if all version export is available."}},"required":["enabled"]},"mail":{"type":"object","description":"The mail module","properties":{"enabled":{"type":"boolean","description":"Whether the mail module is enabled"},"includePublic":{"type":"boolean","description":"The default setting for public folders if public folder export is available."},"includeShared":{"type":"boolean","description":"The default setting for shared folders if shared folder export is available."},"includeTrash":{"type":"boolean","description":"The default setting for the trash folder if trash folder export is available."},"includeUnsubscribed":{"type":"boolean","description":"The default setting for unsubscribed folders if unsubscribed folder export is available."}},"required":["enabled"]},"tasks":{"type":"object","description":"The tasks module","properties":{"enabled":{"type":"boolean","description":"Whether the tasks module is enabled"},"includePublic":{"type":"boolean","description":"The default setting for public folders if public folder export is available."},"includeShared":{"type":"boolean","description":"The default setting for shared folders if shared folder export is available."}},"required":["enabled"]}}},"AutoConfigResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/MailAccountData"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"UsersResponse":{"type":"object","properties":{"data":{"type":"object","description":"Array of user. Each user is described as an array itself."},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"UserData":{"allOf":[{"type":"object","properties":{"aliases":{"type":"array","description":"The user's aliases.","items":{"type":"string"}},"timezone":{"type":"string","description":"The time zone."},"locale":{"type":"string","description":"The name of user's entire locale, with, language, country and variant separated by underbars (e.g. \"en\", \"de_DE\")."},"groups":{"type":"array","description":"The IDs of user's groups.","items":{"type":"integer"}},"contact_id":{"type":"string","description":"The contact ID of the user."},"login_info":{"type":"string","description":"The user's login information."},"guest_created_by":{"type":"integer","description":"The ID of the user who has created this guest in case this user represents a guest user. 0 represents regular users.","readOnly":true},"uid":{"type":"string","description":"Can only be written when the object is created. Internal and external globally unique identifier of the contact. Is used to recognize contacts within vCard files. If this attribute is not written it contains an automatic generated UUID."},"display_name":{"type":"string","description":"The display name."},"first_name":{"type":"string","description":"The given name."},"last_name":{"type":"string","description":"The sur name."},"second_name":{"type":"string","description":"The middle name."},"suffix":{"type":"string","description":"The suffix."},"title":{"type":"string","description":"The title."},"street_home":{"type":"string","description":"The street of the home address."},"postal_code_home":{"type":"string","description":"The postal code of the home address."},"city_home":{"type":"string","description":"The city of the home address."},"state_home":{"type":"string","description":"The state of the home address."},"country_home":{"type":"string","description":"The country of the home address."},"birthday":{"type":"integer","format":"int64","description":"The date of birth."},"marital_status":{"type":"string","description":"The marital status."},"number_of_children":{"type":"string","description":"The number of children."},"profession":{"type":"string","description":"The profession."},"nickname":{"type":"string","description":"The nickname."},"spouse_name":{"type":"string","description":"The name of the spouse."},"anniversary":{"type":"integer","format":"int64","description":"The anniversary."},"note":{"type":"string","description":"A note."},"department":{"type":"string","description":"The department."},"position":{"type":"string","description":"The position."},"employee_type":{"type":"string","description":"The type of the employee."},"room_number":{"type":"string","description":"The room number."},"street_business":{"type":"string","description":"The street of the business address."},"postal_code_business":{"type":"string","description":"The postal code of the business address."},"city_business":{"type":"string","description":"The city of the business address."},"state_business":{"type":"string","description":"The state of the business address."},"country_business":{"type":"string","description":"The country of the business address."},"user_id":{"type":"integer","description":"The internal user id.","readOnly":true},"number_of_employees":{"type":"string","description":"The number of employees."},"sales_volume":{"type":"string","description":"The sales volume."},"tax_id":{"type":"string","description":"The tax id."},"commercial_register":{"type":"string","description":"The commercial register."},"branches":{"type":"string","description":"The branches."},"business_category":{"type":"string","description":"The business category."},"info":{"type":"string","description":"An information."},"manager_name":{"type":"string","description":"The manager's name."},"assistant_name":{"type":"string","description":"The assistant's name."},"street_other":{"type":"string","description":"The street of another address."},"postal_code_other":{"type":"string","description":"The postal code of another address."},"city_other":{"type":"string","description":"The city of another address."},"state_other":{"type":"string","description":"The state of another address."},"country_other":{"type":"string","description":"The country of another address."},"telephone_business1":{"type":"string","description":"The business telephone number 1."},"telephone_business2":{"type":"string","description":"The business telephone number 2."},"fax_business":{"type":"string","description":"The business fax number."},"telephone_callback":{"type":"string","description":"The callback telephone number."},"telephone_car":{"type":"string","description":"The car telephone number."},"telephone_company":{"type":"string","description":"The company telephone number."},"telephone_home1":{"type":"string","description":"The home telephone number 1."},"telephone_home2":{"type":"string","description":"The home telephone number 2."},"fax_home":{"type":"string","description":"The home fax number."},"cellular_telephone1":{"type":"string","description":"The cellular telephone number 1."},"cellular_telephone2":{"type":"string","description":"The cellular telephone number 2."},"telephone_other":{"type":"string","description":"The other telephone number."},"fax_other":{"type":"string","description":"The other fax number."},"email1":{"type":"string","description":"The email address 1."},"email2":{"type":"string","description":"The email address 2."},"email3":{"type":"string","description":"The email address 3."},"url":{"type":"string","description":"The url address or homepage."},"telephone_isdn":{"type":"string","description":"The ISDN telephone number."},"telephone_pager":{"type":"string","description":"The pager telephone number."},"telephone_primary":{"type":"string","description":"The primary telephone number."},"telephone_radio":{"type":"string","description":"The radio telephone number."},"telephone_telex":{"type":"string","description":"The telex telephone number."},"telephone_ttytdd":{"type":"string","description":"The TTY/TDD telephone number."},"instant_messenger1":{"type":"string","description":"The instant messenger address 1."},"instant_messenger2":{"type":"string","description":"The instant messenger address 2."},"telephone_ip":{"type":"string","description":"The IP telephone number."},"telephone_assistant":{"type":"string","description":"The assistant telephone number."},"company":{"type":"string","description":"The company name."},"image1":{"type":"string"},"image1_content_type":{"type":"string","description":"The content type of the image (like \"image/png\")."},"image1_url":{"type":"string","description":"The url to the image."},"number_of_images":{"type":"integer","description":"The number of images."},"image_last_modified":{"type":"integer","format":"int64","description":"The last modification of the image."},"distribution_list":{"type":"array","description":"If this contact is a distribution list, then this field is an array of objects. Each object describes a member of the list.","items":{"$ref":"#/components/schemas/DistributionListMember"}},"number_of_distribution_list":{"type":"integer","description":"The number of objects in the distribution list."},"mark_as_distributionlist":{"type":"boolean"},"file_as":{"type":"string","description":"The file name."},"default_address":{"type":"integer","description":"The default address."},"useCount":{"type":"integer","description":"In case of sorting purposes the column 609 is also available, which places global address book contacts at the beginning of the result. If 609 is used, the order direction (ASC, DESC) is ignored."},"yomiFirstName":{"type":"string","description":"Kana based representation for the First Name. Commonly used in japanese environments for searchin/sorting issues."},"yomiLastName":{"type":"string","description":"Kana based representation for the Last Name. Commonly used in japanese environments for searchin/sorting issues."},"yomiCompany":{"type":"string","description":"Kana based representation for the Company. Commonly used in japanese environments for searchin/sorting issues."},"addressHome":{"type":"string","description":"Support for Outlook 'home' address field."},"addressBusiness":{"type":"string","description":"Support for Outlook 'business' address field."},"addressOther":{"type":"string","description":"Support for Outlook 'other' address field."},"userfield01":{"type":"string","description":"Dynamic Field 1."},"userfield02":{"type":"string","description":"Dynamic Field 2."},"userfield03":{"type":"string","description":"Dynamic Field 3."},"userfield04":{"type":"string","description":"Dynamic Field 4."},"userfield05":{"type":"string","description":"Dynamic Field 5."},"userfield06":{"type":"string","description":"Dynamic Field 6."},"userfield07":{"type":"string","description":"Dynamic Field 7."},"userfield08":{"type":"string","description":"Dynamic Field 8."},"userfield09":{"type":"string","description":"Dynamic Field 9."},"userfield10":{"type":"string","description":"Dynamic Field 10."},"userfield11":{"type":"string","description":"Dynamic Field 11."},"userfield12":{"type":"string","description":"Dynamic Field 12."},"userfield13":{"type":"string","description":"Dynamic Field 13."},"userfield14":{"type":"string","description":"Dynamic Field 14."},"userfield15":{"type":"string","description":"Dynamic Field 15."},"userfield16":{"type":"string","description":"Dynamic Field 16."},"userfield17":{"type":"string","description":"Dynamic Field 17."},"userfield18":{"type":"string","description":"Dynamic Field 18."},"userfield19":{"type":"string","description":"Dynamic Field 19."},"userfield20":{"type":"string","description":"Dynamic Field 20."}}},{"type":"object","properties":{"id":{"type":"string","description":"Object ID."},"created_by":{"type":"string","description":"User ID of the user who created this object.","readOnly":true},"modified_by":{"type":"string","description":"User ID of the user who last modified this object.","readOnly":true},"creation_date":{"type":"integer","format":"int64","description":"Date and time of creation.","readOnly":true},"last_modified":{"type":"integer","format":"int64","description":"Date and time of the last modification.","readOnly":true},"folder_id":{"type":"string","description":"Object ID of the parent folder."},"categories":{"type":"string","description":"String containing comma separated the categories. Order is preserved. Changing the order counts as modification of the object. Not present in folder objects."},"private_flag":{"type":"boolean","description":"Overrides folder permissions in shared private folders: When `true`, this object is not visible to anyone except the owner. Not present in folder objects."},"color_label":{"type":"integer","minimum":0,"maximum":10,"description":"Color number used by Outlook to label the object. The assignment of colors to numbers is arbitrary and specified by the client. The numbers are integer numbers between 0 and 10 (inclusive). Not present in folder objects."},"number_of_attachments":{"type":"integer","description":"Number of attachments."},"lastModifiedOfNewestAttachmentUTC":{"type":"integer","format":"int64","description":"Timestamp of the newest attachment written with UTC time zone."}}}]},"UserResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/UserData"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"UserSearchBody":{"type":"object","properties":{"pattern":{"type":"string","description":"Search pattern to find tasks. In the pattern, the character \"*\" matches zero or more characters and the character \"?\" matches exactly one character. All other characters match only themselves."},"startletter":{"type":"boolean","description":"Search users with the given startletter. If this field is present, the pattern is matched against the user field which is specified by the property \"contact_first_letter_field\" on the server (default: last name). Otherwise, the pattern is matched against the display name."},"last_name":{"type":"string","description":"Searches users where the last name matches with the given last name. The character \"*\" matches zero or more characters and the character \"?\" matches exactly one character. This field is ignored if `pattern` is specified."},"first_name":{"type":"string","description":"Searches users where the first name matches with the given first name. The character \"*\" matches zero or more characters and the character \"?\" matches exactly one character. This field is ignored if `pattern` is specified."},"display_name":{"type":"string","description":"Searches users where the display name matches with the given display name. The character \"*\" matches zero or more characters and the character \"?\" matches exactly one character. This field is ignored if `pattern` is specified."},"orSearch":{"type":"boolean","description":"If set to `true`, the fields `last_name`, `first_name` and `display_name` are connected through an OR search habit. This field is ignored if `pattern` is specified."},"emailAutoComplete":{"type":"boolean","description":"If set to `true`, results are guaranteed to contain at least one email adress and the search is performed by connecting the relevant fields through an OR search habit. This field is ignored if `pattern` is specified."}}},"UserAttribute":{"type":"object","properties":{"name":{"type":"string","description":"The name of the attribute."},"value":{"type":"string","description":"The value of the attribute."}}},"UserAttributeResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/UserAttribute"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"UserAttributionResponse":{"type":"object","properties":{"data":{"type":"boolean","description":"Indicates whether the attribute could be set."},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"CurrentUserData":{"type":"object","properties":{"context_id":{"type":"integer","description":"The unique identifier of the user's context."},"user_id":{"type":"integer","description":"The unique identifier of the user himself."},"context_admin":{"type":"integer","description":"The ID of the context administrator user."},"login_name":{"type":"string","description":"The login name of the user."},"display_name":{"type":"string","description":"The display name of the user."},"mail_login":{"type":"string","description":"The username used to authenticate at the primary mail server. Can be absent in temporary error situations."},"email_address":{"type":"string","description":"The users' primary email address"},"email_aliases":{"type":"array","description":"All email aliases of the user","items":{"type":"string"}}}},"CurrentUserResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CurrentUserData"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"OAuthAccountData":{"type":"object","properties":{"id":{"type":"integer","description":"The numeric identifier of the OAuth account."},"displayName":{"type":"string","description":"The account's display name."},"serviceId":{"type":"string","description":"The identifier of the associated service meta data, e.g. \"com.openexchange.oauth.twitter\"."},"token":{"type":"string","description":"The token."},"secret":{"type":"string","description":"The token secret."},"enabledScopes":{"type":"array","description":"The enabled scopes for this OAuth account","items":{"type":"string"}},"availableScopes":{"type":"array","description":"The available scopes for the OAuth provider of this OAuth account","readOnly":true,"items":{"type":"string"}},"associations":{"type":"array","description":"The account associations of the OAuth account.","readOnly":true,"items":{"type":"object","title":"association","properties":{"module":{"type":"string","description":"The module of the account."},"folder":{"type":"string","description":"The folder of the account."},"scopes":{"type":"array","description":"The scopes for this account.","items":{"type":"string"}},"name":{"type":"string","description":"The display name of the account."},"id":{"type":"string","description":"The account's identifier."}}}}}},"OAuthAccountsResponse":{"type":"object","properties":{"data":{"type":"array","description":"An array of OAuth account objects.","items":{"$ref":"#/components/schemas/OAuthAccountData"}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"OAuthAccountResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/OAuthAccountData"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"OAuthAccountDeletionResponse":{"type":"object","properties":{"data":{"type":"boolean","description":"Indicates whether the the account was deleted successfully."},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"OAuthAccountUpdateResponse":{"type":"object","properties":{"data":{"type":"boolean","description":"Indicates whether the the account was updated successfully."},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"OAuthAccountInteraction":{"type":"object","properties":{"authUrl":{"type":"string","description":"The numeric identifier of the OAuth account."},"type":{"type":"string","description":"The interaction type name, which can be \"outOfBand\" or \"callback\"."},"token":{"type":"string","description":"The token."},"uuid":{"type":"string","description":"The UUID for this OAuth interaction."}}},"OAuthAccountInteractionResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/OAuthAccountInteraction"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"OAuthServiceMetaData":{"type":"object","properties":{"id":{"type":"string","description":"The identifier of the service meta data, e.g. \"com.openexchange.oauth.twitter\"."},"displayName":{"type":"string","description":"The service's display name."},"availableScopes":{"type":"array","description":"The available scopes for the OAuth provider","items":{"type":"string"}}}},"OAuthServicesResponse":{"type":"object","properties":{"data":{"type":"array","description":"An array with OAuth service meta data.","items":{"$ref":"#/components/schemas/OAuthServiceMetaData"}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"OAuthServiceResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/OAuthServiceMetaData"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"OAuthGrantData":{"type":"object","properties":{"client":{"$ref":"#/components/schemas/OAuthClientData"},"scopes":{"type":"object","description":"A mapping from scope tokens to translated, human-readable descriptions for every scope that was granted to the external service (example: {\"read_contacts\":\"See all your contacts\"})."},"date":{"type":"integer","format":"int64","description":"The time when the access was granted."}}},"OAuthClientData":{"type":"object","properties":{"id":{"type":"string","description":"The client's ID."},"name":{"type":"string","description":"The client's/service's name."},"description":{"type":"string","description":"A description of the client."},"website":{"type":"string","description":"A URL to the client's website."},"icon":{"type":"string","description":"A URL or path to obtain the client's icon via the image module."}}},"OAuthGrantsResponse":{"type":"object","properties":{"data":{"type":"array","description":"An array containing one object for every granted access.","items":{"$ref":"#/components/schemas/OAuthGrantData"}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"JSlobData":{"type":"object","properties":{"id":{"type":"string","description":"The identifier of the JSlob."},"tree":{"type":"object","description":"The JSON object that is stored in the JSlob."},"meta":{"type":"object","description":"A JSON object containing meta data."}}},"JSlobsResponse":{"type":"object","properties":{"data":{"type":"array","description":"An array containing JSON configurations.","items":{"$ref":"#/components/schemas/JSlobData"}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"MessagingFormDescription":{"type":"object","properties":{"widget":{"type":"string","description":"The name of the widget."},"name":{"type":"string","description":"The name of the field."},"displayName":{"type":"string","description":"The display name of the field."},"mandatory":{"type":"boolean","description":"Indicates whether the field is mandatory."},"options":{"type":"object","description":"A list of available options in the field."},"defaultValue":{"type":"object","description":"Can contain a default value."}}},"MessagingServiceData":{"type":"object","properties":{"id":{"type":"string","description":"The identifier of the messaging service. This is usually a string in reverse domain name notation, like \"com.openexchange.messaging.twitter\"."},"displayName":{"type":"string","description":"Human-readable display name of the service."},"formDescription":{"type":"array","description":"An array of dynamic form fields. Same as in PubSub.","items":{"$ref":"#/components/schemas/MessagingFormDescription"}},"messagingActions":{"type":"array","description":"An array representing a dynamic set of actions that are possible with messages of this service.","items":{"type":"string"}}}},"MessagingServicesResponse":{"type":"object","properties":{"data":{"type":"array","description":"An array containing JSON objects representing messaging services.","items":{"$ref":"#/components/schemas/MessagingServiceData"}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"MessagingServiceResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/MessagingServiceData"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"MessagingAccountData":{"type":"object","properties":{"id":{"type":"integer","description":"Identifier of the messaging account."},"messagingService":{"type":"string","description":"The messaging service ID of the messaging service this account belongs to."},"displayName":{"type":"string","description":"User chosen string to identify a given account. Will also be translated into the folder name of the folder representing the accounts content."},"configuration":{"type":"object","description":"The configuration data according to the `formDescription` of the relevant messaging service."}}},"MessagingAccountsResponse":{"type":"object","properties":{"data":{"type":"array","description":"An array containing JSON objects representing messaging accounts.","items":{"$ref":"#/components/schemas/MessagingAccountData"}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"MessagingAccountResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/MessagingAccountData"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"MessagingAccountUpdateResponse":{"type":"object","properties":{"data":{"type":"integer","description":"The response value."},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"MessagingMessagesResponse":{"type":"object","properties":{"data":{"type":"object","description":"Array of messages. Each message is described as an array itself."},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"MessagingMessageData":{"type":"object","title":"MessageDataBody","properties":{"id":{"type":"string","description":"The ID of the message. Only unique in the given folder."},"folder":{"type":"string","description":"The folder ID."},"threadLevel":{"type":"integer","description":"The nesting level of this message according to the conversation it's belonged to. May not be set."},"flags":{"type":"integer","description":"Bitmask showing the state of this message. The same as in the module [mail](https://documentation.open-xchange.com/latest/middleware/http-api-gen/#_mail_resource)."},"receivedDate":{"type":"integer","format":"int64","description":"The time this message was received.","readOnly":true},"colorLabel":{"type":"integer","description":"An arbitrary number marking the message in a certain color. The same as the color label common to all groupware objects."},"user":{"type":"array","description":"An array of strings representing user flags.","items":{"type":"string"}},"size":{"type":"integer","format":"int64","description":"The size of the message in bytes."},"picture":{"type":"string","description":"The URL to a picture for this message."},"url":{"type":"string","description":"A link to the messages origin currently used in RSS messages."},"sectionId":{"type":"string","description":"The section ID of a certain message part, if the content-type is `multipart/*`."},"headers":{"type":"object","description":"A JSON object of header data. Usually the value is either a string or an array (if it has more than one value). Certain headers are rendered as more complex structures."},"body":{"type":"object","description":"A JSON object representing the content of the message."}}},"MessagingMessageResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/MessagingMessageData"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"MessagingMessageUpdateResponse":{"type":"object","properties":{"data":{"type":"integer","description":"The response value."},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"SnippetAttachment":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the attachment."},"filename":{"type":"string","description":"The file name of the attachment."},"mimetype":{"type":"string","description":"The MIME type of the attachment."},"contentid":{"type":"string","description":"The content ID of the attachment."},"size":{"type":"integer","format":"int64","description":"The size of the attachment in bytes."}}},"SnippetData":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the snippet."},"accountid":{"type":"integer","description":"The identifier of the account."},"createdby":{"type":"integer","description":"The user ID of the creator.","readOnly":true},"displayname":{"type":"string","description":"The display name of the snippet."},"type":{"type":"string","description":"The type of the snippet, like \"signature\"."},"content":{"type":"string","description":"Contains the snippet's content."},"module":{"type":"string","description":"The module identifier, like \"com.openexchange.mail\"."},"shared":{"type":"boolean","description":"The shared flag."},"misc":{"type":"object","description":"Contains miscellaneous data as JSON object."},"props":{"type":"object","description":"Contains custom properties as JSON object."},"files":{"type":"array","description":"An array of attachments.","items":{"$ref":"#/components/schemas/SnippetAttachment"}}}},"SnippetsResponse":{"type":"object","properties":{"data":{"type":"array","description":"An array of snippet objects.","items":{"$ref":"#/components/schemas/SnippetData"}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"SnippetResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SnippetData"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"SnippetUpdateResponse":{"type":"object","properties":{"data":{"type":"string","description":"The ID of the new snippet."},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"SnippetAttachmentListElement":{"type":"object","properties":{"id":{"type":"string","description":"The identifier of an attachment."}}},"HaloServicesResponse":{"type":"object","properties":{"data":{"type":"array","description":"An array with available halo providers.","items":{"type":"string"}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"HaloInvestigationResponse":{"type":"object","properties":{"data":{"type":"object","description":"Array of halo data objects specified by the corresponding identifiers in the `columns` parameter. The element types can be distinguished."},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"CapabilityData":{"type":"object","properties":{"id":{"type":"string","description":"The identifier of the capability."},"attributes":{"type":"object","description":"A JSON object holding properties of the capability."}}},"CapabilitiesResponse":{"type":"object","properties":{"data":{"type":"array","description":"An array of JSON objects each describing one capability.","items":{"$ref":"#/components/schemas/CapabilityData"}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"CapabilityResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CapabilityData"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"JumpTokenData":{"type":"object","properties":{"token":{"type":"string","description":"The identifier of the token."}}},"JumpResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/JumpTokenData"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"FindOptionsData":{"type":"object","properties":{"timezone":{"type":"string","description":"The timezone to use if any dates are returned."},"admin":{"type":"boolean","description":"(DEPRECATED) Indicates whether the context admin shall be included if it matches any search criteria. If the context admin shall always be ignored (i.e. not returned), `false` has to be set."}}},"FindFacetItem":{"type":"object","description":"A more complex object to display this facet. Attributes are `name`, `detail` (optional), and `image_url` (optional). (for simple, default, and exclusive)","properties":{"name":{"type":"string","description":"A displayable (and localized) name for the facet."},"detail":{"type":"string","description":"A displayable (and localized) detail name, like \"in mail text\"."},"image_url":{"type":"string","description":"An URL to a displayable image."}}},"FindFacetFilter":{"type":"object","description":"The filter to refine the search. (for simple)","properties":{"fields":{"type":"array","description":"An array of fields to search for.","items":{"type":"string"}},"queries":{"type":"array","description":"An array of corresponding search values.","items":{"type":"string"}}}},"FindFacetValue":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the value. Must be unique within one facet."},"name":{"type":"string","description":"A displayable (and localized) name for this facet. If absent, an `item` attribute is present."},"item":{"$ref":"#/components/schemas/FindFacetValueItem"},"filter":{"$ref":"#/components/schemas/FindFacetValueFilter"},"options":{"type":"array","description":"An array of options to refine the search.","items":{"$ref":"#/components/schemas/FindFacetValueOption"}}}},"FindFacetValueItem":{"type":"object","description":"A more complex object to display this facet. Attributes are `name`, `detail` (optional), and `image_url` (optional).","properties":{"name":{"type":"string","description":"A displayable (and localized) name for the facet."},"detail":{"type":"string","description":"A displayable (and localized) detail name, like \"in mail text\"."},"image_url":{"type":"string","description":"An URL to a displayable image."}}},"FindFacetValueFilter":{"type":"object","description":"The filter to refine the search.","properties":{"fields":{"type":"array","description":"An array of fields to search for.","items":{"type":"string"}},"queries":{"type":"array","description":"An array of corresponding search values.","items":{"type":"string"}}}},"FindFacetValueOption":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the option. Must be unique within a set of options."},"name":{"type":"string","description":"The displayable (and localized) name for this option."},"filter":{"$ref":"#/components/schemas/FindFacetValueFilter"}}},"FindFacetData":{"type":"object","properties":{"style":{"type":"string","description":"The facet style, which can be one of: simple, default, or exclusive. Dependent on the style some fields are present and others are not."},"id":{"type":"string","description":"The ID of this facet. Must be unique within an autocomplete response. Can be used to distinguish and filter certain facets. (for simple, default, and exclusive)"},"name":{"type":"string","description":"A displayable (and localized) name for this facet. If absent, an `item` attribute is present. (for simple, default, and exclusive)"},"item":{"$ref":"#/components/schemas/FindFacetItem"},"flags":{"type":"array","description":"An array of flags. Available flags: conflicts (specified as \"conflicts:<other-id>\", facets carrying this flag must not be combined with a facet of type <other-id>). (for simple, default, and exclusive)","items":{"type":"string"}},"filter":{"$ref":"#/components/schemas/FindFacetFilter"},"values":{"type":"array","description":"An array of facet values. (for default)","items":{"$ref":"#/components/schemas/FindFacetValue"}},"options":{"type":"array","description":"An array of facet values. (for exclusive)","items":{"$ref":"#/components/schemas/FindFacetValue"}}}},"FindAutoCompleteBody":{"type":"object","properties":{"prefix":{"type":"string","description":"The user's search input."},"facets":{"type":"array","description":"An array of already selected facets, meaning categories the user has filtered by before.","items":{"$ref":"#/components/schemas/FindFacetData"}},"options":{"$ref":"#/components/schemas/FindOptionsData"}}},"FindAutoCompleteData":{"type":"object","properties":{"facets":{"type":"array","description":"An array of facets each describing a possible search category or an already applied category.","items":{"$ref":"#/components/schemas/FindFacetData"}}}},"FindAutoCompleteResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/FindAutoCompleteData"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"FindActiveFacetFilter":{"type":"object","description":"The filter object, copied from the value or option.","properties":{"fields":{"type":"array","description":"An array of fields to search for.","items":{"type":"string"}},"queries":{"type":"array","description":"An array of corresponding search values.","items":{"type":"string"}}}},"FindActiveFacet":{"type":"object","properties":{"facet":{"type":"string","description":"The ID of the according facet."},"value":{"type":"string","description":"The ID of the according value. Must always be copied from the value object, not from a possibly according option (in the two-dimensional case)."},"filter":{"$ref":"#/components/schemas/FindActiveFacetFilter"}}},"FindQueryBody":{"type":"object","properties":{"facets":{"type":"array","description":"An array of selected facets that shall be applied for search.","items":{"$ref":"#/components/schemas/FindActiveFacet"}},"options":{"$ref":"#/components/schemas/FindOptionsData"},"start":{"type":"integer","description":"The start of a pagination, if desired."},"size":{"type":"integer","description":"The page size of a pagination, if desired."}}},"FindQueryResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/FindQueryResponseData"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"FindQueryResponseData":{"type":"object","properties":{"num_found":{"type":"integer","description":"The number of found items."},"start":{"type":"integer","description":"The start of the pagination."},"size":{"type":"integer","description":"The page size."},"results":{"type":"object","description":"An array of search results. Each result is described by a JSON object containing the fields specified in the `columns` parameter."}}},"ShareTargetData":{"type":"object","properties":{"module":{"type":"string","description":"The folder's module name, i.e. one of \"tasks\", \"calendar\", \"contacts\" or \"infostore\"."},"folder":{"type":"string","description":"The folder identifier."},"item":{"type":"string","description":"The object identifier, in case the share target is a single item. This must not be present to share a complete folder."}}},"ShareLinkData":{"type":"object","properties":{"url":{"type":"string","description":"The link to share (read-only)."},"entity":{"type":"integer","description":"The identifier of the anonymous user entity for the share (read-only)."},"is_new":{"type":"boolean","description":"Whether the share link is new, i.e. it has been created by the `/share/management?action=getLink` request, or if it already existed (read-only)."},"expiry_date":{"type":"integer","format":"int64","description":"The end date / expiration time after which the share link is no longer accessible."},"password":{"type":"string","description":"An additional secret / pin number an anonymous user needs to enter when accessing the share."},"includeSubfolders":{"type":"boolean","description":"An optional flag indicating if subfolders are included or not. Only applicable for shared infostore folders."},"meta":{"type":"object","description":"Can be used by the client to save arbitrary JSON data along with the share."}}},"ShareLinkResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ShareLinkData"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"ShareLinkUpdateBody":{"type":"object","properties":{"url":{"type":"string","description":"The link to share.","readOnly":true},"entity":{"type":"integer","description":"The identifier of the anonymous user entity for the share.","readOnly":true},"is_new":{"type":"boolean","description":"Whether the share link is new, i.e. it has been created by the `/share/management?action=getLink` request, or if it already existed.","readOnly":true},"expiry_date":{"type":"integer","format":"int64","description":"The end date / expiration time after which the share link is no longer accessible."},"password":{"type":"string","description":"An additional secret / pin number an anonymous user needs to enter when accessing the share."},"meta":{"type":"object","description":"Can be used by the client to save arbitrary JSON data along with the share."},"includeSubfolders":{"type":"boolean","description":"An optional flag indicating whether subfolders should be included or not. Only applicable for Drive folders."},"module":{"type":"string","description":"The folder's module name, i.e. one of \"tasks\", \"calendar\", \"contacts\" or \"infostore\"."},"folder":{"type":"string","description":"The folder identifier."},"item":{"type":"string","description":"The object identifier, in case the share target is a single item. This must not be present to share a complete folder."}}},"ShareLinkSendBody":{"type":"object","properties":{"recipients":{"type":"array","description":"An array that lists the recipients. Each element is itself a two-element array specifying one recipient. The first element represents the personal name, the second element is the email address.","items":{"type":"array","items":{"type":"string"}}},"message":{"type":"string","description":"Can contain an optional custom message."},"module":{"type":"string","description":"The folder's module name, i.e. one of \"tasks\", \"calendar\", \"contacts\" or \"infostore\"."},"folder":{"type":"string","description":"The folder identifier."},"item":{"type":"string","description":"The object identifier, in case the share target is a single item. This must not be present to share a complete folder."}}},"ShareLinkSendResponse":{"type":"object","properties":{"warnings":{"type":"object","description":"An array of possible warnings during sending of the notifications."},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"PasswordChangeBody":{"type":"object","properties":{"old_password":{"type":"string","description":"The user's current password or `null` if the password wasn't set before (especially for guest users)."},"new_password":{"type":"string","description":"The new password the user wants to set or `null` to remove the password (especially for guest users)."}}},"FileServiceConfiguration":{"type":"object","properties":{"widget":{"type":"string","description":"The name of the widget."},"name":{"type":"string","description":"The name of the field."},"displayName":{"type":"string","description":"The display name of the field."},"mandatory":{"type":"boolean","description":"Indicates whether the field is mandatory."},"options":{"type":"object","description":"An object describing the available options in the field."},"defaultValue":{"type":"object","description":"Can contain a default value."}}},"FileServiceData":{"type":"object","properties":{"id":{"type":"string","description":"The identifier of the file storage service, e.g. \"boxcom\"."},"displayName":{"type":"string","description":"A human-readable display name of the service, e.g. \"Box File Storage Service\""},"configuration":{"type":"array","description":"An array of dynamic form fields. Same as in PubSub.","items":{"$ref":"#/components/schemas/FileServiceConfiguration"}}}},"FileServicesResponse":{"type":"object","properties":{"data":{"type":"array","description":"An array of JSON objects each describing one service.","items":{"$ref":"#/components/schemas/FileServiceData"}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"FileServiceResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/FileServiceData"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"FileAccountData":{"type":"object","properties":{"id":{"type":"string","description":"The identifier of the file storage account in the scope of its file storage service (e.g. Infostore, Dropbox, ...). This is not writeable and is generated by the server."},"filestorageService":{"type":"string","description":"The identifier of the file storage service this account belongs to."},"qualifiedId":{"type":"string","description":"A global identifier of the file storage account across all file storage services. This is not writeable and is generated by the server.","readOnly":true},"displayName":{"type":"string","description":"A user chosen, human-readable name to identify the account. Will also be translated into the folder name of the folder representing the accounts content."},"rootFolder":{"type":"string","description":"The ID of the account's root folder within the folder tree. This is not writeable and is generated by the server.","readOnly":true},"isDefaultAccount":{"type":"boolean","description":"Indicates whether this account is the user's default account. Exactly one account will have this flag set to `true`."},"hasError":{"type":"boolean","description":"Indicates whether an error occurred during the connection check for this account. If set to true, the other error related information in this response object are set as well."},"error":{"type":"string","description":"The translated error message. Present in case of errors during the connection check."},"error_params":{"type":"array","description":"Exception parameters","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this connection check error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"capabilities":{"type":"array","description":"An array of capability names. Possible values are: FILE_VERSIONS, EXTENDED_METADATA, RANDOM_FILE_ACCESS, and LOCKS.","items":{"type":"string"},"readOnly":true},"configuration":{"type":"object","description":"The configuration data according to the form description of the relevant file storage service."}}},"FileAccountsResponse":{"type":"object","properties":{"data":{"type":"array","description":"An array of JSON objects each describing one file storage account.","items":{"$ref":"#/components/schemas/FileAccountData"}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"FileAccountResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/FileAccountData"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"FileAccountCreationResponse":{"type":"object","properties":{"data":{"type":"string","description":"The ID of the newly created account."},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"FileAccountUpdateResponse":{"type":"object","properties":{"data":{"type":"integer","description":"Returns 1 on success."},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"Mail_CategoriesUnreadResponse":{"type":"object","properties":{"data":{"type":"object","description":"A JSON object with a field for each active category containing the number of unread messages."},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"Mail_CategoriesMoveBody":{"type":"object","properties":{"id":{"type":"string","description":"The object ID of the mail"},"folder_id":{"type":"string","description":"The folder ID of the mail"}}},"Mail_CategoriesTrainBody":{"type":"object","properties":{"from":{"type":"array","description":"An array of email addresses","items":{"type":"string"}}}},"ClientOnboardingData":{"type":"object","properties":{"platforms":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"enabled":{"type":"boolean"},"name":{"type":"string"},"description":{"type":"string"},"icon":{"type":"array","items":{"type":"string"}}}}},"devices":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"enabled":{"type":"boolean"},"platform":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"icon":{"type":"array","items":{"type":"string"}},"scenarios":{"type":"array","items":{"type":"string"}}}}},"scenarios":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"enabled":{"type":"boolean"},"name":{"type":"string"},"description":{"type":"string"},"icon":{"type":"array","items":{"type":"string"}}}}},"actions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"default":{"type":"string"}}}},"matching":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"enabled":{"type":"boolean"},"actions":{"type":"array","items":{"type":"string"}}}}}}},"ClientOnboardingResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ClientOnboardingData"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"RssResponse":{"type":"object","properties":{"data":{"type":"array","description":"Array containing the differnet articles provided by the rss feed.","items":{"type":"string"}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"PnsData":{"type":"object","properties":{"success":{"type":"boolean","description":"The flag signaling success"}}},"PnsResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PnsData"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"SubscriptionData":{"type":"object","required":["token","transport","topics"],"properties":{"client":{"type":"string","description":"The client identifier; e.g. \"open-xchange-appsuite\". If not specified, session-associated client identifier is considered"},"token":{"type":"string","description":"The token to use when sending out notifications using specified transport"},"transport":{"type":"string","description":"The identifer of the transport; currently supported:\n- \"apn\"\n- \"gcm\"\n- \"wns\" and\n- \"websocket\"\n"},"topics":{"type":"array","description":"An array of topic identifiers or wild-cards, to which the subscription signals interest.\nE.g. [\"ox:mail:*\",\"ox:calendar:new\"] interest for all mail-related events and for newly created appointments\n","items":{"type":"string"}}}},"UnsubscriptionData":{"type":"object","required":["token","transport"],"properties":{"client":{"type":"string","description":"The client identifier; e.g. \"open-xchange-appsuite\". If not specified, session-associated client identifier is considered"},"token":{"type":"string","description":"The token to use when sending out notifications using specified transport"},"transport":{"type":"string","description":"The identifer of the transport; currently supported:\n- \"apn\"\n- \"gcm\"\n- \"wns\" and\n- \"websocket\"\n"}}},"CertificateExamineData":{"type":"object","properties":{"fingerprint":{"type":"string","description":"The fingerprint of the SSL certificate"},"issuedOn":{"type":"integer","format":"int64","description":"The timestamp of the date when the SSL certificate was issued"},"expiresOn":{"type":"integer","format":"int64","description":"The timestamp of the date when the SSL certificate expires"},"hostname":{"type":"string","description":"The hostname which the endpoint call was done, or the hostname for which the exception is valid"},"commonName":{"type":"string","description":"The hostname for which the SSL certificate is valid (Comon Name)"},"issuedBy":{"type":"string","description":"Information on the authority that issued the SSL certificate"},"signature":{"type":"string","description":"The signature of the SSL certificate"},"serialNumber":{"type":"string","description":"The serial number of the SSL certificate"},"failureReason":{"type":"string","description":"The reason why the SSL certificate is not trusted"},"expired":{"type":"boolean","description":"Whether the SSL certificate is expired"},"trusted":{"type":"boolean","description":"Whether the SSL certificate is trusted by the user"}}},"CertificateStoreData":{"type":"object","properties":{"fingerprint":{"type":"string","description":"The fingerprint of the SSL certificate"},"hostname":{"type":"string","description":"The hostname which the endpoint call was done, or the hostname for which the exception is valid"},"trusted":{"type":"boolean","description":"Whether the SSL certificate is trusted by the user"}}},"CertificateExamineResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CertificateExamineData"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"CertificatesAllResponse":{"type":"object","properties":{"data":{"type":"array","description":"An array of certificate objects.","items":{"$ref":"#/components/schemas/CertificateStoreData"}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"GuardSecurityInfo":{"type":"object","properties":{"encrypted":{"type":"boolean","description":"True if the mail is currently encrypted"},"signed":{"type":"boolean","description":"True if the email has signatures"}}},"GuardSecurityResult":{"type":"object","properties":{"decrypted":{"type":"boolean","description":"True if the mail has been decrypted."},"type":{"type":"string","description":"Type of encryption.  Currently only PGP supported"},"pgpInline":{"type":"boolean","description":"True if the mail was encrypted using PGP Inline rather than PGP Mime"},"signatures":{"type":"array","description":"Array of signatures, if any, and the verification status","items":{"$ref":"#/components/schemas/GuardSignatureResult"}}}},"GuardSignatureResult":{"type":"object","properties":{"verified":{"type":"boolean","description":"True if the signature was verified and correct"},"missing":{"type":"boolean","description":"True if the signature could not be verified due to missing public key"},"date":{"type":"integer","format":"int64","description":"Date of the signature in ticks"}}},"AllSessionsResponse":{"type":"object","properties":{"data":{"type":"array","description":"An array of active sessions and information about those sessions.","items":{"$ref":"#/components/schemas/SessionManagementData"}}}},"DeviceInfo":{"type":"object","properties":{"info":{"type":"string","description":"Localized string describing the device which is associated with this session"},"type":{"type":"string","description":"Describing the device type which is associated with this session, possible values are \"browser\", \"oxapp\", \"sync\" and \"other\""}}},"SessionManagementData":{"type":"object","properties":{"sessionId":{"type":"string","description":"The session identifier"},"ipAddress":{"type":"string","description":"The IP address associated with the session"},"client":{"type":"string","description":"The client associated with the session"},"ctxId":{"type":"integer","description":"The context identifier"},"userId":{"type":"integer","description":"The user identifier"},"loginTime":{"type":"integer","format":"int64","description":"Time of login in UTC"},"lastActive":{"type":"integer","format":"int64","description":"Time of last activity in UTC"},"location":{"type":"string","description":"Guessed location based on IP address"},"device":{"$ref":"#/components/schemas/DeviceInfo"}}},"InfoItemExport":{"type":"object","required":["id","folder_id"],"properties":{"id":{"type":"string","description":"The object ID of the contact, task or appointment (e.g. \"368\")."},"folder_id":{"type":"string","description":"The object ID of the related folder (e.g. \"2435\")."}}},"InfoJobData":{"type":"object","properties":{"id":{"type":"string","description":"The job identifier"},"action":{"type":"string","description":"The action identifier"},"module":{"type":"string","description":"The module identifier"},"done":{"type":"boolean","description":"Signals whether job is already done or still in progress"}}},"AllJobsResponse":{"type":"object","properties":{"data":{"type":"array","description":"Contains the JSON representations for jobs currently held in job queue for a user","items":{"$ref":"#/components/schemas/InfoJobData"}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"InfoJobResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/InfoJobData"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"GetJobResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"job":{"type":"string","description":"The job identifier"}}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"CancelJobResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"success":{"type":"boolean","description":"The flag signaling whether job has been successfully canceled"}}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"InitResponse":{"type":"object","properties":{"redirect":{"type":"string","description":"The location where to redirect the user to."},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"WhoAmIResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"random":{"type":"string","description":"The random token"},"session":{"type":"string","description":"The session identifier"},"user":{"type":"string","description":"The user"},"user_id":{"type":"string","description":"The user identifier"},"context_id":{"type":"string","description":"The context identifier"},"requires_multifactor":{"type":"boolean","description":"An value indicating whether multifactor has been enabled or not"},"locale":{"type":"string","description":"The locale of the user"}}},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"TimeResponse":{"type":"object","properties":{"data":{"type":"integer","format":"int64","description":"The system time of the node as long"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"PingResponse":{"type":"object","properties":{"data":{"type":"boolean","description":"true"},"error":{"type":"string","description":"The translated error message. Present in case of errors."},"error_params":{"type":"array","description":"Empty JSON array.","items":{"type":"string"}},"error_id":{"type":"string","description":"Unique error identifier to help finding this error instance in the server logs."},"error_desc":{"type":"string","description":"The technical error message (always English) useful for debugging the problem. Might be the same as error message if there is no more information available."},"error_stack":{"type":"array","description":"If configured (see [com.openexchange.ajax.response.includeStackTraceOnError](http://oxpedia.org/wiki/index.php?title=AppSuite:Configuration_properties_7.8.0)) this field provides the stack trace of associated Java exception represented as a JSON array.","items":{"type":"string"}},"code":{"type":"string","description":"Error code consisting of an upper-case module identifier and a four-digit message number, separated by a dash; e.g. \"MSG-0012\""},"categories":{"type":"string","description":"Either a single (String) or list (Array) of upper-case category identifiers to which the error belongs."},"category":{"type":"integer","description":"Maintained for legacy reasons: The numeric representation of the first category."},"timestamp":{"type":"integer","format":"int64","description":"The latest timestamp of the returned data (see [Updates](#updates))."}}},"CalendarAccountProbeExtendedProperties":{"type":"object","description":"Contains the extended properties for calendar folders","properties":{"description":{"type":"object","description":"The description of the folder","properties":{"value":{"type":"string"}}},"usedForSync":{"type":"object","description":"Indicates whether the folder should be considered for synchronization with external clients or not.","properties":{"value":{"type":"string"}}},"color":{"type":"object","description":"Indicates the color the folder should be displayed with","properties":{"value":{"type":"string"}}},"scheduleTransp":{"type":"object","description":"Indicates whether the calendar object resources in a calendar collection will affect the owner's busy time information or not","properties":{"value":{"type":"string"}}}}},"CalendarAccountProbeConfig":{"type":"object","description":"Holds arbitrary, provider-specific configuration data for calendar accounts.","properties":{"uri":{"type":"string","description":"(ical provider only) The URI of the ICal feed that should be subscribed."},"refreshInterval":{"type":"integer","description":"(ical provider only) Defines the refresh interval used for the subscribed ICal feed."},"login":{"type":"string","description":"(ical provider only) Defines an optional login for the subscribed ICal feed."},"password":{"type":"string","description":"(ical provider only) An optional password for the subscribed ICal feed."}}}},"parameters":{"gblQueryParamSession":{"name":"session","in":"query","description":"A session ID previously obtained from the login module.","required":true,"schema":{"type":"string"}},"gblPathParamConfigNode":{"name":"path","in":"path","description":"The path to the node.","required":true,"schema":{"type":"string","enum":["gui","fastgui","context_id","cookielifetime","identifier","contact_id","language","timezone","availableTimeZones","Calendarnotification","tasknotification","reloadTimes","serverVersion","currentTime","maxUploadIdleTimeout","search","trustAllConnections","folder","folder/tasks","folder/calendar","folder/contacts","folder/infostore","folder/eas","mail","mail/addresses","mail/defaultaddress","mail/sendaddress","mail/folder","mail/folder/inbox","mail/folder/drafts","mail/folder/trash","mail/folder/spam","mail/folder/sent","mail/htmlinline","mail/colorquote","mail/emoticons","mail/harddelete","mail/inlineforward","mail/vcard","mail/notifyonreadack","mail/msgpreview","mail/ignorereplytext","mail/nocopytosent","mail/spambutton","participants","participants/autoSearch","participants/maximumNumberParticipants","participants/showWithoutEmail","participants/showDialog","availableModules","minimumSearchCharacters","modules","modules/portal","modules/portal/gui","modules/portal/module","modules/mail","modules/mail/addresses","modules/mail/appendmailtext","modules/mail/allowhtmlimages","modules/mailcolorquoted","modules/mail/contactCollectFolder","modules/mail/contactCollectEnabled","modules/mail/contactCollectOnMailAccess","modules/mail/contactCollectOnMailTransport","modules/mail/defaultaddress","modules/mail/deletemail","modules/mail/emoticons","modules/mail/defaultFolder","modules/mail/defaultFolder/drafts","modules/mail/defaultFolder/inbox","modules/mail/defaultFolder/sent","modules/mail/defaultFolder/spam","modules/mail/defaultFolder/trash","modules/mail/forwardmessage","modules/mail/gui","modules/mail/inlineattachments","modules/mail/linewrap","modules/mail/module","modules/mail/phishingheaders","modules/mail/replyallcc","modules/mail/sendaddress","modules/mail/spambutton","modules/mail/vcard","modules/calendar","modules/calendar/calendar_conflict","modules/calendar/calendar_freebusy","modules/calendar/calendar_teamview","modules/calendar/gui","modules/calendar/module","modules/calendar/notifyNewModifiedDeleted","modules/calendar/notifyAcceptedDeclinedAsCreator","modules/calendar/notifyAcceptedDeclinedAsParticipant","modules/calendar/defaultStatusPrivate","modules/calendar/defaultStatusPublic","modules/contacts","modules/contacts/gui","modules/contacts/mailAddressAutoSearch","modules/contacts/module","modules/contacts/singleFolderSearch","modules/contacts/characterSearch","modules/contacts/allFoldersForAutoComplete","modules/tasks","modules/tasks/gui","modules/tasks/module","modules/tasks/delegate_tasks","modules/tasks/notifyNewModifiedDeleted","modules/tasks/notifyAcceptedDeclinedAsCreator","modules/tasks/notifyAcceptedDeclinedAsParticipant","modules/infostore","modules/infostore/gui","modules/infostore/folder","modules/infostore/folder/trash","modules/infostore/folder/pictures","modules/infostore/folder/documents","modules/infostore/folder/music","modules/infostore/folder/videos","modules/infostore/folder/templates","modules/infostore/module","modules/interfaces","modules/interfaces/ical","modules/interfaces/vcard","modules/interfaces/syncml","modules/folder","modules/folder/gui","modules/folder/public_folders","modules/folder/read_create_shared_folders","modules/folder/tree","modules/com.openexchange.extras","modules/com.openexchange.extras/module","modules/com.openexchange.user.passwordchange","modules/com.openexchange.user.passwordchange/module","modules/com.openexchange.user.personaldata","modules/com.openexchange.user.personaldata/module","modules/com.openexchange.group","modules/com.openexchange.group/enabled","modules/com.openexchange.resource","modules/com.openexchange.resource/enabled","modules/com.openexchange.publish","modules/com.openexchange.publish/enabled","modules/com.openexchange.subscribe","modules/com.openexchange.subscribe/enabled","modules/olox20","modules/olox20/active","modules/olox20/module","modules/com.openexchange.passwordchange","modules/com.openexchange.passwordchange/showStrength","modules/com.openexchange.passwordchange/minLength","modules/com.openexchange.passwordchange/maxLength","modules/com.openexchange.passwordchange/regexp","modules/com.openexchange.passwordchange/special"]}},"gblQueryParamFolderTree":{"name":"tree","in":"query","description":"The identifier of the folder tree. If missing \"0\" (primary folder tree) is assumed.","required":false,"schema":{"type":"string","default":"0"}},"gblQueryParamLanguage":{"name":"language","in":"query","description":"Optional locale to use instead of the currently configured locale of the user.","required":false,"schema":{"type":"string"}},"gblQueryParamFolderColumns":{"name":"columns","in":"query","description":"A comma-separated list of columns to return, like \"1,300\". Each column is specified by a numeric column identifier, see [Common folder data](#common-folder-data) and [Detailed folder data](#detailed-folder-data).","required":true,"schema":{"type":"string"}},"gblQueryParamAllowedModules":{"name":"allowed_modules","in":"query","description":"An array of modules (either numbers or strings; e.g. \"tasks,calendar,contacts,mail\") supported by requesting client. If missing, all available modules are considered.","required":false,"schema":{"type":"string"}},"gblQueryParamTaskFolder":{"name":"folder","in":"query","description":"Object ID of the folder who contains the tasks.","required":true,"schema":{"type":"string"}},"gblQueryParamTaskColumns":{"name":"columns","in":"query","description":"A comma-separated list of columns to return, like \"1,200\". Each column is specified by a numeric column identifier, see [Common object data](#common-object-data), [Detailed task and appointment data](#detailed-task-and-appointment-data) and [Detailed task data](#detailed-task-data).","required":true,"schema":{"type":"string"}},"gblQueryParamContactFolder":{"name":"folder","in":"query","description":"Object ID of the folder who contains the contacts.","required":true,"schema":{"type":"string"}},"gblQueryParamContactColumns":{"name":"columns","in":"query","description":"A comma-separated list of columns to return, like \"1,500\". Each column is specified by a numeric column identifier, see [Common object data](#common-object-data) and [Detailed contact data](#detailed-contact-data).","required":true,"schema":{"type":"string"}},"gblQueryParamCalendarFolder":{"name":"folder","in":"query","description":"Object ID of the folder who contains the appointments.","required":true,"schema":{"type":"string"}},"gblQueryParamCalendarColumns":{"name":"columns","in":"query","description":"A comma-separated list of columns to return, like \"1,500\". Each column is specified by a numeric column identifier, see [Common object data](#common-object-data), [Detailed task and appointment data](#detailed-task-and-appointment-data) and [Detailed appointment data](#detailed-appointment-data).","required":true,"schema":{"type":"string"}},"gblQueryParamRecurrenceMaster":{"name":"recurrence_master","in":"query","description":"Extract the recurrence to several appointments. The default value is false so every appointment of the recurrence will be calculated.","required":false,"schema":{"type":"boolean"}},"gblQueryParamMailFolder":{"name":"folder","in":"query","description":"Object ID of the folder who contains the mails.","required":true,"schema":{"type":"string"}},"gblQueryParamMailColumns":{"name":"columns","in":"query","description":"A comma-separated list of either columns or header names to return, like \"600,601,X-Custom-Header\". Each column is specified by a numeric column identifier, see [Detailed mail data](#detailed-mail-data).","required":true,"schema":{"type":"string"}},"gblQueryParamMailHeaders":{"name":"headers","in":"query","description":"A comma-separated list of header names to return, like \"From,X-Custom-Header\". This parameter can be used in addition to the columns parameter.","required":false,"schema":{"type":"string"}},"gblQueryParamMailUnseen":{"name":"unseen","in":"query","description":"If `true` only mails without the `\\Seen` flag are returned.","required":false,"schema":{"type":"boolean","default":false}},"gblQueryParamMailDeleted":{"name":"deleted","in":"query","description":"If `false` only mails without the `\\Deleted` flag are returned.","required":false,"schema":{"type":"boolean","default":true}},"gblQueryParamInfostoreFolder":{"name":"folder","in":"query","description":"Object ID of the folder who contains the infoitems.","required":true,"schema":{"type":"string"}},"gblQueryParamInfostoreColumns":{"name":"columns","in":"query","description":"A comma-separated list of columns to return, like \"1,700\". Each column is specified by a numeric column identifier, see [Common object data](#common-object-data) and [Detailed infoitem data](#detailed-infoitem-data).","required":true,"schema":{"type":"string"}},"gblQueryParamAttached":{"name":"attached","in":"query","description":"The ID of the object to which the attachment belongs.","required":true,"schema":{"type":"integer"}},"gblQueryParamAttachmentsFolder":{"name":"folder","in":"query","description":"The folder ID of the object.","required":true,"schema":{"type":"integer"}},"gblQueryParamAttachmentsModule":{"name":"module","in":"query","description":"The module type of the object: 1 (appointment), 4 (task), 7 (contact), 137 (infostore).","required":true,"schema":{"type":"integer"}},"gblQueryParamAttachmentsColumns":{"name":"columns","in":"query","description":"A comma-separated list of columns to return, like \"1,800\". Each column is specified by a numeric column identifier, see [Common object data](#common-object-data) and [Attachment data](#attachment-object).","required":true,"schema":{"type":"string"}},"gblQueryParamAccountColumns":{"name":"columns","in":"query","description":"A comma-separated list of columns to return, like \"1,800\". Each column is specified by a numeric column identifier, see [Mail account data](#mail-account-data).","required":true,"schema":{"type":"string"}},"gblQueryParamUserColumns":{"name":"columns","in":"query","description":"A comma-separated list of columns to return, like \"1,501,610\". Each column is specified by a numeric column identifier, see [Common object data](#common-object-data), [Detailed contact data](#detailed-contact-data) and [Detailed user data](#detailed-user-data).","required":true,"schema":{"type":"string"}},"gblQueryParamScopes":{"name":"scopes","in":"query","description":"A space-separated list of scopes to be added. Valid scopes are 'calendar', 'contacts', 'mail', 'drive', 'generic'. Note that not all scopes are applicable to every OAuth provider.","required":true,"schema":{"type":"string"}},"gblQueryParamsDecrypt":{"name":"decrypt","in":"query","description":"If true, and the object is encrypted, an attempt will be made to decrypt the object.  An error will be thrown if needed authentication isn't available. (Guard Required)","required":false,"schema":{"type":"boolean"}},"glbQueryParamsCryptoAuth":{"name":"cryptoAuth","in":"query","description":"Authentication token used for Guard in order to decrypt or sign items.  Required if the token is not attached to the session and the decrypt flag was sent.","required":false,"schema":{"type":"string"}},"glbQueryParamsAllowEnqueue":{"in":"query","name":"allow_enqueue","description":"Optional flag that specifies whether the request is allowed for being submitted to job queue.","required":false,"schema":{"type":"boolean","default":false}},"glbQueryParamsImageTransformationRotate":{"in":"query","name":"rotate","description":"Adds a 'rotate' transformation, leading to the image being rotated according to the contained EXIF information.","required":false,"schema":{"type":"boolean","default":false}},"glbQueryParamsImageTransformationWidth":{"in":"query","name":"width","description":"The maximum width of the target image.","required":false,"schema":{"type":"integer","format":"int32"}},"glbQueryParamsImageTransformationHeight":{"in":"query","name":"height","description":"The maximum height of the target image.","required":false,"schema":{"type":"integer","format":"int32"}},"glbQueryParamsImageTransformationShrinkOnly":{"in":"query","name":"shrinkOnly","description":"Set to true to only scale images 'greater than' target size.","required":false,"schema":{"type":"boolean","default":false}},"glbQueryParamsImageTransformationScaleType":{"in":"query","name":"scaleType","description":"Defines the scale type.\nPossible value: \n<ul>\n  <li><code>cover</code> - The \"cover\" scale type, specifying the minimum target dimensions. <br>\n  The source image will be resized in a way that the resulting image covers the target resolution entirely, with the original aspect ratio being preserved. \n  For example, scaling an image with an original resolution of 640x480 pixels to 200x200 pixels and type \"cover\", will result in the picture being resized to 267x200 pixels.</li>\n\n  <li><code>contain</code> - The \"contain\" scale type, specifying the maximum target dimensions. <br>\n  The source image will be resized in a way that the resulting image fits into the target resolution entirely, with the original aspect ratio being preserved. \n  For example, scaling an image with an original resolution of 640x480 pixels to 200x200 pixels and type \"contain\", will result in the picture being resized to 200x150 pixels.</li>\n\n  <li><code>containforcedimension</code> - The \"containforcedimension\" scale type, specifying the maximum target dimensions. <br>\n  The source image will be resized in a way that the resulting image fits into the target resolution entirely, with the original aspect ratio being preserved while smaller sides get \n  padded to fit exact dimension. For example, scaling an image with an original resolution of 640x480 pixels to 200x200 pixels and type \"containforcedimension\", will result in the picture being \n  first resized to 200x150 pixels, then height gets padded by 25 pixels per side resulting in exactly 200x200 pixels.</li>\n\n  <li><code>coverandcrop</code> - The \"coverandcrop\" scale type, specifying the target dimensions. <br>\n  If the source image is bigger than the target dimension, in a first step the image will be resized in a way that the resulting image covers the target resolution entirely, \n  with the original aspect ratio being preserved. In a second step the image will be cropped to fit the target dimension. For example, scaling an image with an original resolution \n  of 640x480 pixels to 200x200 pixels and type \"coverandcrop\", will result in the picture being resized to 267x200 pixels and then cropped to fit 200x200. \n  In case the image is smaller than then target dimension the image will not be resized and instead it gets padded to fit exact dimension. For example, \n  with an original resolution of 100x100 pixels and a target dimension of 200x200 pixels and type \"coverandcrop\", will result in the picture being padded on all sides with 50 pixels.</li>\n\n  <li><code>auto</code> - The \"auto\" scale type.<br></li>\n</ul>\n","required":false,"schema":{"type":"string","enum":["cover","contain","containforcedimension","coverandcrop","auto"]}},"glbQueryParamsImageTransformationCropWidth":{"in":"query","name":"cropWidth","description":"The width of the specified rectangular region.","required":false,"schema":{"type":"integer","format":"int32"}},"glbQueryParamsImageTransformationCropHeight":{"in":"query","name":"cropHeight","description":"The height of the specified rectangular region.","required":false,"schema":{"type":"integer","format":"int32"}},"glbQueryParamsImageTransformationCropX":{"in":"query","name":"cropX","description":"The X coordinate of the upper-left corner of the specified rectangular region.","required":false,"schema":{"type":"integer","format":"int32"}},"glbQueryParamsImageTransformationCropY":{"in":"query","name":"cropY","description":"The Y coordinate of the upper-left corner of the specified rectangular region.","required":false,"schema":{"type":"integer","format":"int32"}},"QueryParamFolderAutoRename":{"name":"autorename","in":"query","description":"Whether to automatically rename the folder in case an folder with the same name already exists.","required":false,"schema":{"type":"boolean","default":false}},"QueryParamChronosFolder":{"name":"folder","in":"query","description":"ID of the folder who contains the events.","required":true,"schema":{"type":"string"}},"QueryParamChronosID":{"name":"id","in":"query","description":"ID of the event.","required":true,"schema":{"type":"string"}},"QueryParamChronosRecurrenceID":{"name":"recurrenceId","in":"query","description":"The recurrence identifier.","required":false,"schema":{"type":"string"}},"QueryParamChronosRecurrenceRange":{"name":"recurrenceRange","in":"query","description":"The targeted range specified with the recurrence id.","required":false,"schema":{"type":"string"}},"QueryParamChronosFields":{"name":"fields","in":"query","description":"A comma-separated list of field identifiers.","required":false,"schema":{"type":"string"}},"QueryParamChronosOrder":{"name":"order","in":"query","description":"The sort order to apply, either <code>ASC</code> for ascending, or <code>DESC</code> for descending.","required":false,"schema":{"type":"string"}},"QueryParamChronosSort":{"name":"sort","in":"query","description":"Specifies the field for sorting the results.","required":false,"schema":{"type":"string"}},"QueryParamChronosCheckConflicts":{"name":"checkConflicts","in":"query","description":"Whether to check for conflicts or not.","required":false,"schema":{"type":"boolean","default":false}},"QueryParamChronosExpand":{"name":"expand","in":"query","description":"Defines if event series should be extended or not.","required":false,"schema":{"type":"boolean","default":false}},"QueryParamChronosScheduling":{"name":"scheduling","in":"query","description":"Controls the generation of scheduling messages and notification mails for  the current operation.","required":false,"schema":{"type":"string","enum":["all","none","internal-only","external-only"],"default":"all"}},"ChronosFromTimeRange":{"name":"from","in":"query","description":"Lower inclusive limit of the queried range as a utc date-time value as specified in rfc 5545 chapter 3.3.5. E.g. \"20170708T220000Z\". Only events which start on or after this date are returned.","required":true,"schema":{"type":"string"}},"ChronosUntilTimeRange":{"name":"until","in":"query","description":"Upper exclusive limit of the queried range as a utc date-time value as specified in rfc 5545 chapter 3.3.5. E.g. \"20170708T220000Z\". Only events which end before this date are returned.","required":true,"schema":{"type":"string"}},"QueryParamChronosSchedJoulesLanguage":{"in":"query","name":"language","description":"The language/locale to translate the results to. If none is provided then the locale of the user's session will be used. \nIf that one is not available then falls back to 'en'.\n","required":false,"schema":{"type":"string"}},"QueryParamChronosExtendedEntities":{"in":"query","name":"extendedEntities","description":"If set to 'true' attendees of internal users will be extended by a 'contact' field, which contains some of the contact fields of this user.\n","required":false,"schema":{"type":"boolean","default":false}},"QueryParamChronosUpdateCache":{"name":"updateCache","in":"query","description":"If set to 'true' the cache will be forced to be updated (e. g. by contacting the underlying external account)\n","required":false,"schema":{"type":"boolean","default":false}},"QueryParamChronosPushToken":{"name":"pushToken","in":"query","description":"The client's push token to allow filtering of push events for modified calendar data\n","required":false,"schema":{"type":"string"}},"QueryParamMultifactorProviderName":{"name":"providerName","in":"query","required":true,"description":"The name of the multifactor provider","schema":{"type":"string"}},"QueryParamMultifactorDeviceId":{"in":"query","name":"deviceId","required":true,"description":"The ID of the multifactor device","schema":{"type":"string"}}},"requestBodies":{"reorderRulesBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"integer"}}}},"description":"A JSON array with unique identifiers, which represents how the corresponding rules are order.","required":true},"MessagingMessageData":{"content":{"spplication/json":{"schema":{"$ref":"#/components/schemas/MessagingMessageData"}}},"description":"A JSON array of JSON arrays with the folder and ID as elements each identifying a message.","required":true},"ConversionDataSource":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConversionDataSource"}}},"description":"The data source object.","required":true},"ContactListElementArray":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ContactListElement"}}}},"description":"A JSON array of JSON objects with the id and folder of the contacts.","required":true},"InfoItemExportArray":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/InfoItemExport"}}}},"description":"A JSON array of JSON objects with the id and folder_id.","required":true},"deleteFoldersBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}},"description":"A JSON array with object IDs of the folders.","required":true},"MailFilterDeletionBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailFilterDeletionBody"}}},"description":"A JSON object with the ID of the rule to delete.","required":true},"TaskListElementArray":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TaskListElement"}}}},"description":"A JSON array of JSON objects with the id and folder of the tasks.","required":true}}}}