Quick-Archive API Reference
Documentation of the complete Quick-Archive API.
The first part describes the authorization method that needs to be used to communicate with this API.
Then some other requests are specified that do not use GraphQL.
And finally all the GraphQL queries, mutations and types are defined which form the biggest part of the API.
API Endpoints
# GraphQL Request:
https://api.quick-archive.com/query
# Admin Methods:
https://api.quick-archive.com/admin
# Document Share Link:
https://download.quick-archive.com
Authorization
This API requires authorization to use.
To be able to use this API you must have obtained following credentials:
API_KEY: An API key which will be transferred in plain text during each API request.API_SECRET: An API secret used to sign each API request. This needs to be kept strictly confidential.
Additionally, many API methods require an authenticated user which is mentioned as a note on corresponding methods accordingly. In that case following additional parameters need to be known as well:
CUSTOMER_ID: The Quick-Archive customer ID the user is part of.USER_LOGIN_NAME: The login name of the user that should be authenticated against the API.USER_PASSWORD_SHA1: The SHA1 hash of the password of the user that should be authenticated against the API.
All these constants will be used in the following explanations.
Signing the Request
As part of the request signing process two HTTP headers will be added to the request:
Authorization: Contains the information about the API signature and, when needed, the user authentication. The composition of this header will be discussed further down in detail.X-QA-Date: A custom header that contains the timestamp in UTC time when the request is sent in the formatYYYYMMDD[T]HHmmss[Z], e. g.20211113T173840Z. The value of this header will be referenced in the following explanations as the variableRequestDate.
Authorization Header
Depending on if the API methods requires an authenticated user there are two flavors of the Authorization header:
- Without authenticated user:
QA-HMAC-SHA256 API_KEY/ApiSignature - With authenticated user:
QA-HMAC-SHA256 API_KEY/ApiSignature/CUSTOMER_ID/USER_LOGIN_NAME/UserPasswordSignature
The calculation of the two variables ApiSignature and UserPasswordSignature is explained in the following in pseudo code.
Calculating API Signature
First, we calculate a hash of the API secret:
ApiSecretHash = HmacSha256( ToUtf8( RequestDate ), ToUtf8( "QA" + API_SECRET ) )
Now we can calculate our signing key:
SigningKey = HmacSha256( ToUtf8( "QA-QUERY" ), ApiSecretHash )
We will use a hash of the whole request body for signing:
ContentHash = ToUpperCase( ToHex( Sha256( RequestBody ) ) )
Now we can compose the string to sign:
StringToSign = "QA-HMAC-SHA256" + RequestDate + RequestMethod + RequestPathWithQuery + ContentHash
The RequestMethod is the HTTP method (either GET or POST for this API) and the RequestPathWithQuery is the full query string starting with the / and including all query parameters.
Finally, we can calculate the API signature as following:
ApiSignature = ToUpperCase( ToHex( HmacSha256( ToUtf8( StringToSign ), ToUtf8( SigningKey ) ) ) )
Calculating User Password Signature
For the API methods that require an authenticated user the user password signature is calculated as following:
UserPasswordSignature = ToUpperCase( ToHex( HmacSha256( ToUtf8( RequestDate ), ToUtf8( "QA" + USER_PASSWORD_SHA1 ) ) ) )
Other Requests
Most part of this API uses GraphQL, but there are some other API requests which are documented in the following.
Note: These requests do not all use the same API endpoint - see list of API endpoints above.
Document Content Transfer
Binary content of documents and attachments is not transferred through this API. Instead it is exchanged directly with the cloud storage using pre-signed URLs which are requested by a GraphQL request:
getUploadUrlreturns an URL to write content. When a new document is archived thearchiveDocumentrequest already returns the upload URL of its first revision.getContentUrlreturns an URL to read content.
The returned URL is then used without any of the headers described above - it carries its own authorization and expires after 15 minutes:
PUT PreSignedUrl // Upload; requires the header x-amz-storage-class: STANDARD_IA
GET PreSignedUrl // Download
After an upload has finished the transfer must be confirmed by the completeRevisionUpload (document revisions) or completeAttachmentUpload (attachment revisions) GraphQL request which reports the file sizes and the content hash.
Note: Requires authenticated user to obtain the pre-signed URLs. The content is AES-encrypted on the client side before it is uploaded, so it needs to be decrypted after downloading as well - the cloud storage never holds plain content.
Document Share Links
After a document share link has been created (by createShare GraphQL request) the corresponding document can be downloaded using a HTTP GET request to following path:
/CustomerId/DbId/ShareId/share/FileName
URL parameters:
CustomerId: The ID of the customer.DbId: The ID of the database.ShareId: The ID of the document share.FileName: The URL-encoded file name of the document.
Note: Information about document share links composition is provided for information only as the links are provided ready-to-use by the GraphQL API. No API authorization required to use as document share links are freely usable once created.
Admin Methods
Admin methods of the API can be called using a HTTP GET request to following path:
/admin?method=Method
Supported values for URL parameter Method:
clear-cache: Clears the server-side database cache.
Note: Requires global admin API key.
Queries
getAdminOverview
Description
Gets all users, groups and archives with their permissions in one call.
Returns the administration overview.
Possible execution exceptions:
ADMIN_REQUIRED: The user is not an admin, but this is required to read the administration overview.
Note: Requires authenticated user. Requires user admin rights. Password hashes are never returned; the internal system user is not listed.
Warning: Answers in 3 database queries.
Response
Returns an AdminOverview
Example
Query
query getAdminOverview {
getAdminOverview {
users {
...AdminUserFragment
}
groups {
...AdminGroupFragment
}
dbs {
...AdminDbFragment
}
}
}
Response
{
"data": {
"getAdminOverview": {
"users": [AdminUser],
"groups": [AdminGroup],
"dbs": [AdminDb]
}
}
}
getClientStartInfo
Description
Gets client start information.
Response
Returns a ClientStartInfo
Example
Query
query getClientStartInfo {
getClientStartInfo {
dbServerHostName
cloudStorageRegion
}
}
Response
{
"data": {
"getClientStartInfo": {
"dbServerHostName": "server-host.name",
"cloudStorageRegion": "eu-north-1"
}
}
}
getContentUrl
Description
Gets a pre-signed URL to read document or attachment content directly from the cloud storage.
Returns the pre-signed URL on success, otherwise null (a document revision without annotations was requested with annotations).
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.REVISION_ARGUMENTS_INVALID: Exactly one of the document revision ID and the attachment revision ID has to be provided.DOCUMENT_REVISION_NOT_FOUND: The document revision with the specified ID could not be found.ATTACHMENT_REVISION_NOT_FOUND: The attachment revision with the specified ID could not be found.DOCUMENT_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to read the document.
Note: Requires authenticated user. Exactly one of documentRevisionId and attachmentRevisionId has to be provided. The URL answers HTTPS GET requests and expires after 15 minutes.
Response
Returns a ContentUrl
Arguments
| Name | Description |
|---|---|
dbId - ID!
|
The id of the database. |
documentRevisionId - ID
|
The id of the document revision to read. |
attachmentRevisionId - ID
|
The id of the attachment revision to read. |
annotations - Boolean
|
Defines whether the annotations of the document revision are read instead of the document revision itself (ignored for attachment revisions). Default = false |
Example
Query
query getContentUrl(
$dbId: ID!,
$documentRevisionId: ID,
$attachmentRevisionId: ID,
$annotations: Boolean
) {
getContentUrl(
dbId: $dbId,
documentRevisionId: $documentRevisionId,
attachmentRevisionId: $attachmentRevisionId,
annotations: $annotations
) {
url
expiresAt
}
}
Variables
{
"dbId": "30f8cd41b02d",
"documentRevisionId": "5c5e8d83fd81",
"attachmentRevisionId": "5c5e8d83fd81",
"annotations": false
}
Response
{
"data": {
"getContentUrl": {
"url": "xyz789",
"expiresAt": "2023-09-23T16:34:25"
}
}
}
getDbStatistics
Description
Gets the numbers of the database statistics of an archive.
Returns the statistics of the archive.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.
Note: Requires authenticated user. The numbers are not permission filtered, exactly as the statistics dialog of the client shows them.
Warning: Answers in 7 database queries and reads whole tables; it is meant for the statistics dialog, not for a hot path.
Response
Returns a DbStatistics
Arguments
| Name | Description |
|---|---|
dbId - ID!
|
The id of the database. |
Example
Query
query getDbStatistics($dbId: ID!) {
getDbStatistics(dbId: $dbId) {
dbId
title
documentCount
documentRevisionCount
documentPageCount
documentFileSize
documentContentTextLength
metaDataCount
folderCount
itemCount
attachmentCount
attachmentRevisionCount
attachmentPageCount
attachmentFileSize
}
}
Variables
{"dbId": "9740afcd5e65"}
Response
{
"data": {
"getDbStatistics": {
"dbId": "6bc43b50cce0",
"title": "abc123",
"documentCount": -9049124290990832000,
"documentRevisionCount": -9049124290990832000,
"documentPageCount": -9049124290990832000,
"documentFileSize": -9049124290990832000,
"documentContentTextLength": -9049124290990832000,
"metaDataCount": -9049124290990832000,
"folderCount": -9049124290990832000,
"itemCount": -9049124290990832000,
"attachmentCount": -9049124290990832000,
"attachmentRevisionCount": -9049124290990832000,
"attachmentPageCount": -9049124290990832000,
"attachmentFileSize": -9049124290990832000
}
}
}
getDbWorkspace
Description
Gets the archive bootstrap: document types, meta fields, keywords, stamps, tags, expiration templates, quick access entries and search patterns of one archive.
Returns the workspace of the archive.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.
Note: Requires authenticated user. Answers in 10 database queries. schemaVersion is the archive schema version this server supports and is meant to be compared with the version the client expects.
Response
Returns a DbWorkspace
Arguments
| Name | Description |
|---|---|
dbId - ID!
|
The id of the database. |
Example
Query
query getDbWorkspace($dbId: ID!) {
getDbWorkspace(dbId: $dbId) {
dbId
rootFolderId
recycleBinId
schemaVersion
documentTypes {
...DocumentTypeInfoFragment
}
metaFields {
...MetaFieldInfoFragment
}
keywords {
...KeywordInfoFragment
}
stamps {
...StampInfoFragment
}
tags {
...DocumentTagInfoFragment
}
expirationTemplates {
...ExpirationTemplateInfoFragment
}
quickAccess {
...QuickAccessInfoFragment
}
searchPatterns {
...SearchPatternInfoFragment
}
}
}
Variables
{"dbId": "0201527bb590"}
Response
{
"data": {
"getDbWorkspace": {
"dbId": "18e4bba85568",
"rootFolderId": "f5234999-3fc5-4ce9-a90a-f3f80f4b10e5",
"recycleBinId": "8578b62c-dff2-4f51-87de-98268f783254",
"schemaVersion": 460775715,
"documentTypes": [DocumentTypeInfo],
"metaFields": [MetaFieldInfo],
"keywords": [KeywordInfo],
"stamps": [StampInfo],
"tags": [DocumentTagInfo],
"expirationTemplates": [ExpirationTemplateInfo],
"quickAccess": [QuickAccessInfo],
"searchPatterns": [SearchPatternInfo]
}
}
}
getDocumentDetail
Description
Gets everything the document detail panels show in one call.
Returns the detail of the requested document.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.DOCUMENT_NOT_FOUND: The document with the specified ID could not be found.DOCUMENT_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to read the document.
Note: Requires authenticated user. Answers in 12 database queries. reminders and shares are scoped to the authenticated user, exactly as the client shows them — except that an administrator receives every user's reminders, matching the reminders deleteReminder lets an administrator delete. rowVersion is the value the editing mutations expect as expectedVersion.
Response
Returns a DocumentDetail
Example
Query
query getDocumentDetail(
$dbId: ID!,
$documentId: Guid!
) {
getDocumentDetail(
dbId: $dbId,
documentId: $documentId
) {
id
name
fileExtension
createdUtc
lastChangedUtc
createdUserName
documentTypeId
documentTypeName
pageCount
ocrUsed
hasContentText
hasOriginalText
canEdit
canDelete
rowVersion
path {
...PathSegmentFragment
}
latestRevision {
...DocumentRevisionInfoFragment
}
revisions {
...DocumentRevisionInfoFragment
}
metaData {
...MetaDataInfoFragment
}
keywords {
...KeywordInfoFragment
}
comments {
...CommentInfoFragment
}
links {
...LinkedItemFragment
}
attachments {
...AttachmentInfoFragment
}
expiration {
...ExpirationInfoFragment
}
reminders {
...ReminderInfoFragment
}
shares {
...ShareInfoFragment
}
isQuickAccess
}
}
Variables
{"dbId": "b955874c2c3e", "documentId": "81b6db58-ab01-4fc4-8d57-6d439e54e02f"}
Response
{
"data": {
"getDocumentDetail": {
"id": "47adf8e6-d867-464a-89e1-626a82fecba3",
"name": "xyz789",
"fileExtension": "pdf",
"createdUtc": "2018-01-05T15:34:51",
"lastChangedUtc": "2019-01-01T08:02:09",
"createdUserName": "abc123",
"documentTypeId": "7bac66ca-9b8a-4b17-9d17-56456c9c8e91",
"documentTypeName": "abc123",
"pageCount": 1,
"ocrUsed": true,
"hasContentText": true,
"hasOriginalText": true,
"canEdit": true,
"canDelete": false,
"rowVersion": -9049124290990832000,
"path": [PathSegment],
"latestRevision": DocumentRevisionInfo,
"revisions": [DocumentRevisionInfo],
"metaData": [MetaDataInfo],
"keywords": [KeywordInfo],
"comments": [CommentInfo],
"links": [LinkedItem],
"attachments": [AttachmentInfo],
"expiration": ExpirationInfo,
"reminders": [ReminderInfo],
"shares": [ShareInfo],
"isQuickAccess": false
}
}
}
getDocumentTypeDocumentCount
Description
Gets the number of documents of a document type.
Returns the number of documents having the document type.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.ADMIN_REQUIRED: The user is not an admin, but this is required to read the document counts of the archive definition data.
Note: Requires authenticated user. Requires user admin rights. It is the number the meta field editor warns with before the document type is deleted.
Warning: Answers in 1 database query. A document type that does not exist answers 0.
Response
Returns an Int
Example
Query
query getDocumentTypeDocumentCount(
$dbId: ID!,
$documentTypeId: Guid!
) {
getDocumentTypeDocumentCount(
dbId: $dbId,
documentTypeId: $documentTypeId
)
}
Variables
{
"dbId": "67008fc05b3a",
"documentTypeId": "3d43d1cd-cdaa-4842-90ee-20a392911fdc"
}
Response
{"data": {"getDocumentTypeDocumentCount": 460775715}}
getExpirations
Description
Gets all expirations the authenticated user created in an archive.
Returns the expirations of the authenticated user, the latest expiration date first.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.
Note: Requires authenticated user. Mirrors the expiration panel of the client, which lists the expirations of their creator and not the expirations of the documents the user may see.
Warning: Answers in 2 database queries.
Response
Returns [ExpirationOverview]
Arguments
| Name | Description |
|---|---|
dbId - ID!
|
The id of the database. |
Example
Query
query getExpirations($dbId: ID!) {
getExpirations(dbId: $dbId) {
id
documentId
documentName
documentFileExtension
expireUtc
preventChange
actionKind
createdUtc
createdUserId
createdUserName
documentCreatedUtc
documentLastChangedUtc
documentCreatedUserName
documentLastChangedUserName
}
}
Variables
{"dbId": "1dd5126a4352"}
Response
{
"data": {
"getExpirations": [
{
"id": "c7b68451-db67-4a40-81d1-c740f412d45f",
"documentId": "bd23f816-af42-49fb-84b2-acbb2c4f6156",
"documentName": "abc123",
"documentFileExtension": "xyz789",
"expireUtc": "2009-02-16T04:53:10",
"preventChange": false,
"actionKind": 460775715,
"createdUtc": "2020-03-19T02:43:13",
"createdUserId": "04c399a4-6379-45ce-bcc2-ac3b2d9454b2",
"createdUserName": "xyz789",
"documentCreatedUtc": "2000-11-21T12:33:31",
"documentLastChangedUtc": "2024-09-20T22:31:53",
"documentCreatedUserName": "abc123",
"documentLastChangedUserName": "xyz789"
}
]
}
}
getFolderView
Description
Gets a folder, its breadcrumb path and a page of its children in one call.
Returns the folder view of the requested folder.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.FOLDER_NOT_FOUND: The folder with the specified ID could not be found.FOLDER_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to read the folder.
Note: Requires authenticated user. Answers in 9 database queries. canEdit and canDelete are the permissions of the item itself; combine them with the canEdit of the archive from getWorkspace.
Response
Returns a FolderView
Example
Query
query getFolderView(
$dbId: ID!,
$folderId: ID,
$skip: Int,
$take: Int
) {
getFolderView(
dbId: $dbId,
folderId: $folderId,
skip: $skip,
take: $take
) {
folder {
...FolderInfoFragment
}
totalCount
children {
...ItemRowFragment
}
}
}
Variables
{
"dbId": "2dff7396e38f",
"folderId": "5c5e8d83fd81",
"skip": 460775715,
"take": 460775715
}
Response
{
"data": {
"getFolderView": {
"folder": FolderInfo,
"totalCount": 460775715,
"children": [ItemRow]
}
}
}
getItemPath
Description
Gets the breadcrumb path of an item.
Returns the path segments from the root folder down to and including the item itself.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.ITEM_NOT_FOUND: The item with the specified ID could not be found.ITEM_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to read the item.
Note: Requires authenticated user.
Response
Returns [PathSegment]
Example
Query
query getItemPath(
$dbId: ID!,
$itemId: Guid!
) {
getItemPath(
dbId: $dbId,
itemId: $itemId
) {
id
name
}
}
Variables
{"dbId": "ad4a4dd97ea0", "itemId": "01876352-779c-4bf2-a16d-8b101cbea0a4"}
Response
{
"data": {
"getItemPath": [
{
"id": "24e45923-8c03-4058-8fb8-650c26fa326e",
"name": "abc123"
}
]
}
}
getItemPermissions
Description
Gets the permission entries of an item.
Returns the permission entries; an empty list means everyone has access.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.ITEM_NOT_FOUND: The item with the specified ID could not be found.ITEM_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to read the item.
Note: Requires authenticated user.
Response
Returns [ItemPermission]
Example
Query
query getItemPermissions(
$dbId: ID!,
$itemId: Guid!
) {
getItemPermissions(
dbId: $dbId,
itemId: $itemId
) {
id
userId
groupId
dataRead
dataEdit
dataDelete
dataExport
changePermission
inherited
}
}
Variables
{"dbId": "41730ae4d1ec", "itemId": "08e68fe8-e6f4-4563-8e03-d5c1243ef00e"}
Response
{
"data": {
"getItemPermissions": [
{
"id": "18fd1b72-3227-4959-b18b-7cc4c4f6d243",
"userId": "29d0445d-2c08-4bb4-a493-627a2e8f9a8d",
"groupId": "19bdba0c-9407-468a-820a-dc0c0bfaaa4b",
"dataRead": true,
"dataEdit": true,
"dataDelete": true,
"dataExport": false,
"changePermission": false,
"inherited": true
}
]
}
}
getItemRow
Description
Gets one folder listing row.
Returns the row of the requested item.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.ITEM_NOT_FOUND: The item with the specified ID could not be found.ITEM_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to read the item.
Note: Requires authenticated user. Refreshes a single row after an edit without reloading the whole folder view.
Response
Returns an ItemRow
Example
Query
query getItemRow(
$dbId: ID!,
$itemId: Guid!
) {
getItemRow(
dbId: $dbId,
itemId: $itemId
) {
id
kind
name
createdUtc
lastChangedUtc
createdUserName
lastChangedUserName
fileExtension
documentTypeName
fileSize
subCount
tagId
color
canEdit
canDelete
deleteProtected
hasShare
rowVersion
metaValues {
...MetaValueFragment
}
}
}
Variables
{"dbId": "b1e0dd6f472f", "itemId": "44328d01-23cf-4b42-8a74-e888e04885cc"}
Response
{
"data": {
"getItemRow": {
"id": "28080e7b-72f2-4845-83b6-bda5d93a793b",
"kind": "FOLDER",
"name": "xyz789",
"createdUtc": "2019-07-12T10:08:51",
"lastChangedUtc": "2015-09-14T14:17:16",
"createdUserName": "abc123",
"lastChangedUserName": "abc123",
"fileExtension": "pdf",
"documentTypeName": "abc123",
"fileSize": 8187330,
"subCount": 460775715,
"tagId": "5c5e8d83fd81",
"color": -15428477,
"canEdit": true,
"canDelete": true,
"deleteProtected": false,
"hasShare": true,
"rowVersion": -9049124290990832000,
"metaValues": [MetaValue]
}
}
}
getKeywordDocumentCount
Description
Gets the number of documents a keyword is used by.
Returns the number of documents the keyword is assigned to.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.ADMIN_REQUIRED: The user is not an admin, but this is required to read the document counts of the archive definition data.
Note: Requires authenticated user. Requires user admin rights. It is the number the keyword editor warns with before the keyword is deleted.
Warning: Answers in 1 database query. A keyword that does not exist answers 0.
Response
Returns an Int
Example
Query
query getKeywordDocumentCount(
$dbId: ID!,
$keywordId: Guid!
) {
getKeywordDocumentCount(
dbId: $dbId,
keywordId: $keywordId
)
}
Variables
{"dbId": "958ec1d13586", "keywordId": "584cdbc1-9bcd-4944-be7f-cb5fb5b5be3f"}
Response
{"data": {"getKeywordDocumentCount": 460775715}}
getMetaFieldDocumentCount
Description
Gets the number of documents a meta field carries data for.
Returns the number of documents having meta data of the meta field.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.ADMIN_REQUIRED: The user is not an admin, but this is required to read the document counts of the archive definition data.
Note: Requires authenticated user. Requires user admin rights. It is the number the meta field editor warns with before the meta field is deleted, because deleting a meta field deletes its meta data.
Warning: Answers in 1 database query. A meta field that does not exist answers 0.
Response
Returns an Int
Example
Query
query getMetaFieldDocumentCount(
$dbId: ID!,
$metaFieldId: Guid!
) {
getMetaFieldDocumentCount(
dbId: $dbId,
metaFieldId: $metaFieldId
)
}
Variables
{"dbId": "819b5b6c4ec6", "metaFieldId": "f48e3065-b4ad-4151-a762-229b227ca2e8"}
Response
{"data": {"getMetaFieldDocumentCount": 460775715}}
getReminders
Description
Gets all reminders of the authenticated user in an archive.
Returns the reminders of the authenticated user, the latest reminder date first.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.
Note: Requires authenticated user. A reminder belongs to the user who created it, which is the set the reminder panel of the client shows.
Warning: Answers in 2 database queries.
Response
Returns [ReminderOverview]
Arguments
| Name | Description |
|---|---|
dbId - ID!
|
The id of the database. |
Example
Query
query getReminders($dbId: ID!) {
getReminders(dbId: $dbId) {
id
documentId
documentName
documentFileExtension
remindUtc
preRemindUtc
done
text
createdUtc
createdUserId
createdUserName
documentCreatedUtc
documentLastChangedUtc
documentCreatedUserName
documentLastChangedUserName
}
}
Variables
{"dbId": "74f41004ecf8"}
Response
{
"data": {
"getReminders": [
{
"id": "1b740514-8ace-496b-9aab-5c860c8392db",
"documentId": "4e9d8815-4d87-47d6-9a5b-11543d0ea2e3",
"documentName": "abc123",
"documentFileExtension": "abc123",
"remindUtc": "2016-04-19T14:53:40",
"preRemindUtc": "2010-05-06T03:28:35",
"done": false,
"text": "xyz789",
"createdUtc": "2010-05-19T20:20:57",
"createdUserId": "81900ac2-2809-42f9-bc65-eeee4ed8cbef",
"createdUserName": "abc123",
"documentCreatedUtc": "2019-07-08T02:12:42",
"documentLastChangedUtc": "2014-11-30T19:50:40",
"documentCreatedUserName": "abc123",
"documentLastChangedUserName": "abc123"
}
]
}
}
getTaggedItems
Description
Gets the items carrying a document tag.
Returns the rows of the tagged items, folders first and then by name.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.ITEM_NOT_FOUND: The item with the specified ID could not be found.ITEM_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to read the item.
Note: Requires authenticated user. The rows are the rows of getFolderView. Unlike the tag panel of the client the rows are permission filtered, so a user never sees an item of a folder that is not theirs.
Warning: Answers in 7 database queries and is not paged.
Response
Returns [ItemRow]
Example
Query
query getTaggedItems(
$dbId: ID!,
$tagId: ID
) {
getTaggedItems(
dbId: $dbId,
tagId: $tagId
) {
id
kind
name
createdUtc
lastChangedUtc
createdUserName
lastChangedUserName
fileExtension
documentTypeName
fileSize
subCount
tagId
color
canEdit
canDelete
deleteProtected
hasShare
rowVersion
metaValues {
...MetaValueFragment
}
}
}
Variables
{
"dbId": "d559d6fd703a",
"tagId": "5c5e8d83fd81"
}
Response
{
"data": {
"getTaggedItems": [
{
"id": "28080e7b-72f2-4845-83b6-bda5d93a793b",
"kind": "FOLDER",
"name": "xyz789",
"createdUtc": "2019-07-12T10:08:51",
"lastChangedUtc": "2015-09-14T14:17:16",
"createdUserName": "xyz789",
"lastChangedUserName": "xyz789",
"fileExtension": "pdf",
"documentTypeName": "xyz789",
"fileSize": 8187330,
"subCount": 460775715,
"tagId": "5c5e8d83fd81",
"color": -15428477,
"canEdit": false,
"canDelete": false,
"deleteProtected": true,
"hasShare": false,
"rowVersion": -9049124290990832000,
"metaValues": [MetaValue]
}
]
}
}
getTreeChildren
Description
Gets the child nodes of one item tree node.
Returns the child nodes, folders first and then by name.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.ITEM_NOT_FOUND: The item with the specified ID could not be found.ITEM_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to read the item.
Note: Requires authenticated user. Answers in 3 database queries (4 with parentId). Folders and documents are returned; subCount is the number of children of the node and is not permission filtered, exactly as the tree shows it today.
Response
Returns [TreeChild]
Example
Query
query getTreeChildren(
$dbId: ID!,
$parentId: Guid
) {
getTreeChildren(
dbId: $dbId,
parentId: $parentId
) {
id
kind
name
subCount
tagId
color
}
}
Variables
{"dbId": "c7b464a29ade", "parentId": "61e4f526-b15b-45cb-b8f1-af91bf1c1d14"}
Response
{
"data": {
"getTreeChildren": [
{
"id": "734f2370-e4c0-440e-9d73-78e0d76b3387",
"kind": "FOLDER",
"name": "abc123",
"subCount": 460775715,
"tagId": "5c5e8d83fd81",
"color": -7972490
}
]
}
}
getUploadUrl
Description
Gets a pre-signed URL to write document or attachment content directly to the cloud storage.
Returns the pre-signed URL on success, otherwise null.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.REVISION_ARGUMENTS_INVALID: Exactly one of the document revision ID and the attachment revision ID has to be provided.DOCUMENT_REVISION_NOT_FOUND: The document revision with the specified ID could not be found.ATTACHMENT_REVISION_NOT_FOUND: The attachment revision with the specified ID could not be found.DOCUMENT_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to edit the document.
Note: Requires authenticated user. Exactly one of documentRevisionId and attachmentRevisionId has to be provided. The URL answers HTTPS PUT requests, expires after 15 minutes and requires the header x-amz-storage-class: STANDARD_IA to be sent.
Response
Returns a ContentUrl
Arguments
| Name | Description |
|---|---|
dbId - ID!
|
The id of the database. |
documentRevisionId - ID
|
The id of the document revision to write. |
attachmentRevisionId - ID
|
The id of the attachment revision to write. |
annotations - Boolean
|
Whether the annotation variant of the document revision is written. Default = false |
Example
Query
query getUploadUrl(
$dbId: ID!,
$documentRevisionId: ID,
$attachmentRevisionId: ID,
$annotations: Boolean
) {
getUploadUrl(
dbId: $dbId,
documentRevisionId: $documentRevisionId,
attachmentRevisionId: $attachmentRevisionId,
annotations: $annotations
) {
url
expiresAt
}
}
Variables
{
"dbId": "a7f9110cdb12",
"documentRevisionId": "5c5e8d83fd81",
"attachmentRevisionId": "5c5e8d83fd81",
"annotations": false
}
Response
{
"data": {
"getUploadUrl": {
"url": "abc123",
"expiresAt": "2023-09-23T16:34:25"
}
}
}
getWindowsClientUpdates
Description
Gets all Windows client updates in specified language.
Response
Returns a ClientUpdates
Arguments
| Name | Description |
|---|---|
languageCode - String!
|
The LCID string of the requested language (currently only en-US supported). |
version - String
|
Changes starting from this Version should be returned. If Omitted changes from all versions are returned. |
betaVersion - Boolean
|
Indicates if starting version is a beta version. |
Example
Query
query getWindowsClientUpdates(
$languageCode: String!,
$version: String,
$betaVersion: Boolean
) {
getWindowsClientUpdates(
languageCode: $languageCode,
version: $version,
betaVersion: $betaVersion
) {
updates {
...ClientUpdateFragment
}
downloadUrl
downloadUrlBeta
}
}
Variables
{"languageCode": "en-US", "version": "6.6.1", "betaVersion": true}
Response
{
"data": {
"getWindowsClientUpdates": {
"updates": [ClientUpdate],
"downloadUrl": "https://www.quick-archive.com/download/Quick-Archive.exe",
"downloadUrlBeta": "https://www.quick-archive.com/download/Quick-Archive-Beta.exe"
}
}
}
getWorkspace
Description
Gets the login bootstrap: the authenticated user, the archives the user may open and the server time.
Returns the workspace of the authenticated user.
Note: Requires authenticated user. Answers in 2 database queries.
Response
Returns a Workspace
Example
Query
query getWorkspace {
getWorkspace {
user {
...WorkspaceUserFragment
}
dbs {
...WorkspaceDbFragment
}
serverTimeUtc
}
}
Response
{
"data": {
"getWorkspace": {
"user": WorkspaceUser,
"dbs": [WorkspaceDb],
"serverTimeUtc": "2007-07-17T10:26:44"
}
}
}
searchDocuments
Description
Searches documents and returns one page of hits.
Returns the requested page of hits together with the total number of hits.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.SEARCH_QUERY_INVALID: The search query is empty or could not be parsed.FOLDER_NOT_FOUND: The folder with the specified ID could not be found.
Note: Requires authenticated user. The rows are the rows of getFolderView. Search text and permissions are evaluated in the database, so totalCount and paging are exact. A search for a document id is permission filtered as well.
Response
Returns a SearchResult
Arguments
| Name | Description |
|---|---|
dbId - ID!
|
The id of the database. |
query - String!
|
The search query. |
options - Int!
|
The combined SearchOptionKind flags as integer value (1 document title, 2 document content). |
onlyBelowFolderId - Guid
|
If this folder id is provided only documents below and including this folder are searched. |
skip - Int
|
The number of hits to skip. |
take - Int
|
The number of hits to return. If omitted or not positive all hits are returned. |
Example
Query
query searchDocuments(
$dbId: ID!,
$query: String!,
$options: Int!,
$onlyBelowFolderId: Guid,
$skip: Int,
$take: Int
) {
searchDocuments(
dbId: $dbId,
query: $query,
options: $options,
onlyBelowFolderId: $onlyBelowFolderId,
skip: $skip,
take: $take
) {
totalCount
items {
...ItemRowFragment
}
}
}
Variables
{
"dbId": "22017a0e2409",
"query": "xyz789",
"options": 460775715,
"onlyBelowFolderId": "2b2b5d61-efda-432e-8a6b-f4172ccc2f9a",
"skip": 460775715,
"take": 460775715
}
Response
{
"data": {
"searchDocuments": {
"totalCount": 460775715,
"items": [ItemRow]
}
}
}
Mutations
addDocumentKeyword
Description
Adds a keyword to a document.
Returns true on success, false otherwise.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.DOCUMENT_NOT_FOUND: The document with the specified ID could not be found.DOCUMENT_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to edit the document.KEYWORD_NOT_FOUND: The keyword with the specified ID could not be found.KEYWORD_ALREADY_ASSIGNED: The keyword with the specified ID is already assigned to the document.
Note: Requires authenticated user.
Response
Returns a Boolean
Example
Query
mutation addDocumentKeyword(
$dbId: ID!,
$documentId: Guid!,
$keywordId: Guid!
) {
addDocumentKeyword(
dbId: $dbId,
documentId: $documentId,
keywordId: $keywordId
)
}
Variables
{
"dbId": "557f51cd57de",
"documentId": "7b7ae12c-6a87-4823-b9b3-b031cac9467f",
"keywordId": "3e114e4a-b75c-43c2-aefa-6ed4a38ada9a"
}
Response
{"data": {"addDocumentKeyword": true}}
addDocumentTypeMetaField
Description
Adds a meta field to a document type.
Returns true on success, false otherwise.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.ADMIN_REQUIRED: The user is not an admin, but this is required to add a meta field to a document type.DOCUMENT_TYPE_NOT_FOUND: The document type with the specified ID could not be found.META_FIELD_NOT_FOUND: The meta field with the specified ID could not be found.META_FIELD_ALREADY_ASSIGNED: The meta field with the specified ID is already assigned to the document type.
Note: Requires authenticated user. Requires user admin rights.
Response
Returns a Boolean
Example
Query
mutation addDocumentTypeMetaField(
$dbId: ID!,
$documentTypeId: Guid!,
$metaFieldId: Guid!
) {
addDocumentTypeMetaField(
dbId: $dbId,
documentTypeId: $documentTypeId,
metaFieldId: $metaFieldId
)
}
Variables
{
"dbId": "5a4c7adbc86b",
"documentTypeId": "d20db5ef-2baf-49ce-8a2e-72747ce1497e",
"metaFieldId": "b8f3d4d4-8913-45b7-9a3c-df54ed17f79d"
}
Response
{"data": {"addDocumentTypeMetaField": false}}
archiveDocument
Description
Archives a new document and returns the pre-signed URL its content is uploaded to.
Returns the new document together with its first revision and the upload URL.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.PARENT_FOLDER_NOT_FOUND: The parent folder with the specified ID could not be found.PARENT_FOLDER_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to edit the parent folder.DOCUMENT_TYPE_NOT_FOUND: The document type with the specified ID could not be found.META_FIELD_NOT_FOUND: A meta field with the specified ID could not be found.META_FIELD_VALUE_NOT_FOUND: A meta field value with the specified ID could not be found or does not belong to the meta field.KEYWORD_NOT_FOUND: A keyword with the specified ID could not be found.ARCHIVED_DOCUMENT_NOT_FOUND: The document of an earlier archiving request with the same client request ID does not exist any more.CLOUD_STORAGE_NOT_AVAILABLE: The cloud storage is not available.CONFLICT: The document was changed by another user in the meantime.
Note: Requires authenticated user. The document, its first revision, its meta data and its keywords are written in one transaction. The URL answers HTTPS PUT requests, expires after 15 minutes and requires the header x-amz-storage-class: STANDARD_IA to be sent; call completeRevisionUpload afterwards, which only has to send the file sizes and the hash. Repeating the call with the same clientRequestId returns the document created the first time (with a fresh URL) instead of archiving it twice.
Warning: The idempotency of clientRequestId is kept in the memory of the server process and expires after one hour.
Response
Returns a DocumentArchived
Arguments
| Name | Description |
|---|---|
dbId - ID!
|
The id of the database. |
parentId - Guid!
|
The id of the parent folder the new document is placed below. |
name - String!
|
The name of the new document without its file extension. |
fileExtension - String!
|
The file extension of the new document. |
ocrUsed - Boolean!
|
Defines whether OCR was used to detect the content text. If it was not and a content text is provided, the document is marked as having original text. |
hasOriginalText - Boolean
|
Overrides whether the original file has text of its own. If omitted it is derived from ocrUsed and contentText. |
contentText - String
|
The content text of the new document. |
pageCount - Int
|
The page count of the new document. |
originalFileName - String
|
The file name of the original file. |
originalCreatedUtc - DateTime
|
The creation date of the original file in UTC. |
originalLastChangedUtc - DateTime
|
The date the original file was last changed in UTC. |
documentTypeId - Guid
|
The id of the document type of the new document. If omitted the default document type is used. |
metaData - [MetaDataInput!]
|
The meta data values of the new document. |
keywords - [Guid!]
|
The ids of the keywords of the new document. |
clientRequestId - Guid!
|
A client generated id identifying this archiving request. A retry has to send the same id. |
Example
Query
mutation archiveDocument(
$dbId: ID!,
$parentId: Guid!,
$name: String!,
$fileExtension: String!,
$ocrUsed: Boolean!,
$hasOriginalText: Boolean,
$contentText: String,
$pageCount: Int,
$originalFileName: String,
$originalCreatedUtc: DateTime,
$originalLastChangedUtc: DateTime,
$documentTypeId: Guid,
$metaData: [MetaDataInput!],
$keywords: [Guid!],
$clientRequestId: Guid!
) {
archiveDocument(
dbId: $dbId,
parentId: $parentId,
name: $name,
fileExtension: $fileExtension,
ocrUsed: $ocrUsed,
hasOriginalText: $hasOriginalText,
contentText: $contentText,
pageCount: $pageCount,
originalFileName: $originalFileName,
originalCreatedUtc: $originalCreatedUtc,
originalLastChangedUtc: $originalLastChangedUtc,
documentTypeId: $documentTypeId,
metaData: $metaData,
keywords: $keywords,
clientRequestId: $clientRequestId
) {
documentId
documentRevisionId
createdUtc
uploadUrl
uploadUrlExpiresAt
}
}
Variables
{
"dbId": "8e3c718d6314",
"parentId": "49a1119d-1520-453a-bb4b-9da91bf0e1d7",
"name": "abc123",
"fileExtension": "pdf",
"ocrUsed": true,
"hasOriginalText": false,
"contentText": "xyz789",
"pageCount": 34,
"originalFileName": "xyz789",
"originalCreatedUtc": "2005-02-24T04:06:17",
"originalLastChangedUtc": "2024-10-19T11:02:31",
"documentTypeId": "cb62c7b1-9fd5-4284-a578-2a2c730b6c60",
"metaData": [MetaDataInput],
"keywords": "6e7d7679-38a6-4285-92fe-2af93e1f24c3",
"clientRequestId": "5bf011e7-739d-4fa1-b722-56b577806feb"
}
Response
{
"data": {
"archiveDocument": {
"documentId": "c47e7452-f1e1-4fc0-8c3d-6b177054f872",
"documentRevisionId": "dcb09948-8932-494e-afed-638306bceee0",
"createdUtc": "2009-10-21T20:27:28",
"uploadUrl": "abc123",
"uploadUrlExpiresAt": "2017-07-14T19:59:27"
}
}
}
completeAttachmentUpload
Description
Finalizes an attachment revision after its content was uploaded.
Returns true on success, false otherwise.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.ATTACHMENT_REVISION_NOT_FOUND: The attachment revision with the specified ID could not be found.DOCUMENT_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to edit the document.CONFLICT: The document was changed by another user in the meantime.
Note: Requires authenticated user.
Response
Returns a Boolean
Arguments
| Name | Description |
|---|---|
dbId - ID!
|
The id of the database. |
attachmentRevisionId - Guid!
|
The id of the attachment revision. |
archivedLength - Long!
|
The length of the uploaded (encrypted) content in bytes. |
dataHash - String!
|
The hash of the uploaded content. |
originalLength - Long!
|
The length of the original file in bytes. |
Example
Query
mutation completeAttachmentUpload(
$dbId: ID!,
$attachmentRevisionId: Guid!,
$archivedLength: Long!,
$dataHash: String!,
$originalLength: Long!
) {
completeAttachmentUpload(
dbId: $dbId,
attachmentRevisionId: $attachmentRevisionId,
archivedLength: $archivedLength,
dataHash: $dataHash,
originalLength: $originalLength
)
}
Variables
{
"dbId": "712b597e20a3",
"attachmentRevisionId": "2e311957-2942-4a1a-a3dd-794bfc5cd7e5",
"archivedLength": -9049124290990832000,
"dataHash": "xyz789",
"originalLength": -9049124290990832000
}
Response
{"data": {"completeAttachmentUpload": false}}
completeRevisionUpload
Description
Finalizes a document revision after its content was uploaded.
Returns true on success, false otherwise.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.DOCUMENT_REVISION_NOT_FOUND: The document revision with the specified ID could not be found.DOCUMENT_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to edit the document.CONFLICT: The document was changed by another user in the meantime.
Note: Requires authenticated user. contentText, ocrUsed and pageCount update the document itself and are only written when provided; a revision created by archiveDocument carries them already.
Response
Returns a Boolean
Arguments
| Name | Description |
|---|---|
dbId - ID!
|
The id of the database. |
documentRevisionId - Guid!
|
The id of the document revision. |
archivedLength - Long!
|
The length of the uploaded (encrypted) content in bytes. |
dataHash - String!
|
The hash of the uploaded content. |
originalLength - Long!
|
The length of the original content in bytes. |
contentText - String
|
The content text of the document. |
ocrUsed - Boolean
|
Defines whether OCR was used to detect the content text. |
pageCount - Int
|
The page count of the document. |
Example
Query
mutation completeRevisionUpload(
$dbId: ID!,
$documentRevisionId: Guid!,
$archivedLength: Long!,
$dataHash: String!,
$originalLength: Long!,
$contentText: String,
$ocrUsed: Boolean,
$pageCount: Int
) {
completeRevisionUpload(
dbId: $dbId,
documentRevisionId: $documentRevisionId,
archivedLength: $archivedLength,
dataHash: $dataHash,
originalLength: $originalLength,
contentText: $contentText,
ocrUsed: $ocrUsed,
pageCount: $pageCount
)
}
Variables
{
"dbId": "15e509f71650",
"documentRevisionId": "6eefa8f6-9b90-4028-b9e3-4cfbc5fa24d0",
"archivedLength": -9049124290990832000,
"dataHash": "abc123",
"originalLength": -9049124290990832000,
"contentText": "xyz789",
"ocrUsed": false,
"pageCount": 28
}
Response
{"data": {"completeRevisionUpload": true}}
createAttachment
Description
Creates an attachment of a document and returns the pre-signed URL its content is uploaded to.
Returns the new attachment together with its upload URL.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.DOCUMENT_NOT_FOUND: The document with the specified ID could not be found.DOCUMENT_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to edit the document.CLOUD_STORAGE_NOT_AVAILABLE: The cloud storage is not available.CONFLICT: The document was changed by another user in the meantime.
Note: Requires authenticated user. The URL answers HTTPS PUT requests, expires after 15 minutes and requires the header x-amz-storage-class: STANDARD_IA to be sent. Call completeAttachmentUpload afterwards.
Response
Returns an AttachmentCreated
Example
Query
mutation createAttachment(
$dbId: ID!,
$documentId: Guid!,
$name: String!,
$fileExtension: String!
) {
createAttachment(
dbId: $dbId,
documentId: $documentId,
name: $name,
fileExtension: $fileExtension
) {
attachmentId
attachmentRevisionId
createdUtc
uploadUrl
uploadUrlExpiresAt
}
}
Variables
{
"dbId": "439bf8cdb46b",
"documentId": "90f45445-d4b8-485c-8c10-9f8a4e94b702",
"name": "abc123",
"fileExtension": "pdf"
}
Response
{
"data": {
"createAttachment": {
"attachmentId": "d3ad5ff1-fbd5-48f5-8307-e1205ceb10fb",
"attachmentRevisionId": "d93b8bd9-4122-4906-8e5c-e637efb12bd2",
"createdUtc": "2016-10-14T21:27:51",
"uploadUrl": "abc123",
"uploadUrlExpiresAt": "2003-01-16T18:40:06"
}
}
}
createAttachmentRevision
Description
Creates a new revision of an attachment and returns the pre-signed URL its content is uploaded to.
Returns the attachment together with the upload URL of the new revision.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.DOCUMENT_NOT_FOUND: The document with the specified ID could not be found.DOCUMENT_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to edit the document.CLOUD_STORAGE_NOT_AVAILABLE: The cloud storage is not available.CONFLICT: The document was changed by another user in the meantime.
Note: Requires authenticated user. The URL answers HTTPS PUT requests, expires after 15 minutes and requires the header x-amz-storage-class: STANDARD_IA to be sent. Call completeAttachmentUpload afterwards.
Response
Returns an AttachmentCreated
Example
Query
mutation createAttachmentRevision(
$dbId: ID!,
$attachmentId: Guid!
) {
createAttachmentRevision(
dbId: $dbId,
attachmentId: $attachmentId
) {
attachmentId
attachmentRevisionId
createdUtc
uploadUrl
uploadUrlExpiresAt
}
}
Variables
{"dbId": "c08a37778a97", "attachmentId": "f8c28dcb-1dae-43df-9775-f46821df7c48"}
Response
{
"data": {
"createAttachmentRevision": {
"attachmentId": "d3ad5ff1-fbd5-48f5-8307-e1205ceb10fb",
"attachmentRevisionId": "d93b8bd9-4122-4906-8e5c-e637efb12bd2",
"createdUtc": "2016-10-14T21:27:51",
"uploadUrl": "abc123",
"uploadUrlExpiresAt": "2003-01-16T18:40:06"
}
}
}
createClientVersion
Description
Creates a new client version.
Returns true on success, false otherwise.
Possible execution exceptions:
INVALID_API_KEY: The API key used is not allowed for this API method.
Note: Requires global admin API key.
Response
Returns a Boolean
Arguments
| Name | Description |
|---|---|
clientVersion - ClientVersionInput!
|
The data of the new client version. |
Example
Query
mutation createClientVersion($clientVersion: ClientVersionInput!) {
createClientVersion(clientVersion: $clientVersion)
}
Variables
{"clientVersion": ClientVersionInput}
Response
{"data": {"createClientVersion": true}}
createComment
Description
Creates a new comment.
Returns the created comment on success, otherwise null.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.DOCUMENT_NOT_FOUND: The document with the specified ID could not be found.DOCUMENT_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to edit the document.
Note: Requires authenticated user.
Response
Returns a Comment
Example
Query
mutation createComment(
$dbId: ID!,
$documentId: Guid!,
$content: String!
) {
createComment(
dbId: $dbId,
documentId: $documentId,
content: $content
) {
id
content
created
lastChanged
createdUser {
...UserFragment
}
document {
...DocumentFragment
}
}
}
Variables
{
"dbId": "2b4358f4bd60",
"documentId": "d3f181c0-019c-4407-a42f-b33454cc2547",
"content": "xyz789"
}
Response
{
"data": {
"createComment": {
"id": "f14249b2-c567-4b28-b7e0-c4f533e2a77a",
"content": "xyz789",
"created": "2009-11-22T19:27:54",
"lastChanged": "2009-12-06T23:19:28",
"createdUser": User,
"document": Document
}
}
}
createDb
Description
Creates a new archive.
Returns the created archive.
Possible execution exceptions:
ADMIN_REQUIRED: The user is not an admin, but this is required to manage archives.DB_NOT_FOUND: The archive with the specified ID could not be found.TITLE_REQUIRED: The title of the archive is required.PERMISSIONS_INVALID: A permission entry has to reference either a user or a group.USER_NOT_FOUND: A user with one of the specified IDs could not be found.GROUP_NOT_FOUND: A group with one of the specified IDs could not be found.
Note: Requires authenticated user. Requires user admin rights. The archive schema is created right away instead of when the archive is opened the first time. A new archive has no permission entries, which means nobody has access until setDbPermissions is called.
Response
Returns an AdminDb
Example
Query
mutation createDb(
$title: String!,
$description: String,
$passwordHash: String
) {
createDb(
title: $title,
description: $description,
passwordHash: $passwordHash
) {
id
title
description
hasPassword
createdUtc
createdUserName
permissions {
...DbPermissionInfoFragment
}
}
}
Variables
{
"title": "abc123",
"description": "abc123",
"passwordHash": "417A6E6813B170BCF75359402A6C80F051E34B10"
}
Response
{
"data": {
"createDb": {
"id": "5c5e8d83fd81",
"title": "xyz789",
"description": "xyz789",
"hasPassword": false,
"createdUtc": "2023-08-06T21:35:34",
"createdUserName": "xyz789",
"permissions": [DbPermissionInfo]
}
}
}
createDocumentType
Description
Creates a new document type.
Returns the created document type on success, otherwise null.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.ADMIN_REQUIRED: The user is not an admin, but this is required to create a document type.
Note: Requires authenticated user. Requires user admin rights.
Response
Returns a DocumentType
Example
Query
mutation createDocumentType(
$dbId: ID!,
$name: String!
) {
createDocumentType(
dbId: $dbId,
name: $name
) {
id
name
metaFields {
...MetaFieldFragment
}
expirationTemplate {
...ExpirationTemplateFragment
}
documents {
...DocumentFragment
}
folders {
...FolderFragment
}
}
}
Variables
{"dbId": "36a04ab8cef0", "name": "xyz789"}
Response
{
"data": {
"createDocumentType": {
"id": "21eea80d-20d1-4b02-8213-6388fd25e376",
"name": "xyz789",
"metaFields": [MetaField],
"expirationTemplate": ExpirationTemplate,
"documents": [Document],
"folders": [Folder]
}
}
}
createFolder
Description
Creates a new folder.
Returns the created folder on success, otherwise null.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.PARENT_FOLDER_NOT_FOUND: The parent folder with the specified ID could not be found.PARENT_FOLDER_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to edit the parent folder.
Note: Requires authenticated user.
Response
Returns a Folder
Example
Query
mutation createFolder(
$dbId: ID!,
$parentId: Guid!,
$name: String!,
$description: String!
) {
createFolder(
dbId: $dbId,
parentId: $parentId,
name: $name,
description: $description
) {
id
name
color
created
lastChanged
createdUser {
...UserFragment
}
lastChangedUser {
...UserFragment
}
parent {
...ItemFragment
}
parentsPath
linkedItems {
...ItemFragment
}
userCanEdit
userCanDelete
description
}
}
Variables
{
"dbId": "30083634227b",
"parentId": "eae195a0-cc87-4daa-9881-cd15229169a6",
"name": "abc123",
"description": "xyz789"
}
Response
{
"data": {
"createFolder": {
"id": "5cfbe451-6823-4c6c-853c-8501c5c4b0d9",
"name": "xyz789",
"color": -2309292,
"created": "2021-09-06T04:30:08",
"lastChanged": "2018-07-04T21:55:56",
"createdUser": User,
"lastChangedUser": User,
"parent": Item,
"parentsPath": "abc123/abc123",
"linkedItems": [Item],
"userCanEdit": true,
"userCanDelete": true,
"description": "abc123"
}
}
}
createGroup
Description
Creates a new group.
Returns the created group.
Possible execution exceptions:
ADMIN_REQUIRED: The user is not an admin, but this is required to manage groups.GROUP_NOT_FOUND: The group with the specified ID could not be found.TITLE_REQUIRED: The title of the group is required.USER_NOT_FOUND: A user with one of the specified IDs could not be found.
Note: Requires authenticated user. Requires user admin rights.
Response
Returns an AdminGroup
Example
Query
mutation createGroup(
$title: String!,
$description: String,
$userIds: [Guid!]
) {
createGroup(
title: $title,
description: $description,
userIds: $userIds
) {
id
title
description
createdUtc
userIds
}
}
Variables
{
"title": "xyz789",
"description": "xyz789",
"userIds": "c2b855d5-57ad-4270-b09f-aa3b83c4e701"
}
Response
{
"data": {
"createGroup": {
"id": "e5c0bf8d-4055-4afc-b814-73651aa2f860",
"title": "abc123",
"description": "abc123",
"createdUtc": "2026-05-24T22:47:43",
"userIds": ["27997b7d-3a84-4e8d-9ce1-9dcfa8b1614a"]
}
}
}
createKeyword
Description
Creates a new keyword.
Returns the created keyword on success, otherwise null.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.KEYWORD_ALREADY_EXISTS: A keyword with the same name already exists.
Note: Requires authenticated user.
Response
Returns a Keyword
Example
Query
mutation createKeyword(
$dbId: ID!,
$name: String!
) {
createKeyword(
dbId: $dbId,
name: $name
) {
id
name
documents {
...DocumentFragment
}
}
}
Variables
{"dbId": "f999a47c56e5", "name": "xyz789"}
Response
{
"data": {
"createKeyword": {
"id": "eba25e1b-5ed6-468d-9f3d-04e2ad993221",
"name": "abc123",
"documents": [Document]
}
}
}
createMetaField
Description
Creates a new meta field.
Returns the created meta field on success, otherwise null.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.ADMIN_REQUIRED: The user is not an admin, but this is required to create a meta field.MASK_CANNOT_BE_USED: The mask can only be used forTextShortmeta fields.LINE_COUNT_REQUIRED: A line count is required forTextLongmeta fields.LINE_COUNT_CANNOT_BE_USED: A line count can only be used forTextLongmeta fields.LINE_COUNT_INVALID: The line count is invalid (must be between 2 and 9 lines).
Note: Requires authenticated user. Requires user admin rights.
Response
Returns a MetaField
Arguments
| Name | Description |
|---|---|
dbId - ID!
|
The id of the database. |
name - String!
|
The name of the new meta field. |
kind - MetaFieldKind!
|
The kind of the new meta field. The canonical form is the enum name; the numeric MetaFieldKind value is accepted as well. |
mask - String
|
The text mask of the new meta field (optional for TextShort meta fields only). |
lineCount - Short
|
The line count of the new meta field (between 2 and 9 lines, required for TextLong meta fields). |
Example
Query
mutation createMetaField(
$dbId: ID!,
$name: String!,
$kind: MetaFieldKind!,
$mask: String,
$lineCount: Short
) {
createMetaField(
dbId: $dbId,
name: $name,
kind: $kind,
mask: $mask,
lineCount: $lineCount
) {
id
name
kind
mask
lineCount
selectionOptions
created
lastChanged
createdUser {
...UserFragment
}
lastChangedUser {
...UserFragment
}
metaDatas {
...MetaDataFragment
}
documentTypes {
...DocumentTypeFragment
}
expirationTemplates {
...ExpirationTemplateFragment
}
}
}
Variables
{
"dbId": "583e8dba5bb3",
"name": "abc123",
"kind": "TEXT_SHORT",
"mask": "abc123",
"lineCount": 2
}
Response
{
"data": {
"createMetaField": {
"id": "274d7c0f-05e2-4e96-9f01-486c784e2e3d",
"name": "abc123",
"kind": "TEXT_SHORT",
"mask": "abc123",
"lineCount": 8,
"selectionOptions": ["xyz789"],
"created": "2015-09-07T00:52:44",
"lastChanged": "2010-02-18T23:03:59",
"createdUser": User,
"lastChangedUser": User,
"metaDatas": [MetaData],
"documentTypes": [DocumentType],
"expirationTemplates": [ExpirationTemplate]
}
}
}
createMetaFieldValue
Description
Creates a new selection list value of a meta field.
Returns the created meta field value.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.ADMIN_REQUIRED: The user is not an admin, but this is required to manage meta field selection values.META_FIELD_NOT_FOUND: The meta field with the specified ID could not be found.META_FIELD_VALUE_NOT_FOUND: The meta field value with the specified ID could not be found.INVALID_META_FIELD_KIND: The meta field is not aSelectionListmeta field.META_FIELD_VALUE_ALREADY_EXISTS: A value with this content exists already for this meta field.META_FIELD_VALUE_INVALID: The content of a meta field value is required and must not be empty.
Note: Requires authenticated user. Requires user admin rights. The meta field has to be a SelectionList meta field.
Response
Returns a MetaFieldValueInfo
Example
Query
mutation createMetaFieldValue(
$dbId: ID!,
$metaFieldId: Guid!,
$content: String!
) {
createMetaFieldValue(
dbId: $dbId,
metaFieldId: $metaFieldId,
content: $content
) {
id
content
}
}
Variables
{
"dbId": "9f0e3c6c1de0",
"metaFieldId": "ca7115c0-49b1-4fbd-81de-d3379034e21a",
"content": "xyz789"
}
Response
{
"data": {
"createMetaFieldValue": {
"id": "b440df25-c3a0-449c-9a7b-2de2c9f2ac08",
"content": "xyz789"
}
}
}
createStamp
Description
Creates a new stamp.
Returns the created stamp.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.ADMIN_REQUIRED: The user is not an admin, but this is required to manage stamps.STAMP_NOT_FOUND: The stamp with the specified ID could not be found.STAMP_INVALID: The name and the text of a stamp are required and must not be empty.
Note: Requires authenticated user. Requires user admin rights. The text may contain the placeholders [user], [date], [year], [month], [day], [time], [hour], [minute] and [second].
Response
Returns a StampInfo
Arguments
| Name | Description |
|---|---|
dbId - ID!
|
The id of the database. |
name - String!
|
The name of the new stamp. |
text - String!
|
The text of the new stamp. |
color - Int!
|
The color of the new stamp as ARGB integer value. |
opacity - Int
|
The opacity of the new stamp in percent. Default = 100 |
rotation - Int
|
The rotation of the new stamp in degrees. Default = 0 |
Example
Query
mutation createStamp(
$dbId: ID!,
$name: String!,
$text: String!,
$color: Int!,
$opacity: Int,
$rotation: Int
) {
createStamp(
dbId: $dbId,
name: $name,
text: $text,
color: $color,
opacity: $opacity,
rotation: $rotation
) {
id
name
text
color
opacity
rotation
}
}
Variables
{
"dbId": "82282252f4a1",
"name": "abc123",
"text": "xyz789",
"color": -15012197,
"opacity": 100,
"rotation": 0
}
Response
{
"data": {
"createStamp": {
"id": "271fb55c-6d64-468b-8b64-7a454b0c6ce9",
"name": "xyz789",
"text": "abc123",
"color": -14251574,
"opacity": 460775715,
"rotation": 460775715
}
}
}
createUser
Description
Creates a new user.
Returns the created user.
Possible execution exceptions:
ADMIN_REQUIRED: The user is not an admin, but this is required to manage users.USER_NOT_FOUND: The user with the specified ID could not be found.LOGIN_NAME_INVALID: The login name is invalid. RegEx:^([a-zA-Z0-9]([\w-]*[a-zA-Z0-9])?){3,}$LOGIN_NAME_ALREADY_EXISTS: A user with this login name exists already.FULL_NAME_REQUIRED: The full name is required.SYSTEM_USER_PROTECTED: The system user cannot be managed.GROUP_NOT_FOUND: A group with one of the specified IDs could not be found.
Note: Requires authenticated user. Requires user admin rights. The login name is stored lower case and has to be unique. An admin always may own private archives, exactly as the administration dialog enforces it.
Response
Returns an AdminUser
Arguments
| Name | Description |
|---|---|
loginName - String!
|
The login name of the new user. RegEx: ^([a-zA-Z0-9]([\w-]*[a-zA-Z0-9])?){3,}$ |
fullName - String!
|
The full name of the new user. |
eMail - String
|
The e-mail of the new user. |
description - String
|
The description of the new user. |
passwordHash - String
|
The password hash (SHA1, upper case) of the new user. Omit for a user without password. |
admin - Boolean
|
Defines whether the new user is admin. Default = false |
active - Boolean
|
Defines whether the new user is active. Default = true |
allowPrivateDb - Boolean
|
Defines whether the new user may own private archives. Ignored for admins, who always may. Default = false |
changePasswordNextLogin - Boolean
|
Defines whether the new user has to change the password on the next login. Default = false |
groupIds - [Guid!]
|
The ids of the groups the new user is a member of. |
Example
Query
mutation createUser(
$loginName: String!,
$fullName: String!,
$eMail: String,
$description: String,
$passwordHash: String,
$admin: Boolean,
$active: Boolean,
$allowPrivateDb: Boolean,
$changePasswordNextLogin: Boolean,
$groupIds: [Guid!]
) {
createUser(
loginName: $loginName,
fullName: $fullName,
eMail: $eMail,
description: $description,
passwordHash: $passwordHash,
admin: $admin,
active: $active,
allowPrivateDb: $allowPrivateDb,
changePasswordNextLogin: $changePasswordNextLogin,
groupIds: $groupIds
) {
id
loginName
fullName
eMail
description
hasPassword
admin
active
allowPrivateDb
changePasswordNextLogin
createdUtc
lastLoginUtc
groupIds
}
}
Variables
{
"loginName": "xyz789",
"fullName": "abc123",
"eMail": "mail@domain.com",
"description": "xyz789",
"passwordHash": "78AF2EFFB56149F158BE4FC1CC377E3EE44AF7E1",
"admin": false,
"active": true,
"allowPrivateDb": false,
"changePasswordNextLogin": false,
"groupIds": "915da50f-ccaf-4e30-afd4-a54e243ebafc"
}
Response
{
"data": {
"createUser": {
"id": "04dea7e2-f7c7-497b-9aea-8c88688de908",
"loginName": "abc123",
"fullName": "xyz789",
"eMail": "mail@domain.com",
"description": "abc123",
"hasPassword": true,
"admin": false,
"active": false,
"allowPrivateDb": true,
"changePasswordNextLogin": true,
"createdUtc": "2007-06-27T11:36:17",
"lastLoginUtc": "2022-02-23T15:28:44",
"groupIds": ["bd6ef3ff-9ded-43b5-a8aa-84d7d8795b50"]
}
}
}
deleteAttachment
Description
Deletes an attachment of a document.
Returns true on success, false otherwise.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.ATTACHMENT_NOT_FOUND: The attachment with the specified ID could not be found.DOCUMENT_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to edit the document.CLOUD_STORAGE_NOT_AVAILABLE: The cloud storage is not available.CONFLICT: The document was changed by another user in the meantime.
Note: Requires authenticated user. An attachment that does not exist any more succeeds without a change.
Warning: The cloud storage content of all revisions of the attachment is deleted as well.
Response
Returns a Boolean
Example
Query
mutation deleteAttachment(
$dbId: ID!,
$attachmentId: Guid!
) {
deleteAttachment(
dbId: $dbId,
attachmentId: $attachmentId
)
}
Variables
{"dbId": "308ebe0d13eb", "attachmentId": "1aeb851d-40a9-4de6-a9b2-a15d735a56a0"}
Response
{"data": {"deleteAttachment": true}}
deleteComment
Description
Deletes a comment.
Returns the deleted comment on success, otherwise null.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.COMMENT_NOT_FOUND: The comment with the specified ID could not be found.ADMIN_REQUIRED: The user is not an admin, but this is required to delete a comment that was not created by the same user.
Note: Requires authenticated user. Requires user admin rights to delete a comment of a different user.
Response
Returns a Comment
Example
Query
mutation deleteComment(
$dbId: ID!,
$commentId: Guid!
) {
deleteComment(
dbId: $dbId,
commentId: $commentId
) {
id
content
created
lastChanged
createdUser {
...UserFragment
}
document {
...DocumentFragment
}
}
}
Variables
{"dbId": "21e8d35e0240", "commentId": "16093979-f138-40af-8034-8e5204b952ea"}
Response
{
"data": {
"deleteComment": {
"id": "f14249b2-c567-4b28-b7e0-c4f533e2a77a",
"content": "xyz789",
"created": "2009-11-22T19:27:54",
"lastChanged": "2009-12-06T23:19:28",
"createdUser": User,
"document": Document
}
}
}
deleteDb
Description
Deletes an archive.
Returns true on success, false otherwise.
Possible execution exceptions:
ADMIN_REQUIRED: The user is not an admin, but this is required to manage archives.DB_NOT_FOUND: The archive with the specified ID could not be found.TITLE_REQUIRED: The title of the archive is required.PERMISSIONS_INVALID: A permission entry has to reference either a user or a group.USER_NOT_FOUND: A user with one of the specified IDs could not be found.GROUP_NOT_FOUND: A group with one of the specified IDs could not be found.
Note: Requires authenticated user. Requires user admin rights. An archive that does not exist any more succeeds without a change.
Warning: Only the archive entry with its permission entries and search patterns is deleted, exactly as the administration dialog does it today: the archive schema and the cloud storage content of the archive are kept and become unreachable.
deleteDocumentType
Description
Deletes a document type.
Returns the deleted document type on success, otherwise null.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.ADMIN_REQUIRED: The user is not an admin, but this is required to rename a document type.DOCUMENT_TYPE_NOT_FOUND: The document type with the specified ID could not be found.REPLACEMENT_DOCUMENT_TYPE_NOT_FOUND: The replacement document type with the specified ID could not be found.CONFLICT: A document re-typed to the replacement document type was changed by another user in the meantime.
Note: Requires authenticated user. Requires user admin rights. With replacementDocumentTypeId the documents of the document type are re-typed to the replacement first.
Warning: The document type is deleted from all associated documents including all of its meta data. Re-typed documents lose the meta data of the meta fields the replacement document type does not have.
Response
Returns a DocumentType
Arguments
| Name | Description |
|---|---|
dbId - ID!
|
The id of the database. |
documentTypeId - Guid!
|
The id of the document type that should be deleted. |
replacementDocumentTypeId - Guid
|
The id of the document type all documents of the deleted document type are re-typed to. If omitted the documents lose their document type including all of its meta data. |
Example
Query
mutation deleteDocumentType(
$dbId: ID!,
$documentTypeId: Guid!,
$replacementDocumentTypeId: Guid
) {
deleteDocumentType(
dbId: $dbId,
documentTypeId: $documentTypeId,
replacementDocumentTypeId: $replacementDocumentTypeId
) {
id
name
metaFields {
...MetaFieldFragment
}
expirationTemplate {
...ExpirationTemplateFragment
}
documents {
...DocumentFragment
}
folders {
...FolderFragment
}
}
}
Variables
{
"dbId": "361e7b5eb327",
"documentTypeId": "f9fd23a7-a5ac-4924-86bb-496d011ef738",
"replacementDocumentTypeId": "f9533837-9d07-4e76-921a-010c510ede95"
}
Response
{
"data": {
"deleteDocumentType": {
"id": "21eea80d-20d1-4b02-8213-6388fd25e376",
"name": "abc123",
"metaFields": [MetaField],
"expirationTemplate": ExpirationTemplate,
"documents": [Document],
"folders": [Folder]
}
}
}
deleteExpiration
Description
Deletes the expiration of a document.
Returns true on success, false otherwise.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.DOCUMENT_NOT_FOUND: The document with the specified ID could not be found.DOCUMENT_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to edit the document.EXPIRATION_CHANGE_NOT_ALLOWED: The expiration of the document is protected and cannot be deleted before it expired.CONFLICT: The document was changed by another user in the meantime.
Note: Requires authenticated user. A document without expiration succeeds without a change.
Response
Returns a Boolean
Example
Query
mutation deleteExpiration(
$dbId: ID!,
$documentId: Guid!,
$expectedVersion: Long!
) {
deleteExpiration(
dbId: $dbId,
documentId: $documentId,
expectedVersion: $expectedVersion
)
}
Variables
{
"dbId": "b4367c48f1c5",
"documentId": "53796970-5c8f-4f05-ae27-505385c59281",
"expectedVersion": -9049124290990832000
}
Response
{"data": {"deleteExpiration": true}}
deleteExpirationTemplate
Description
Deletes the expiration template of a document type.
Returns true on success, false otherwise.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.ADMIN_REQUIRED: The user is not an admin, but this is required to manage expiration templates.DOCUMENT_TYPE_NOT_FOUND: The document type with the specified ID could not be found.META_FIELD_NOT_FOUND: The meta field with the specified ID could not be found.EXPIRATION_TEMPLATE_INVALID: The period count, the period kind or the action kind of the expiration template is invalid.
Note: Requires authenticated user. Requires user admin rights. A document type without an expiration template succeeds without a change.
Warning: The expirations the template created on documents are kept.
Response
Returns a Boolean
Example
Query
mutation deleteExpirationTemplate(
$dbId: ID!,
$documentTypeId: Guid!
) {
deleteExpirationTemplate(
dbId: $dbId,
documentTypeId: $documentTypeId
)
}
Variables
{
"dbId": "e7596ffd91e7",
"documentTypeId": "93f4c78c-146c-40fe-bbf4-7b6ed1ba77ca"
}
Response
{"data": {"deleteExpirationTemplate": false}}
deleteGroup
Description
Deletes a group.
Returns true on success, false otherwise.
Possible execution exceptions:
ADMIN_REQUIRED: The user is not an admin, but this is required to manage groups.GROUP_NOT_FOUND: The group with the specified ID could not be found.TITLE_REQUIRED: The title of the group is required.USER_NOT_FOUND: A user with one of the specified IDs could not be found.
Note: Requires authenticated user. Requires user admin rights. A group that does not exist any more succeeds without a change.
Warning: The archive permission entries and the memberships of the group are deleted with it. Item permission entries in the archives reference the group without a foreign key and are not cleaned up, exactly as today.
deleteItems
Description
Deletes items.
Returns the number of items deleted.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.ITEM_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to delete one of the items.ITEM_DELETE_PROTECTED: One of the items is a document with an expiration date that prevents changes until it is reached.CLOUD_STORAGE_NOT_AVAILABLE: The cloud storage is not available, so the document data of the items cannot be deleted.CONFLICT: One of the items was changed by another user in the meantime.
Note: Requires authenticated user. Permissions of all items are checked before the first item is deleted. Items that do not exist any more are skipped, so a retry cannot fail.
Warning: Deleting an item permanently deletes its children, its meta data, its links, its shares and its cloud storage content.
Response
Returns an Int
Arguments
| Name | Description |
|---|---|
dbId - ID!
|
The id of the database. |
itemIds - [Guid!]!
|
The ids of the items to be deleted. |
forceDelete - Boolean
|
Determines if the items are permanently deleted if they are outside of the recycle bin (otherwise they are moved to the recycle bin in this case). In case an item is below the recycle bin already, it is always deleted permanently. Default = false |
Example
Query
mutation deleteItems(
$dbId: ID!,
$itemIds: [Guid!]!,
$forceDelete: Boolean
) {
deleteItems(
dbId: $dbId,
itemIds: $itemIds,
forceDelete: $forceDelete
)
}
Variables
{
"dbId": "6cbe8257b7c9",
"itemIds": "d485b26c-1226-46b5-94c8-9d6c6a089d49",
"forceDelete": false
}
Response
{"data": {"deleteItems": 460775715}}
deleteKeyword
Description
Deletes a keyword.
Returns the deleted keyword on success, otherwise null.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.ADMIN_REQUIRED: The user is not an admin, but this is required to delete a keyword.KEYWORD_NOT_FOUND: The keyword with the specified ID could not be found.
Note: Requires authenticated user. Requires user admin rights.
Warning: The keyword is deleted from all associated documents.
Response
Returns a Keyword
Example
Query
mutation deleteKeyword(
$dbId: ID!,
$keywordId: Guid!
) {
deleteKeyword(
dbId: $dbId,
keywordId: $keywordId
) {
id
name
documents {
...DocumentFragment
}
}
}
Variables
{"dbId": "13bf8a8273d5", "keywordId": "d9e5f04f-0c15-42fa-ad4f-e9d1223b1b4f"}
Response
{
"data": {
"deleteKeyword": {
"id": "eba25e1b-5ed6-468d-9f3d-04e2ad993221",
"name": "abc123",
"documents": [Document]
}
}
}
deleteMetaField
Description
Deletes a meta field.
Returns the deleted meta field on success, otherwise null.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.ADMIN_REQUIRED: The user is not an admin, but this is required to create a meta field.META_FIELD_NOT_FOUND: The meta field with the specified ID could not be found.
Note: Requires authenticated user. Requires user admin rights.
Warning: The meta field is deleted from all associated document types and documents including all of its meta data.
Response
Returns a MetaField
Example
Query
mutation deleteMetaField(
$dbId: ID!,
$metaFieldId: Guid!
) {
deleteMetaField(
dbId: $dbId,
metaFieldId: $metaFieldId
) {
id
name
kind
mask
lineCount
selectionOptions
created
lastChanged
createdUser {
...UserFragment
}
lastChangedUser {
...UserFragment
}
metaDatas {
...MetaDataFragment
}
documentTypes {
...DocumentTypeFragment
}
expirationTemplates {
...ExpirationTemplateFragment
}
}
}
Variables
{"dbId": "fd9e173c9ded", "metaFieldId": "fa14e338-9fce-45a4-bd14-c0dbf12a8e72"}
Response
{
"data": {
"deleteMetaField": {
"id": "274d7c0f-05e2-4e96-9f01-486c784e2e3d",
"name": "abc123",
"kind": "TEXT_SHORT",
"mask": "xyz789",
"lineCount": 8,
"selectionOptions": ["xyz789"],
"created": "2015-09-07T00:52:44",
"lastChanged": "2010-02-18T23:03:59",
"createdUser": User,
"lastChangedUser": User,
"metaDatas": [MetaData],
"documentTypes": [DocumentType],
"expirationTemplates": [ExpirationTemplate]
}
}
}
deleteMetaFieldValue
Description
Deletes a selection list value of a meta field.
Returns true on success, false otherwise.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.ADMIN_REQUIRED: The user is not an admin, but this is required to manage meta field selection values.META_FIELD_NOT_FOUND: The meta field with the specified ID could not be found.META_FIELD_VALUE_NOT_FOUND: The meta field value with the specified ID could not be found.INVALID_META_FIELD_KIND: The meta field is not aSelectionListmeta field.META_FIELD_VALUE_ALREADY_EXISTS: A value with this content exists already for this meta field.META_FIELD_VALUE_INVALID: The content of a meta field value is required and must not be empty.
Note: Requires authenticated user. Requires user admin rights. A meta field value that does not exist any more succeeds without a change.
Warning: The meta data of all documents using this value is deleted with it.
Response
Returns a Boolean
Example
Query
mutation deleteMetaFieldValue(
$dbId: ID!,
$metaFieldValueId: Guid!
) {
deleteMetaFieldValue(
dbId: $dbId,
metaFieldValueId: $metaFieldValueId
)
}
Variables
{
"dbId": "1b1510a38765",
"metaFieldValueId": "039bd667-8a74-40d3-945a-a6cb46bf85ed"
}
Response
{"data": {"deleteMetaFieldValue": true}}
deleteReminder
Description
Deletes a reminder.
Returns true on success, false otherwise.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.REMINDER_NOT_FOUND: The reminder with the specified ID could not be found.REMINDER_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to delete the reminder.
Note: Requires authenticated user. Requires user admin rights to delete a reminder of a different user. A reminder that does not exist any more succeeds without a change.
Response
Returns a Boolean
Example
Query
mutation deleteReminder(
$dbId: ID!,
$reminderId: Guid!
) {
deleteReminder(
dbId: $dbId,
reminderId: $reminderId
)
}
Variables
{"dbId": "fb202f6f085e", "reminderId": "d29a5045-1763-4e14-aa26-6d64cfda88d1"}
Response
{"data": {"deleteReminder": false}}
deleteSearchPattern
Description
Deletes a search pattern of an archive.
Returns true on success, false otherwise.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.SEARCH_PATTERN_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to delete the search pattern.
Note: Requires authenticated user. A search pattern that does not exist any more succeeds without a change. Every search pattern the user sees may be deleted, exactly as the search assistant of the client allows it.
Response
Returns a Boolean
Example
Query
mutation deleteSearchPattern(
$dbId: ID!,
$searchPatternId: Guid!
) {
deleteSearchPattern(
dbId: $dbId,
searchPatternId: $searchPatternId
)
}
Variables
{
"dbId": "06daa304980c",
"searchPatternId": "8e6eabe3-dd8f-4490-aada-188bec66d6f4"
}
Response
{"data": {"deleteSearchPattern": false}}
deleteStamp
Description
Deletes a stamp.
Returns true on success, false otherwise.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.ADMIN_REQUIRED: The user is not an admin, but this is required to manage stamps.STAMP_NOT_FOUND: The stamp with the specified ID could not be found.STAMP_INVALID: The name and the text of a stamp are required and must not be empty.
Note: Requires authenticated user. Requires user admin rights. A stamp that does not exist any more succeeds without a change.
Response
Returns a Boolean
Example
Query
mutation deleteStamp(
$dbId: ID!,
$stampId: Guid!
) {
deleteStamp(
dbId: $dbId,
stampId: $stampId
)
}
Variables
{"dbId": "269da91f8266", "stampId": "4ab6837e-b690-4731-ba4a-761d892991af"}
Response
{"data": {"deleteStamp": true}}
deleteUser
Description
Deactivates a user.
Returns true on success, false otherwise.
Possible execution exceptions:
ADMIN_REQUIRED: The user is not an admin, but this is required to manage users.USER_NOT_FOUND: The user with the specified ID could not be found.LOGIN_NAME_INVALID: The login name is invalid. RegEx:^([a-zA-Z0-9]([\w-]*[a-zA-Z0-9])?){3,}$LOGIN_NAME_ALREADY_EXISTS: A user with this login name exists already.FULL_NAME_REQUIRED: The full name is required.SYSTEM_USER_PROTECTED: The system user cannot be managed.GROUP_NOT_FOUND: A group with one of the specified IDs could not be found.
Note: Requires authenticated user. Requires user admin rights. The internal system user cannot be deactivated.
Warning: A user row is never removed, exactly as the administration dialog behaves: the user is set inactive and keeps its permission entries, its group memberships and its authorship of existing rows.
editComment
Description
Edits a comment.
Returns the edited comment on success, otherwise null.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.COMMENT_NOT_FOUND: The comment with the specified ID could not be found.ADMIN_REQUIRED: The user is not an admin, but this is required to edit a comment that was not created by the same user.
Note: Requires authenticated user. Requires user admin rights to edit a comment of a different user.
Response
Returns a Comment
Example
Query
mutation editComment(
$dbId: ID!,
$commentId: Guid!,
$newContent: String!
) {
editComment(
dbId: $dbId,
commentId: $commentId,
newContent: $newContent
) {
id
content
created
lastChanged
createdUser {
...UserFragment
}
document {
...DocumentFragment
}
}
}
Variables
{
"dbId": "d47cf90ea162",
"commentId": "21eeb4b4-5c39-491b-8490-92511b68f573",
"newContent": "abc123"
}
Response
{
"data": {
"editComment": {
"id": "f14249b2-c567-4b28-b7e0-c4f533e2a77a",
"content": "xyz789",
"created": "2009-11-22T19:27:54",
"lastChanged": "2009-12-06T23:19:28",
"createdUser": User,
"document": Document
}
}
}
editFolder
Description
Edits a folder.
Returns the edited folder on success, otherwise null.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.FOLDER_NOT_FOUND: The folder with the specified ID could not be found.FOLDER_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to edit the folder.
Note: Requires authenticated user.
Response
Returns a Folder
Example
Query
mutation editFolder(
$dbId: ID!,
$folderId: Guid!,
$newDescription: String!
) {
editFolder(
dbId: $dbId,
folderId: $folderId,
newDescription: $newDescription
) {
id
name
color
created
lastChanged
createdUser {
...UserFragment
}
lastChangedUser {
...UserFragment
}
parent {
...ItemFragment
}
parentsPath
linkedItems {
...ItemFragment
}
userCanEdit
userCanDelete
description
}
}
Variables
{
"dbId": "07b596f2deb7",
"folderId": "efb57722-1ed5-4d97-9d5e-d6e9f26d0639",
"newDescription": "abc123"
}
Response
{
"data": {
"editFolder": {
"id": "5cfbe451-6823-4c6c-853c-8501c5c4b0d9",
"name": "xyz789",
"color": -2309292,
"created": "2021-09-06T04:30:08",
"lastChanged": "2018-07-04T21:55:56",
"createdUser": User,
"lastChangedUser": User,
"parent": Item,
"parentsPath": "abc123/abc123",
"linkedItems": [Item],
"userCanEdit": true,
"userCanDelete": false,
"description": "xyz789"
}
}
}
heartbeat
Description
Gets the current session state of the authenticated user.
Returns the current session state.
Note: Requires authenticated user. Has no side effects; it replaces the client's periodic user-row poll. changeToken is reserved and currently always null.
Response
Returns a SessionState
Example
Query
mutation heartbeat {
heartbeat {
activeSession
serverTimeUtc
changeToken
}
}
Response
{
"data": {
"heartbeat": {
"activeSession": "cef0e552-6d49-4270-8779-fe509c279f1e",
"serverTimeUtc": "2014-03-14T20:40:09",
"changeToken": "abc123"
}
}
}
linkDocuments
Description
Links two documents.
Returns true on success, false otherwise.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.DOCUMENTS_IDENTICAL: The document 1 and 2 is the same. Documents cannot be linked with itself.DOCUMENT1_NOT_FOUND: The document 1 with the specified ID could not be found.DOCUMENT2_NOT_FOUND: The document 2 with the specified ID could not be found.DOCUMENT1_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to edit the document 1.DOCUMENT2_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to edit the document 2.ALREADY_LINKED: Document 1 and document 2 are already linked.
Note: Requires authenticated user.
Response
Returns a Boolean
Example
Query
mutation linkDocuments(
$dbId: ID!,
$document1Id: Guid!,
$document2Id: Guid!
) {
linkDocuments(
dbId: $dbId,
document1Id: $document1Id,
document2Id: $document2Id
)
}
Variables
{
"dbId": "b7e428965287",
"document1Id": "9e63a311-6c81-4b5c-a44f-109d9878086d",
"document2Id": "28a72e0c-3939-49b3-b157-57b82421bbc7"
}
Response
{"data": {"linkDocuments": true}}
login
Description
Starts a new session for the authenticated user.
Returns the new session together with the connection details and the authenticated user.
Possible execution exceptions:
SESSION_ACTIVE: The user is logged in already. Repeat withforceto end the other session.
Note: Requires authenticated user. The password is already proven by the request signature, so this only creates the session. An existing session of the same user is only replaced when force is set.
Response
Returns a LoginResult
Arguments
| Name | Description |
|---|---|
force - Boolean
|
Defines whether an already active session of the same user is ended instead of failing. Default = false |
Example
Query
mutation login($force: Boolean) {
login(force: $force) {
activeSession
dbServerHostName
cloudStorageRegion
user {
...WorkspaceUserFragment
}
}
}
Variables
{"force": false}
Response
{
"data": {
"login": {
"activeSession": "c7453328-8488-4cdb-a066-23d06fb4a985",
"dbServerHostName": "server-host.name",
"cloudStorageRegion": "eu-north-1",
"user": WorkspaceUser
}
}
}
logout
Description
Ends the session of the authenticated user.
Returns true on success, false otherwise.
Note: Requires authenticated user.
Response
Returns a Boolean
Example
Query
mutation logout {
logout
}
Response
{"data": {"logout": true}}
moveDocumentTypeMetaField
Description
Moves a meta field of a document type one position up or down.
Returns true on success, false otherwise.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.ADMIN_REQUIRED: The user is not an admin, but this is required to move a meta field of a document type.DOCUMENT_TYPE_NOT_FOUND: The document type with the specified ID could not be found.META_FIELD_NOT_ASSIGNED: The meta field with the specified ID is not assigned to the document type.
Note: Requires authenticated user. Requires user admin rights. The position defines the order the properties panel shows the meta fields in.
Warning: A meta field that is already the first respectively the last one of the document type is not moved and answers true.
Response
Returns a Boolean
Example
Query
mutation moveDocumentTypeMetaField(
$dbId: ID!,
$documentTypeId: Guid!,
$metaFieldId: Guid!,
$up: Boolean!
) {
moveDocumentTypeMetaField(
dbId: $dbId,
documentTypeId: $documentTypeId,
metaFieldId: $metaFieldId,
up: $up
)
}
Variables
{
"dbId": "e21a560f5087",
"documentTypeId": "5c4bf66a-16e3-4a4f-8666-91a26c0525d8",
"metaFieldId": "646e94e8-dded-4aa1-a0f7-029d1bb87aec",
"up": true
}
Response
{"data": {"moveDocumentTypeMetaField": false}}
moveItems
Description
Moves items below a new parent folder.
Returns the number of items moved.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.ITEM_NOT_FOUND: One of the items with the specified IDs could not be found.ITEM_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to edit one of the items.ITEM_NOT_MOVABLE: The document root and the recycle bin cannot be moved.NEW_PARENT_FOLDER_NOT_FOUND: The new parent folder with the specified ID could not be found.NEW_PARENT_FOLDER_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to edit the new parent folder.NEW_PARENT_FOLDER_INVALID: The new parent folder is not a folder, or it is one of the items itself or below one of them.CONFLICT: One of the items was changed by another user in the meantime.
Note: Requires authenticated user. Permissions of all items are checked before the first item is moved. Items that are below the new parent folder already are skipped and not counted.
Response
Returns an Int
Example
Query
mutation moveItems(
$dbId: ID!,
$itemIds: [Guid!]!,
$newParentId: Guid!
) {
moveItems(
dbId: $dbId,
itemIds: $itemIds,
newParentId: $newParentId
)
}
Variables
{
"dbId": "54c6b634d63b",
"itemIds": "eece0e45-bbef-4c02-9621-6748936cd05e",
"newParentId": "afc891ab-4c1f-4a55-80f8-1b9af181ac54"
}
Response
{"data": {"moveItems": 460775715}}
removeDocumentKeyword
Description
Removes a keyword from a document.
Returns true on success, false otherwise.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.DOCUMENT_NOT_FOUND: The document with the specified ID could not be found.DOCUMENT_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to edit the document.KEYWORD_NOT_ASSIGNED: The keyword with the specified ID is not assigned to the document.
Note: Requires authenticated user.
Response
Returns a Boolean
Example
Query
mutation removeDocumentKeyword(
$dbId: ID!,
$documentId: Guid!,
$keywordId: Guid!
) {
removeDocumentKeyword(
dbId: $dbId,
documentId: $documentId,
keywordId: $keywordId
)
}
Variables
{
"dbId": "4e60cbf8c49c",
"documentId": "8848cf70-800c-47ed-9e1a-9910566bedef",
"keywordId": "3c1b6c33-e205-4fc2-b9ee-8ded5150e646"
}
Response
{"data": {"removeDocumentKeyword": false}}
removeDocumentTypeMetaField
Description
Removes a meta field from a document type.
Returns true on success, false otherwise.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.ADMIN_REQUIRED: The user is not an admin, but this is required to add a meta field to a document type.DOCUMENT_TYPE_NOT_FOUND: The document type with the specified ID could not be found.META_FIELD_NOT_ASSIGNED: The meta field with the specified ID is not assigned to the document type.
Note: Requires authenticated user. Requires user admin rights.
Warning: The meta field is removed from all associated documents including all of its meta data.
Response
Returns a Boolean
Example
Query
mutation removeDocumentTypeMetaField(
$dbId: ID!,
$documentTypeId: Guid!,
$metaFieldId: Guid!
) {
removeDocumentTypeMetaField(
dbId: $dbId,
documentTypeId: $documentTypeId,
metaFieldId: $metaFieldId
)
}
Variables
{
"dbId": "c9357a0677a3",
"documentTypeId": "c41e1832-058c-46eb-96f9-820eec8f1e13",
"metaFieldId": "88c6d728-6735-4086-a5a3-dceed0333302"
}
Response
{"data": {"removeDocumentTypeMetaField": false}}
renameDocumentType
Description
Renames a document type.
Returns the renamed document type on success, otherwise null.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.ADMIN_REQUIRED: The user is not an admin, but this is required to rename a document type.DOCUMENT_TYPE_NOT_FOUND: The document type with the specified ID could not be found.
Note: Requires authenticated user. Requires user admin rights.
Warning: The document type is renamed in all associated documents.
Response
Returns a DocumentType
Example
Query
mutation renameDocumentType(
$dbId: ID!,
$documentTypeId: Guid!,
$newName: String!
) {
renameDocumentType(
dbId: $dbId,
documentTypeId: $documentTypeId,
newName: $newName
) {
id
name
metaFields {
...MetaFieldFragment
}
expirationTemplate {
...ExpirationTemplateFragment
}
documents {
...DocumentFragment
}
folders {
...FolderFragment
}
}
}
Variables
{
"dbId": "312592e3d8b0",
"documentTypeId": "494b0bf1-a860-47d9-8020-bddd490cd4a6",
"newName": "abc123"
}
Response
{
"data": {
"renameDocumentType": {
"id": "21eea80d-20d1-4b02-8213-6388fd25e376",
"name": "abc123",
"metaFields": [MetaField],
"expirationTemplate": ExpirationTemplate,
"documents": [Document],
"folders": [Folder]
}
}
}
renameItem
Description
Renames an item.
Returns the renamed item on success, otherwise null.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.ITEM_NOT_FOUND: The item with the specified ID could not be found.ITEM_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to edit the item.
Note: Requires authenticated user.
Response
Returns an Item
Example
Query
mutation renameItem(
$dbId: ID!,
$itemId: Guid!,
$newName: String!
) {
renameItem(
dbId: $dbId,
itemId: $itemId,
newName: $newName
) {
id
name
color
created
lastChanged
createdUser {
...UserFragment
}
lastChangedUser {
...UserFragment
}
parent {
...ItemFragment
}
parentsPath
linkedItems {
...ItemFragment
}
userCanEdit
userCanDelete
}
}
Variables
{
"dbId": "23aa6d75397a",
"itemId": "d43e0938-bd5b-42aa-b1aa-b9cbd7c755d3",
"newName": "xyz789"
}
Response
{
"data": {
"renameItem": {
"id": "69040f9f-e339-42a2-a66f-0c49d8d22936",
"name": "xyz789",
"color": -13073009,
"created": "2006-07-27T15:41:44",
"lastChanged": "2014-10-17T01:44:39",
"createdUser": User,
"lastChangedUser": User,
"parent": Item,
"parentsPath": "abc123/xyz789",
"linkedItems": [Item],
"userCanEdit": true,
"userCanDelete": false
}
}
}
renameKeyword
Description
Renames a keyword.
Returns the renamed keyword on success, otherwise null.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.ADMIN_REQUIRED: The user is not an admin, but this is required to rename a keyword.KEYWORD_NOT_FOUND: The keyword with the specified ID could not be found.
Note: Requires authenticated user. Requires user admin rights.
Warning: The keyword is renamed in all associated documents.
Response
Returns a Keyword
Example
Query
mutation renameKeyword(
$dbId: ID!,
$keywordId: Guid!,
$newName: String!
) {
renameKeyword(
dbId: $dbId,
keywordId: $keywordId,
newName: $newName
) {
id
name
documents {
...DocumentFragment
}
}
}
Variables
{
"dbId": "d5f4bc845df9",
"keywordId": "8bcff4e4-51d0-4a23-83c4-ff4d6514bd08",
"newName": "xyz789"
}
Response
{
"data": {
"renameKeyword": {
"id": "eba25e1b-5ed6-468d-9f3d-04e2ad993221",
"name": "xyz789",
"documents": [Document]
}
}
}
renameMetaField
Description
Renames a meta field.
Returns the renamed meta field on success, otherwise null.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.ADMIN_REQUIRED: The user is not an admin, but this is required to create a meta field.META_FIELD_NOT_FOUND: The meta field with the specified ID could not be found.
Note: Requires authenticated user. Requires user admin rights.
Warning: The meta field is renamed in all associated document types and documents.
Response
Returns a MetaField
Example
Query
mutation renameMetaField(
$dbId: ID!,
$metaFieldId: Guid!,
$newName: String!
) {
renameMetaField(
dbId: $dbId,
metaFieldId: $metaFieldId,
newName: $newName
) {
id
name
kind
mask
lineCount
selectionOptions
created
lastChanged
createdUser {
...UserFragment
}
lastChangedUser {
...UserFragment
}
metaDatas {
...MetaDataFragment
}
documentTypes {
...DocumentTypeFragment
}
expirationTemplates {
...ExpirationTemplateFragment
}
}
}
Variables
{
"dbId": "f9a41abea11f",
"metaFieldId": "e0dcd8a0-a876-43c2-bd7e-698964e13c5c",
"newName": "abc123"
}
Response
{
"data": {
"renameMetaField": {
"id": "274d7c0f-05e2-4e96-9f01-486c784e2e3d",
"name": "abc123",
"kind": "TEXT_SHORT",
"mask": "abc123",
"lineCount": 8,
"selectionOptions": ["xyz789"],
"created": "2015-09-07T00:52:44",
"lastChanged": "2010-02-18T23:03:59",
"createdUser": User,
"lastChangedUser": User,
"metaDatas": [MetaData],
"documentTypes": [DocumentType],
"expirationTemplates": [ExpirationTemplate]
}
}
}
renameQuickAccess
Description
Renames the quick access entry of the authenticated user.
Returns true on success, false otherwise.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.QUICK_ACCESS_NOT_FOUND: The quick access entry with the specified ID could not be found.QUICK_ACCESS_NAME_INVALID: The name of a quick access entry is required and must not be empty.
Note: Requires authenticated user. A quick access entry belongs to the user who created it; the entry of another user cannot be renamed.
Response
Returns a Boolean
Example
Query
mutation renameQuickAccess(
$dbId: ID!,
$quickAccessId: Guid!,
$name: String!
) {
renameQuickAccess(
dbId: $dbId,
quickAccessId: $quickAccessId,
name: $name
)
}
Variables
{
"dbId": "aac5649c030a",
"quickAccessId": "c6d97987-9431-42df-88fb-ab4a690e4da0",
"name": "abc123"
}
Response
{"data": {"renameQuickAccess": false}}
resetUserPassword
Description
Resets a user password.
Returns true on success, false otherwise.
Possible execution exceptions:
NO_LOGIN_NAME_OR_MAIL_ADDRESS: Either login name or e-mail address needs to be provided.USER_NOT_FOUND: The user with the specified ID could not be found.NO_MAIL_ADDRESS: The user has no e-mail address defined, sending password reset e-mail is therefore not possible.
Note: Either login name or e-mail (at least one of both) needs to be provided.
Response
Returns a Boolean
Example
Query
mutation resetUserPassword(
$customerId: ID!,
$loginName: String,
$eMail: String
) {
resetUserPassword(
customerId: $customerId,
loginName: $loginName,
eMail: $eMail
)
}
Variables
{
"customerId": "4993a7c9b8d3",
"loginName": "xyz789",
"eMail": "mail@domain.com"
}
Response
{"data": {"resetUserPassword": false}}
saveSearchPattern
Description
Creates or updates a search pattern of an archive.
Returns the saved search pattern.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.SEARCH_PATTERN_INVALID: The title or the pattern of the search pattern is empty.SEARCH_PATTERN_NOT_FOUND: The search pattern with the specified ID could not be found.SEARCH_PATTERN_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to edit the search pattern.
Note: Requires authenticated user. Without searchPatternId a new search pattern is created and belongs to the authenticated user. A personal search pattern is only visible to its owner; every search pattern the user sees may be changed, exactly as the search assistant of the client allows it.
Response
Returns a SearchPatternInfo
Arguments
| Name | Description |
|---|---|
dbId - ID!
|
The id of the database. |
title - String!
|
The title of the search pattern. |
category - String
|
The category of the search pattern. |
pattern - String!
|
The search pattern text. |
options - Int!
|
The combined SearchOptionKind flags as integer value (1 document title, 2 document content). |
currentNodeOnly - Boolean!
|
Defines whether the search is limited to the current folder. |
personal - Boolean!
|
Defines whether the search pattern is only visible to its owner. |
searchPatternId - Guid
|
The id of the search pattern to update. If omitted a new search pattern is created. |
Example
Query
mutation saveSearchPattern(
$dbId: ID!,
$title: String!,
$category: String,
$pattern: String!,
$options: Int!,
$currentNodeOnly: Boolean!,
$personal: Boolean!,
$searchPatternId: Guid
) {
saveSearchPattern(
dbId: $dbId,
title: $title,
category: $category,
pattern: $pattern,
options: $options,
currentNodeOnly: $currentNodeOnly,
personal: $personal,
searchPatternId: $searchPatternId
) {
id
title
category
pattern
options
currentNodeOnly
personal
}
}
Variables
{
"dbId": "86f152116c9f",
"title": "abc123",
"category": "abc123",
"pattern": "xyz789",
"options": 460775715,
"currentNodeOnly": true,
"personal": false,
"searchPatternId": "5e09e5cf-66c7-4bd7-91e2-147b737a7e5b"
}
Response
{
"data": {
"saveSearchPattern": {
"id": "928eba4d-6de3-41b0-b501-742d76d85438",
"title": "abc123",
"category": "xyz789",
"pattern": "xyz789",
"options": 460775715,
"currentNodeOnly": false,
"personal": true
}
}
}
saveUserSettings
Description
Saves the settings of the authenticated user.
Returns true on success, false otherwise.
Note: Requires authenticated user.
Response
Returns a Boolean
Arguments
| Name | Description |
|---|---|
settingsJson - String!
|
The user settings as JSON string. |
Example
Query
mutation saveUserSettings($settingsJson: String!) {
saveUserSettings(settingsJson: $settingsJson)
}
Variables
{"settingsJson": "xyz789"}
Response
{"data": {"saveUserSettings": false}}
setDbPermissions
Description
Sets the permission entries of an archive.
Returns true on success, false otherwise.
Possible execution exceptions:
ADMIN_REQUIRED: The user is not an admin, but this is required to manage archives.DB_NOT_FOUND: The archive with the specified ID could not be found.TITLE_REQUIRED: The title of the archive is required.PERMISSIONS_INVALID: A permission entry has to reference either a user or a group.USER_NOT_FOUND: A user with one of the specified IDs could not be found.GROUP_NOT_FOUND: A group with one of the specified IDs could not be found.
Note: Requires authenticated user. Requires user admin rights. Access to an archive means that a permission entry matching the user or one of the groups of the user exists; an empty list makes the archive inaccessible for everybody.
Warning: The permission entries of the archive are replaced, not merged.
Response
Returns a Boolean
Arguments
| Name | Description |
|---|---|
dbId - ID!
|
The id of the archive. |
permissions - [PermissionInput!]!
|
The new permission entries of the archive. |
Example
Query
mutation setDbPermissions(
$dbId: ID!,
$permissions: [PermissionInput!]!
) {
setDbPermissions(
dbId: $dbId,
permissions: $permissions
)
}
Variables
{"dbId": "de647082374f", "permissions": [PermissionInput]}
Response
{"data": {"setDbPermissions": false}}
setExpiration
Description
Sets the expiration of a document.
Returns true on success, false otherwise.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.DOCUMENT_NOT_FOUND: The document with the specified ID could not be found.DOCUMENT_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to edit the document.EXPIRATION_ACTION_KIND_INVALID: The expiration action kind is not a valid value.EXPIRATION_CHANGE_NOT_ALLOWED: The expiration of the document is protected and cannot be shortened.CONFLICT: The document was changed by another user in the meantime.
Note: Requires authenticated user. A document has at most one expiration; an existing one is updated.
Response
Returns a Boolean
Arguments
| Name | Description |
|---|---|
dbId - ID!
|
The id of the database. |
documentId - Guid!
|
The id of the document. |
expectedVersion - Long!
|
The rowVersion the document had when it was read. |
expireUtc - DateTime!
|
The date the document expires in UTC. |
preventChange - Boolean
|
Defines whether the document may not be changed or deleted before it expires. A protected expiration can only be extended. Default = false |
actionKind - Int
|
The action performed after expiration as ExpirationActionKind integer value (0 no action, 1 move to recycle bin, 2 delete permanently). Default = 0 |
Example
Query
mutation setExpiration(
$dbId: ID!,
$documentId: Guid!,
$expectedVersion: Long!,
$expireUtc: DateTime!,
$preventChange: Boolean,
$actionKind: Int
) {
setExpiration(
dbId: $dbId,
documentId: $documentId,
expectedVersion: $expectedVersion,
expireUtc: $expireUtc,
preventChange: $preventChange,
actionKind: $actionKind
)
}
Variables
{
"dbId": "3749d533c592",
"documentId": "c8e4fddf-c334-486b-abd4-98da279d837e",
"expectedVersion": -9049124290990832000,
"expireUtc": "2015-05-06T18:39:57",
"preventChange": false,
"actionKind": 0
}
Response
{"data": {"setExpiration": true}}
setExpirationTemplate
Description
Sets the expiration template of a document type.
Returns true on success, false otherwise.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.ADMIN_REQUIRED: The user is not an admin, but this is required to manage expiration templates.DOCUMENT_TYPE_NOT_FOUND: The document type with the specified ID could not be found.META_FIELD_NOT_FOUND: The meta field with the specified ID could not be found.EXPIRATION_TEMPLATE_INVALID: The period count, the period kind or the action kind of the expiration template is invalid.
Note: Requires authenticated user. Requires user admin rights. A document type has at most one expiration template; an existing one is updated with the whole template provided.
Warning: The template is applied to documents archived afterwards; existing expirations are not changed.
Response
Returns a Boolean
Arguments
| Name | Description |
|---|---|
dbId - ID!
|
The id of the database. |
documentTypeId - Guid!
|
The id of the document type. |
metaFieldId - Guid
|
The id of the date meta field the expiration is based on. If omitted the expiration is based on the archiving date of the document. |
periodCount - Int!
|
The number of periods until a document expires. |
periodKind - Int!
|
The numeric ExpirationPeriodKind of the period. |
actionKind - Int!
|
The numeric ExpirationActionKind performed after expiration. |
preventChange - Boolean!
|
Defines whether a document may not be changed or deleted before it expires. |
Example
Query
mutation setExpirationTemplate(
$dbId: ID!,
$documentTypeId: Guid!,
$metaFieldId: Guid,
$periodCount: Int!,
$periodKind: Int!,
$actionKind: Int!,
$preventChange: Boolean!
) {
setExpirationTemplate(
dbId: $dbId,
documentTypeId: $documentTypeId,
metaFieldId: $metaFieldId,
periodCount: $periodCount,
periodKind: $periodKind,
actionKind: $actionKind,
preventChange: $preventChange
)
}
Variables
{
"dbId": "fea39d3a7b29",
"documentTypeId": "57f38f8e-4c07-44b9-a052-84e823d37dda",
"metaFieldId": "6d2bfb14-6701-40b5-9298-d3f3421b8389",
"periodCount": 20,
"periodKind": 460775715,
"actionKind": 460775715,
"preventChange": false
}
Response
{"data": {"setExpirationTemplate": false}}
setItemColor
Description
Sets the color of items.
Returns the number of items changed.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.ITEM_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to edit one of the items.CONFLICT: One of the items was changed by another user in the meantime.
Note: Requires authenticated user. Items that do not exist any more are skipped.
Response
Returns an Int
Example
Query
mutation setItemColor(
$dbId: ID!,
$itemIds: [Guid!]!,
$color: Int
) {
setItemColor(
dbId: $dbId,
itemIds: $itemIds,
color: $color
)
}
Variables
{
"dbId": "3fed46908b2f",
"itemIds": "b9e67231-05e7-4b79-b66c-1749b1fbcba3",
"color": -2356646
}
Response
{"data": {"setItemColor": 460775715}}
setItemPermissions
Description
Sets the permissions of an item and propagates them to its children.
Returns true on success, false otherwise.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.ITEM_NOT_FOUND: The item with the specified ID could not be found.ITEM_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to change the permissions of the item.PERMISSIONS_INVALID: Every permission has to be granted to exactly one of a user and a group.CONFLICT: The item or one of its children was changed by another user in the meantime.
Note: Requires authenticated user. Requires user admin rights. An empty permission list grants access to everybody, which is how an item without permissions behaves.
Warning: The permissions of the item are replaced, not merged.
Response
Returns a Boolean
Arguments
| Name | Description |
|---|---|
dbId - ID!
|
The id of the database. |
itemId - Guid!
|
The id of the item. |
permissions - [PermissionInput!]!
|
The new permissions of the item. |
replaceChildPermissions - Boolean
|
Defines whether the permissions of all children are replaced. If not set only children that inherited their permissions are updated. Default = false |
Example
Query
mutation setItemPermissions(
$dbId: ID!,
$itemId: Guid!,
$permissions: [PermissionInput!]!,
$replaceChildPermissions: Boolean
) {
setItemPermissions(
dbId: $dbId,
itemId: $itemId,
permissions: $permissions,
replaceChildPermissions: $replaceChildPermissions
)
}
Variables
{
"dbId": "c8f48027f6c9",
"itemId": "61222cd5-9a04-4539-b9b2-d5f2d1f8e2b7",
"permissions": [PermissionInput],
"replaceChildPermissions": false
}
Response
{"data": {"setItemPermissions": false}}
setItemTag
Description
Sets the document tag of items.
Returns the number of items changed.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.DOCUMENT_TAG_NOT_FOUND: The document tag with the specified ID could not be found.ITEM_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to edit one of the items.CONFLICT: One of the items was changed by another user in the meantime.
Note: Requires authenticated user. Items that do not exist any more are skipped.
Response
Returns an Int
Example
Query
mutation setItemTag(
$dbId: ID!,
$itemIds: [Guid!]!,
$tagId: ID
) {
setItemTag(
dbId: $dbId,
itemIds: $itemIds,
tagId: $tagId
)
}
Variables
{
"dbId": "15e2a03c3258",
"itemIds": "2a41c993-a4be-4279-8cde-aa748ef3b792",
"tagId": "5c5e8d83fd81"
}
Response
{"data": {"setItemTag": 460775715}}
setQuickAccess
Description
Adds or removes the quick access entry of the authenticated user for an item.
Returns true on success, false otherwise.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.ITEM_NOT_FOUND: The item with the specified ID could not be found.ITEM_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to read the item.
Note: Requires authenticated user. The name of a new quick access entry is the name of the item. Setting the state it already has succeeds without a change.
Response
Returns a Boolean
Example
Query
mutation setQuickAccess(
$dbId: ID!,
$itemId: Guid!,
$enabled: Boolean!,
$name: String
) {
setQuickAccess(
dbId: $dbId,
itemId: $itemId,
enabled: $enabled,
name: $name
)
}
Variables
{
"dbId": "67c99e7d3de9",
"itemId": "db610ce8-5f5d-49a1-bad5-d70182aa5e84",
"enabled": false,
"name": "abc123"
}
Response
{"data": {"setQuickAccess": false}}
setReminder
Description
Sets the reminder of the authenticated user for a document.
Returns true on success, false otherwise.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.DOCUMENT_NOT_FOUND: The document with the specified ID could not be found.DOCUMENT_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to edit the document.
Note: Requires authenticated user. A user has at most one reminder per document; an existing one is updated. Reminders do not change the document, so they take no expectedVersion and do not change its rowVersion.
Response
Returns a Boolean
Arguments
| Name | Description |
|---|---|
dbId - ID!
|
The id of the database. |
documentId - Guid!
|
The id of the document. |
remindUtc - DateTime!
|
The date the user is reminded in UTC. |
text - String
|
The description of the reminder. |
preRemindUtc - DateTime
|
The date the user is reminded in advance in UTC. Omit for no reminder in advance. |
done - Boolean
|
Defines whether the reminder is done. Default = false |
Example
Query
mutation setReminder(
$dbId: ID!,
$documentId: Guid!,
$remindUtc: DateTime!,
$text: String,
$preRemindUtc: DateTime,
$done: Boolean
) {
setReminder(
dbId: $dbId,
documentId: $documentId,
remindUtc: $remindUtc,
text: $text,
preRemindUtc: $preRemindUtc,
done: $done
)
}
Variables
{
"dbId": "5aa57d8cfbf9",
"documentId": "c4dd7e14-ab33-4bbf-af63-7381c4c915c7",
"remindUtc": "2011-01-21T01:42:58",
"text": "xyz789",
"preRemindUtc": "2006-10-04T18:19:30",
"done": false
}
Response
{"data": {"setReminder": false}}
signUp
Description
Signs up a new customer.
Returns true on success, false otherwise.
Response
Returns a Boolean
Arguments
| Name | Description |
|---|---|
signUp - SignUpInput!
|
The data of the customer signed up. |
Example
Query
mutation signUp($signUp: SignUpInput!) {
signUp(signUp: $signUp)
}
Variables
{"signUp": SignUpInput}
Response
{"data": {"signUp": false}}
unlinkDocuments
Description
Unlinks two documents.
Returns true on success, false otherwise.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.DOCUMENT1_NOT_FOUND: The document 1 with the specified ID could not be found.DOCUMENT2_NOT_FOUND: The document 2 with the specified ID could not be found.DOCUMENT1_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to edit the document 1.DOCUMENT2_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to edit the document 2.NOT_LINKED: Document 1 and document 2 are not linked at the moment.
Note: Requires authenticated user.
Response
Returns a Boolean
Example
Query
mutation unlinkDocuments(
$dbId: ID!,
$document1Id: Guid!,
$document2Id: Guid!
) {
unlinkDocuments(
dbId: $dbId,
document1Id: $document1Id,
document2Id: $document2Id
)
}
Variables
{
"dbId": "ba7f751f41d4",
"document1Id": "74ffd1c1-4e8f-4761-b929-5bed2eb54ee0",
"document2Id": "aba18ee2-8afd-43bd-8bcc-9d9a8c55b841"
}
Response
{"data": {"unlinkDocuments": true}}
updateAttachment
Description
Updates the description of an attachment.
Returns true on success, false otherwise.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.DOCUMENT_NOT_FOUND: The document with the specified ID could not be found.DOCUMENT_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to edit the document.CLOUD_STORAGE_NOT_AVAILABLE: The cloud storage is not available.CONFLICT: The document was changed by another user in the meantime.
Note: Requires authenticated user.
Response
Returns a Boolean
Example
Query
mutation updateAttachment(
$dbId: ID!,
$attachmentId: Guid!,
$description: String
) {
updateAttachment(
dbId: $dbId,
attachmentId: $attachmentId,
description: $description
)
}
Variables
{
"dbId": "b5e93f89c0dc",
"attachmentId": "f4212a15-19b9-437f-8af2-0e1b9d18a421",
"description": "abc123"
}
Response
{"data": {"updateAttachment": true}}
updateCurrentUserData
Description
Updates data of authenticated user.
Returns true on success, false otherwise.
Possible execution exceptions:
NOTHING_TO_UPDATE: No data was provided to update.NEW_LOGIN_NAME_INVALID: The new login name does not match the validation RegEx.
Note: Requires authenticated user. All arguments optional, only specify what should be updated (at least one argument required).
Response
Returns a Boolean
Example
Query
mutation updateCurrentUserData(
$loginName: String,
$fullName: String,
$eMail: String,
$passwordHash: String
) {
updateCurrentUserData(
loginName: $loginName,
fullName: $fullName,
eMail: $eMail,
passwordHash: $passwordHash
)
}
Variables
{
"loginName": "abc123",
"fullName": "abc123",
"eMail": "mail@domain.com",
"passwordHash": "0D6A0C46164D3AD6409F95F8CB0E831CC3FC2D31"
}
Response
{"data": {"updateCurrentUserData": false}}
updateDb
Description
Updates title and description of an archive.
Returns true on success, false otherwise.
Possible execution exceptions:
ADMIN_REQUIRED: The user is not an admin, but this is required to manage archives.DB_NOT_FOUND: The archive with the specified ID could not be found.TITLE_REQUIRED: The title of the archive is required.PERMISSIONS_INVALID: A permission entry has to reference either a user or a group.USER_NOT_FOUND: A user with one of the specified IDs could not be found.GROUP_NOT_FOUND: A group with one of the specified IDs could not be found.
Note: Requires authenticated user. Requires user admin rights. Only the arguments provided are applied.
Response
Returns a Boolean
Example
Query
mutation updateDb(
$dbId: ID!,
$title: String,
$description: String
) {
updateDb(
dbId: $dbId,
title: $title,
description: $description
)
}
Variables
{
"dbId": "6f52a561ef9b",
"title": "xyz789",
"description": "abc123"
}
Response
{"data": {"updateDb": false}}
updateDbPassword
Description
Sets or removes the password of an archive.
Returns true on success, false otherwise.
Possible execution exceptions:
ADMIN_REQUIRED: The user is not an admin, but this is required to manage archives.DB_NOT_FOUND: The archive with the specified ID could not be found.TITLE_REQUIRED: The title of the archive is required.PERMISSIONS_INVALID: A permission entry has to reference either a user or a group.USER_NOT_FOUND: A user with one of the specified IDs could not be found.GROUP_NOT_FOUND: A group with one of the specified IDs could not be found.
Note: Requires authenticated user. Requires user admin rights. An omitted or empty passwordHash removes the password protection.
Response
Returns a Boolean
Example
Query
mutation updateDbPassword(
$dbId: ID!,
$passwordHash: String
) {
updateDbPassword(
dbId: $dbId,
passwordHash: $passwordHash
)
}
Variables
{
"dbId": "98350a637292",
"passwordHash": "86659C6E7CD4389F205A22299BD08B371C30A5FF"
}
Response
{"data": {"updateDbPassword": false}}
updateDocumentProperties
Description
Saves the properties panel of a document in one call.
Returns the document detail after the change.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.DOCUMENT_NOT_FOUND: The document with the specified ID could not be found.DOCUMENT_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to edit the document.DOCUMENT_TYPE_NOT_FOUND: The document type with the specified ID could not be found.META_FIELD_NOT_FOUND: A meta field with the specified ID could not be found.META_FIELD_VALUE_NOT_FOUND: A meta field value with the specified ID could not be found or does not belong to the meta field.KEYWORD_NOT_FOUND: A keyword with the specified ID could not be found.CONFLICT: The document was changed by another user in the meantime.
Note: Requires authenticated user. Only the arguments provided are applied. metaData replaces the values of the meta fields it names, an omitted content deletes the meta data of that meta field; keywords replaces the whole keyword set of the document.
Warning: Changing the document type deletes all meta data of meta fields the new document type does not have. With applyExpirationTemplate a type change also applies the expiration template of the new document type: skipped when the type did not actually change, the new type has no template, or a template based on a date meta field finds no value for it (the metaData of the same call counts); a protected expiration is never shortened and stays protected. The answered detail shows the resulting expiration.
Response
Returns a DocumentDetail
Arguments
| Name | Description |
|---|---|
dbId - ID!
|
The id of the database. |
documentId - Guid!
|
The id of the document. |
expectedVersion - Long!
|
The rowVersion the document had when it was read. A different value answers CONFLICT before anything is changed. |
name - String
|
The new name of the document. |
documentTypeId - Guid
|
The id of the new document type of the document. |
metaData - [MetaDataInput!]
|
The meta data values to write. |
keywords - [Guid!]
|
The ids of all keywords the document should have afterwards. |
applyExpirationTemplate - Boolean
|
Applies the expiration template of the new document type when documentTypeId changes the type. The desktop client applies templates itself and must not send this. |
Example
Query
mutation updateDocumentProperties(
$dbId: ID!,
$documentId: Guid!,
$expectedVersion: Long!,
$name: String,
$documentTypeId: Guid,
$metaData: [MetaDataInput!],
$keywords: [Guid!],
$applyExpirationTemplate: Boolean
) {
updateDocumentProperties(
dbId: $dbId,
documentId: $documentId,
expectedVersion: $expectedVersion,
name: $name,
documentTypeId: $documentTypeId,
metaData: $metaData,
keywords: $keywords,
applyExpirationTemplate: $applyExpirationTemplate
) {
id
name
fileExtension
createdUtc
lastChangedUtc
createdUserName
documentTypeId
documentTypeName
pageCount
ocrUsed
hasContentText
hasOriginalText
canEdit
canDelete
rowVersion
path {
...PathSegmentFragment
}
latestRevision {
...DocumentRevisionInfoFragment
}
revisions {
...DocumentRevisionInfoFragment
}
metaData {
...MetaDataInfoFragment
}
keywords {
...KeywordInfoFragment
}
comments {
...CommentInfoFragment
}
links {
...LinkedItemFragment
}
attachments {
...AttachmentInfoFragment
}
expiration {
...ExpirationInfoFragment
}
reminders {
...ReminderInfoFragment
}
shares {
...ShareInfoFragment
}
isQuickAccess
}
}
Variables
{
"dbId": "e9718fe71fde",
"documentId": "654cb8e9-0cfd-4d9a-bdeb-e5d90cef8dff",
"expectedVersion": -9049124290990832000,
"name": "xyz789",
"documentTypeId": "507c6f2e-4da7-4ad6-b0fc-46efc3f9577a",
"metaData": [MetaDataInput],
"keywords": "d8e5588f-df65-4ca0-9096-1f8013df0c16",
"applyExpirationTemplate": true
}
Response
{
"data": {
"updateDocumentProperties": {
"id": "47adf8e6-d867-464a-89e1-626a82fecba3",
"name": "xyz789",
"fileExtension": "pdf",
"createdUtc": "2018-01-05T15:34:51",
"lastChangedUtc": "2019-01-01T08:02:09",
"createdUserName": "xyz789",
"documentTypeId": "7bac66ca-9b8a-4b17-9d17-56456c9c8e91",
"documentTypeName": "xyz789",
"pageCount": 1,
"ocrUsed": true,
"hasContentText": false,
"hasOriginalText": true,
"canEdit": false,
"canDelete": false,
"rowVersion": -9049124290990832000,
"path": [PathSegment],
"latestRevision": DocumentRevisionInfo,
"revisions": [DocumentRevisionInfo],
"metaData": [MetaDataInfo],
"keywords": [KeywordInfo],
"comments": [CommentInfo],
"links": [LinkedItem],
"attachments": [AttachmentInfo],
"expiration": ExpirationInfo,
"reminders": [ReminderInfo],
"shares": [ShareInfo],
"isQuickAccess": false
}
}
}
updateGroup
Description
Updates a group.
Returns true on success, false otherwise.
Possible execution exceptions:
ADMIN_REQUIRED: The user is not an admin, but this is required to manage groups.GROUP_NOT_FOUND: The group with the specified ID could not be found.TITLE_REQUIRED: The title of the group is required.USER_NOT_FOUND: A user with one of the specified IDs could not be found.
Note: Requires authenticated user. Requires user admin rights. Only the arguments provided are applied; userIds replaces the whole membership of the group.
Response
Returns a Boolean
Example
Query
mutation updateGroup(
$groupId: Guid!,
$title: String,
$description: String,
$userIds: [Guid!]
) {
updateGroup(
groupId: $groupId,
title: $title,
description: $description,
userIds: $userIds
)
}
Variables
{
"groupId": "798861dc-7235-4525-8c0b-e16a71dab1ea",
"title": "xyz789",
"description": "abc123",
"userIds": "ea8156f6-d7dd-4049-a93c-2b98f11a084a"
}
Response
{"data": {"updateGroup": false}}
updateMetaField
Description
Updates the input mask or the line count of a meta field.
Returns true on success, false otherwise.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.ADMIN_REQUIRED: The user is not an admin, but this is required to update a meta field.META_FIELD_NOT_FOUND: The meta field with the specified ID could not be found.MASK_CANNOT_BE_USED: The mask can only be used forTextShortmeta fields.LINE_COUNT_CANNOT_BE_USED: A line count can only be used forTextLongmeta fields.LINE_COUNT_INVALID: The line count is invalid (must be between 2 and 9 lines).
Note: Requires authenticated user. Requires user admin rights. Only the arguments provided are applied. The kind of a meta field cannot be changed, exactly as the meta field editor of the client enforces it; use renameMetaField for the name.
Response
Returns a Boolean
Arguments
| Name | Description |
|---|---|
dbId - ID!
|
The id of the database. |
metaFieldId - Guid!
|
The id of the meta field. |
mask - String
|
The new text mask of the meta field (TextShort meta fields only). Send null to remove it. |
lineCount - Short
|
The new line count of the meta field (between 2 and 9 lines, TextLong meta fields only). |
Example
Query
mutation updateMetaField(
$dbId: ID!,
$metaFieldId: Guid!,
$mask: String,
$lineCount: Short
) {
updateMetaField(
dbId: $dbId,
metaFieldId: $metaFieldId,
mask: $mask,
lineCount: $lineCount
)
}
Variables
{
"dbId": "8289ad69740c",
"metaFieldId": "04ebe9ee-be40-4270-abac-a8d486fa59da",
"mask": "xyz789",
"lineCount": 5
}
Response
{"data": {"updateMetaField": false}}
updateMetaFieldValue
Description
Updates the content of a selection list value of a meta field.
Returns true on success, false otherwise.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.ADMIN_REQUIRED: The user is not an admin, but this is required to manage meta field selection values.META_FIELD_NOT_FOUND: The meta field with the specified ID could not be found.META_FIELD_VALUE_NOT_FOUND: The meta field value with the specified ID could not be found.INVALID_META_FIELD_KIND: The meta field is not aSelectionListmeta field.META_FIELD_VALUE_ALREADY_EXISTS: A value with this content exists already for this meta field.META_FIELD_VALUE_INVALID: The content of a meta field value is required and must not be empty.
Note: Requires authenticated user. Requires user admin rights. The meta data of documents using the value follows the change, because it references the value and not its text.
Response
Returns a Boolean
Example
Query
mutation updateMetaFieldValue(
$dbId: ID!,
$metaFieldValueId: Guid!,
$content: String!
) {
updateMetaFieldValue(
dbId: $dbId,
metaFieldValueId: $metaFieldValueId,
content: $content
)
}
Variables
{
"dbId": "8f4c24430cd8",
"metaFieldValueId": "e500ca45-4956-4bbf-8280-ce1afd2f38e9",
"content": "abc123"
}
Response
{"data": {"updateMetaFieldValue": false}}
updateStamp
Description
Updates a stamp.
Returns true on success, false otherwise.
Possible execution exceptions:
DB_NOT_FOUND: The DB with the specified ID could not be found.DB_NOT_ENOUGH_PERMISSIONS: The user does not have enough permissions to access the DB.ADMIN_REQUIRED: The user is not an admin, but this is required to manage stamps.STAMP_NOT_FOUND: The stamp with the specified ID could not be found.STAMP_INVALID: The name and the text of a stamp are required and must not be empty.
Note: Requires authenticated user. Requires user admin rights. Only the arguments provided are applied. A stamp has no last-changed columns, so every change re-stamps created with the authenticated user.
Response
Returns a Boolean
Arguments
| Name | Description |
|---|---|
dbId - ID!
|
The id of the database. |
stampId - Guid!
|
The id of the stamp. |
name - String
|
The new name of the stamp. |
text - String
|
The new text of the stamp. |
color - Int
|
The new color of the stamp as ARGB integer value. |
opacity - Int
|
The new opacity of the stamp in percent. |
rotation - Int
|
The new rotation of the stamp in degrees. |
Example
Query
mutation updateStamp(
$dbId: ID!,
$stampId: Guid!,
$name: String,
$text: String,
$color: Int,
$opacity: Int,
$rotation: Int
) {
updateStamp(
dbId: $dbId,
stampId: $stampId,
name: $name,
text: $text,
color: $color,
opacity: $opacity,
rotation: $rotation
)
}
Variables
{
"dbId": "4f14163141f7",
"stampId": "242f1e0d-c783-41e6-845b-923c8f65c548",
"name": "xyz789",
"text": "xyz789",
"color": -10042146,
"opacity": 460775715,
"rotation": 460775715
}
Response
{"data": {"updateStamp": false}}
updateUser
Description
Updates a user.
Returns true on success, false otherwise.
Possible execution exceptions:
ADMIN_REQUIRED: The user is not an admin, but this is required to manage users.USER_NOT_FOUND: The user with the specified ID could not be found.LOGIN_NAME_INVALID: The login name is invalid. RegEx:^([a-zA-Z0-9]([\w-]*[a-zA-Z0-9])?){3,}$LOGIN_NAME_ALREADY_EXISTS: A user with this login name exists already.FULL_NAME_REQUIRED: The full name is required.SYSTEM_USER_PROTECTED: The system user cannot be managed.GROUP_NOT_FOUND: A group with one of the specified IDs could not be found.
Note: Requires authenticated user. Requires user admin rights. Only the arguments provided are applied; groupIds replaces the whole group membership of the user. The internal system user cannot be updated.
Response
Returns a Boolean
Arguments
| Name | Description |
|---|---|
userId - Guid!
|
The id of the user. |
loginName - String
|
The new login name of the user. RegEx: ^([a-zA-Z0-9]([\w-]*[a-zA-Z0-9])?){3,}$ |
fullName - String
|
The new full name of the user. |
eMail - String
|
The new e-mail of the user. |
description - String
|
The new description of the user. |
passwordHash - String
|
The new password hash (SHA1, upper case) of the user. |
admin - Boolean
|
Defines whether the user is admin. Setting it also allows private archives. |
active - Boolean
|
Defines whether the user is active. |
allowPrivateDb - Boolean
|
Defines whether the user may own private archives. |
changePasswordNextLogin - Boolean
|
Defines whether the user has to change the password on the next login. |
groupIds - [Guid!]
|
The ids of all groups the user should be a member of afterwards. |
Example
Query
mutation updateUser(
$userId: Guid!,
$loginName: String,
$fullName: String,
$eMail: String,
$description: String,
$passwordHash: String,
$admin: Boolean,
$active: Boolean,
$allowPrivateDb: Boolean,
$changePasswordNextLogin: Boolean,
$groupIds: [Guid!]
) {
updateUser(
userId: $userId,
loginName: $loginName,
fullName: $fullName,
eMail: $eMail,
description: $description,
passwordHash: $passwordHash,
admin: $admin,
active: $active,
allowPrivateDb: $allowPrivateDb,
changePasswordNextLogin: $changePasswordNextLogin,
groupIds: $groupIds
)
}
Variables
{
"userId": "757feefd-59f6-4efa-9d69-d6580cfb5e6b",
"loginName": "abc123",
"fullName": "xyz789",
"eMail": "mail@domain.com",
"description": "abc123",
"passwordHash": "586818627AC3D1AFB802D8997FA705C567A1A4FB",
"admin": false,
"active": true,
"allowPrivateDb": true,
"changePasswordNextLogin": true,
"groupIds": "f1ff8718-43d8-431c-a1d1-da8e11462e49"
}
Response
{"data": {"updateUser": true}}
Types
AdminDb
Description
An archive as the administration dialog shows it.
Fields
| Field Name | Description |
|---|---|
id - ID!
|
The id of the archive. |
title - String
|
The title of the archive. |
description - String
|
The description of the archive. |
hasPassword - Boolean!
|
Defines whether the archive is password protected. |
createdUtc - DateTime!
|
The date the archive was created in UTC. |
createdUserName - String
|
The full name of the user who created the archive. |
permissions - [DbPermissionInfo!]!
|
The permission entries of the archive. An empty list means nobody has access. |
Example
{
"id": "5c5e8d83fd81",
"title": "xyz789",
"description": "abc123",
"hasPassword": false,
"createdUtc": "2023-08-06T21:35:34",
"createdUserName": "abc123",
"permissions": [DbPermissionInfo]
}
AdminGroup
Description
A group of users.
Example
{
"id": "e5c0bf8d-4055-4afc-b814-73651aa2f860",
"title": "abc123",
"description": "abc123",
"createdUtc": "2026-05-24T22:47:43",
"userIds": ["27997b7d-3a84-4e8d-9ce1-9dcfa8b1614a"]
}
AdminOverview
Description
Everything the administration dialog shows: users, groups and archives with their permissions.
Fields
| Field Name | Description |
|---|---|
users - [AdminUser!]!
|
All users except the internal system user, by full name. |
groups - [AdminGroup!]!
|
All groups with their members, by title. |
dbs - [AdminDb!]!
|
All archives with their permission entries, by title. |
Example
{
"users": [AdminUser],
"groups": [AdminGroup],
"dbs": [AdminDb]
}
AdminUser
Description
A user as the administration dialog shows it. Password hashes are never returned.
Fields
| Field Name | Description |
|---|---|
id - Guid!
|
The id of the user. |
loginName - String
|
The login name of the user. |
fullName - String
|
The full name of the user. |
eMail - String
|
The e-mail of the user. |
description - String
|
The description of the user. |
hasPassword - Boolean!
|
Defines whether the user has a password. |
admin - Boolean!
|
Defines whether the user is admin. |
active - Boolean!
|
Defines whether the user is active. |
allowPrivateDb - Boolean!
|
Defines whether the user may own private archives. Always set for admins. |
changePasswordNextLogin - Boolean!
|
Defines whether the user has to change the password on the next login. |
createdUtc - DateTime!
|
The date the user was created in UTC. |
lastLoginUtc - DateTime
|
The date the user logged in the last time in UTC. |
groupIds - [Guid!]!
|
The ids of the groups the user is a member of. |
Example
{
"id": "04dea7e2-f7c7-497b-9aea-8c88688de908",
"loginName": "xyz789",
"fullName": "xyz789",
"eMail": "mail@domain.com",
"description": "abc123",
"hasPassword": true,
"admin": false,
"active": true,
"allowPrivateDb": true,
"changePasswordNextLogin": true,
"createdUtc": "2007-06-27T11:36:17",
"lastLoginUtc": "2022-02-23T15:28:44",
"groupIds": ["bd6ef3ff-9ded-43b5-a8aa-84d7d8795b50"]
}
AttachmentCreated
Description
The attachment rows created together with the pre-signed URL the content is uploaded to.
Fields
| Field Name | Description |
|---|---|
attachmentId - Guid!
|
The id of the new attachment. |
attachmentRevisionId - Guid!
|
The id of the new attachment revision. |
createdUtc - DateTime!
|
The creation date of the attachment revision in UTC. It also derives the client side content encryption key. |
uploadUrl - String
|
The pre-signed HTTPS URL answering PUT requests. |
uploadUrlExpiresAt - DateTime!
|
The point in time the pre-signed URL expires. |
Example
{
"attachmentId": "d3ad5ff1-fbd5-48f5-8307-e1205ceb10fb",
"attachmentRevisionId": "d93b8bd9-4122-4906-8e5c-e637efb12bd2",
"createdUtc": "2016-10-14T21:27:51",
"uploadUrl": "abc123",
"uploadUrlExpiresAt": "2003-01-16T18:40:06"
}
AttachmentInfo
Description
One attachment of a document.
Fields
| Field Name | Description |
|---|---|
id - Guid!
|
The id of the attachment. |
name - String
|
The name of the attachment. |
fileExtension - String
|
The file extension of the attachment. |
description - String
|
The description of the attachment. |
latestRevision - AttachmentRevisionInfo
|
The newest revision of the attachment. |
revisions - [AttachmentRevisionInfo!]!
|
All revisions of the attachment, newest first. |
Example
{
"id": "4ded9b9f-203c-46f9-90f6-964acc2bfcb8",
"name": "abc123",
"fileExtension": "pdf",
"description": "abc123",
"latestRevision": AttachmentRevisionInfo,
"revisions": [AttachmentRevisionInfo]
}
AttachmentRevisionInfo
Description
One revision of an attachment.
Fields
| Field Name | Description |
|---|---|
id - Guid!
|
The id of the attachment revision. |
createdUtc - DateTime!
|
The creation date of the attachment revision in UTC. It also derives the client side content encryption key. |
createdUserName - String
|
The full name of the user who created the attachment revision. |
originalFileSize - Long
|
The size of the original file in bytes. |
archivedFileSize - Long
|
The size of the archived (encrypted) content in bytes. |
dataHash - String
|
The hash of the archived content, used to verify a download. |
Example
{
"id": "a618a539-048e-4c98-ba0d-a2c0e4759687",
"createdUtc": "2008-02-07T09:36:07",
"createdUserName": "xyz789",
"originalFileSize": 490705,
"archivedFileSize": -9049124290990832000,
"dataHash": "xyz789"
}
Boolean
Description
The Boolean scalar type represents true or false.
ClientChangesInput
Description
Contains information about client changes in the corresponding client version.
Example
{
"languageCode": "en-US",
"changes": "abc123"
}
ClientStartInfo
Description
Contains the information required upon client start.
Example
{"dbServerHostName": "server-host.name", "cloudStorageRegion": "eu-north-1"}
ClientUpdate
Description
Contains information about a client update.
Example
{
"version": "7.7.6",
"changes": "xyz789",
"releaseDate": "2015-04-22T22:44:22",
"betaVersion": false
}
ClientUpdates
Description
Contains information about client updates.
Fields
| Field Name | Description |
|---|---|
updates - [ClientUpdate]
|
The list of client updates. |
downloadUrl - String
|
The download URL of the current release version. |
downloadUrlBeta - String
|
The download URL of the latest beta version. |
Example
{
"updates": [ClientUpdate],
"downloadUrl": "https://www.quick-archive.com/download/Quick-Archive.exe",
"downloadUrlBeta": "https://www.quick-archive.com/download/Quick-Archive-Beta.exe"
}
ClientVersionInput
Description
Contains information about a client version.
Fields
| Input Field | Description |
|---|---|
major - Int!
|
The major version number. |
minor - Int!
|
The minor version number. |
revision - Int!
|
The revision number. |
releaseDate - DateTime!
|
The release date of this version. |
betaVersion - Boolean!
|
Determines if this is a beta version. |
clientChanges - [ClientChangesInput]
|
The changes made in this version. |
Example
{
"major": 3,
"minor": 9,
"revision": 7,
"releaseDate": "2012-12-28T21:10:42",
"betaVersion": false,
"clientChanges": [ClientChangesInput]
}
Comment
Description
Represents a Comment entity object.
Fields
| Field Name | Description |
|---|---|
id - Guid!
|
The id of the comment. |
content - String!
|
The content of the comment. |
created - DateTime!
|
The created date of the comment. |
lastChanged - DateTime
|
The date when the related comment was last changed. |
createdUser - User
|
The user who created the related comment. |
document - Document
|
The document this comment is associated to. |
Example
{
"id": "f14249b2-c567-4b28-b7e0-c4f533e2a77a",
"content": "xyz789",
"created": "2009-11-22T19:27:54",
"lastChanged": "2009-12-06T23:19:28",
"createdUser": User,
"document": Document
}
CommentInfo
Description
One comment of a document.
Fields
| Field Name | Description |
|---|---|
id - Guid!
|
The id of the comment. |
text - String
|
The content of the comment. |
createdUtc - DateTime!
|
The creation date of the comment in UTC. |
lastChangedUtc - DateTime
|
The date the comment was last changed in UTC. |
createdUserId - Guid!
|
The id of the user who created the comment; the client only offers editing to that user. |
createdUserName - String
|
The full name of the user who created the comment. |
Example
{
"id": "e090fc91-7d08-41e9-9226-28b30b81b1de",
"text": "xyz789",
"createdUtc": "2006-11-07T21:49:30",
"lastChangedUtc": "2001-05-14T07:33:49",
"createdUserId": "9fef7064-97dd-4ffd-a2ef-842bfb50bace",
"createdUserName": "abc123"
}
ContentUrl
DateTime
Description
The DateTime scalar type represents a date and time. DateTime expects timestamps to be formatted in accordance with the ISO-8601 standard.
Example
"2004-05-04T16:27:16"
DbPermissionInfo
Description
One permission entry of an archive. Exactly one of userId and groupId is set.
Fields
| Field Name | Description |
|---|---|
id - Guid!
|
The id of the permission entry. |
userId - Guid
|
The id of the user the permission is granted to. |
groupId - Guid
|
The id of the group the permission is granted to. |
dataRead - Boolean!
|
Defines whether the data may be read. |
dataEdit - Boolean!
|
Defines whether the data may be edited. |
dataDelete - Boolean!
|
Defines whether the data may be deleted. |
dataExport - Boolean!
|
Defines whether the data may be exported. |
changePermission - Boolean!
|
Defines whether the permissions of the archive may be changed. |
Example
{
"id": "9847f7a1-5ae4-4421-bded-a0bce0f57831",
"userId": "dca30013-7fc0-4ed4-842c-241b4c65d63d",
"groupId": "69bed39d-0a85-4631-b99f-dcf5e98f185c",
"dataRead": false,
"dataEdit": true,
"dataDelete": false,
"dataExport": true,
"changePermission": false
}
DbStatistics
Description
The numbers the database statistics dialog shows. The averages are derived from these values.
Fields
| Field Name | Description |
|---|---|
dbId - ID!
|
The id of the archive. |
title - String
|
The title of the archive. |
documentCount - Long!
|
The number of documents. |
documentRevisionCount - Long!
|
The number of document revisions. |
documentPageCount - Long!
|
The number of pages of all documents. |
documentFileSize - Long!
|
The archived size of all document revisions in bytes. |
documentContentTextLength - Long!
|
The number of characters of the content text of all documents. |
metaDataCount - Long!
|
The number of meta data values. |
folderCount - Long!
|
The number of folders. |
itemCount - Long!
|
The number of items. It should equal the number of documents plus the number of folders. |
attachmentCount - Long!
|
The number of attachments. |
attachmentRevisionCount - Long!
|
The number of attachment revisions. |
attachmentPageCount - Long!
|
The number of pages of all attachments. |
attachmentFileSize - Long!
|
The archived size of all attachment revisions in bytes. |
Example
{
"dbId": "6bc43b50cce0",
"title": "abc123",
"documentCount": -9049124290990832000,
"documentRevisionCount": -9049124290990832000,
"documentPageCount": -9049124290990832000,
"documentFileSize": -9049124290990832000,
"documentContentTextLength": -9049124290990832000,
"metaDataCount": -9049124290990832000,
"folderCount": -9049124290990832000,
"itemCount": -9049124290990832000,
"attachmentCount": -9049124290990832000,
"attachmentRevisionCount": -9049124290990832000,
"attachmentPageCount": -9049124290990832000,
"attachmentFileSize": -9049124290990832000
}
DbWorkspace
Description
Everything the client needs when opening an archive.
Fields
| Field Name | Description |
|---|---|
dbId - ID!
|
The id of the archive. |
rootFolderId - Guid!
|
The id of the document root folder. |
recycleBinId - Guid!
|
The id of the recycle bin folder. |
schemaVersion - Int!
|
The archive schema version this server supports. Clients expecting a different version must not open the archive. |
documentTypes - [DocumentTypeInfo!]!
|
All document types of the archive. |
metaFields - [MetaFieldInfo!]!
|
All meta fields of the archive including their selection list values. |
keywords - [KeywordInfo!]!
|
All keywords of the archive. |
stamps - [StampInfo!]!
|
All stamps of the archive. |
tags - [DocumentTagInfo!]!
|
All document tags of the archive. |
expirationTemplates - [ExpirationTemplateInfo!]!
|
All expiration templates of the archive. |
quickAccess - [QuickAccessInfo!]!
|
The quick access entries of the authenticated user. |
searchPatterns - [SearchPatternInfo!]!
|
The search patterns of the archive visible to the authenticated user (all public ones plus the user's personal ones). |
Example
{
"dbId": "18e4bba85568",
"rootFolderId": "f5234999-3fc5-4ce9-a90a-f3f80f4b10e5",
"recycleBinId": "8578b62c-dff2-4f51-87de-98268f783254",
"schemaVersion": 460775715,
"documentTypes": [DocumentTypeInfo],
"metaFields": [MetaFieldInfo],
"keywords": [KeywordInfo],
"stamps": [StampInfo],
"tags": [DocumentTagInfo],
"expirationTemplates": [ExpirationTemplateInfo],
"quickAccess": [QuickAccessInfo],
"searchPatterns": [SearchPatternInfo]
}
Document
Description
Represents a Document entity object.
Fields
| Field Name | Description |
|---|---|
id - Guid!
|
The id of the related document. |
name - String
|
The name of the related document. |
color - Int
|
The color of the related document as ARGB integer value. |
created - DateTime!
|
The created date of the related document. |
lastChanged - DateTime!
|
The date when the related document was last changed. |
createdUser - User
|
The user who created the related document. |
lastChangedUser - User
|
The user who changed the related document the last time. |
parent - Item
|
The parent item of the related document. |
parentsPath - String
|
The parents as path string. |
linkedItems - [Item]
|
The linked items of the related document. |
userCanEdit - Boolean
|
Defines whether the authenticated user can edit the document. |
userCanDelete - Boolean
|
Defines whether the authenticated user can delete the document. |
fileExtension - String
|
The file extension of the document. |
ocrUsed - Boolean!
|
Defines whether OCR regonition was used for the document. |
contentText - String
|
The content text of the document. |
hasContentText - Boolean
|
Returns true if document has content text. |
pageCount - Int
|
The page count of the document. |
documentRevisions - [DocumentRevision]
|
The document revisions associated with the document. |
documentRevisionLatest - DocumentRevision
|
The latest document revision associated with the document. |
metaDatas - [MetaData]
|
The meta datas associated with the document. |
comments - [Comment]
|
The comments associated with the document. |
reminders - [Reminder]
|
The reminders associated with the document. |
shares - [Share]
|
The shares associated with the document and created by authenticated user. |
keywords - [Keyword]
|
The keywords associated with the document. |
documentType - DocumentType
|
The document type associated with the document. |
expiration - Expiration
|
The expiration associated with the document. |
Example
{
"id": "d47c4486-b033-424d-a213-3bb6f687e5fa",
"name": "xyz789",
"color": -9458140,
"created": "2006-07-21T01:53:26",
"lastChanged": "2002-07-02T05:28:37",
"createdUser": User,
"lastChangedUser": User,
"parent": Item,
"parentsPath": "abc123/abc123",
"linkedItems": [Item],
"userCanEdit": true,
"userCanDelete": true,
"fileExtension": "pdf",
"ocrUsed": false,
"contentText": "xyz789",
"hasContentText": true,
"pageCount": 85,
"documentRevisions": [DocumentRevision],
"documentRevisionLatest": DocumentRevision,
"metaDatas": [MetaData],
"comments": [Comment],
"reminders": [Reminder],
"shares": [Share],
"keywords": [Keyword],
"documentType": DocumentType,
"expiration": Expiration
}
DocumentArchived
Description
The document and the document revision written by one archiving call, together with the pre-signed URL the content is uploaded to.
Fields
| Field Name | Description |
|---|---|
documentId - Guid!
|
The id of the new document. |
documentRevisionId - Guid!
|
The id of the first revision of the new document. |
createdUtc - DateTime!
|
The creation date of the document and its revision in UTC. It also derives the client side content encryption key. |
uploadUrl - String
|
The pre-signed HTTPS URL answering PUT requests. |
uploadUrlExpiresAt - DateTime!
|
The point in time the pre-signed URL expires. |
Example
{
"documentId": "c47e7452-f1e1-4fc0-8c3d-6b177054f872",
"documentRevisionId": "dcb09948-8932-494e-afed-638306bceee0",
"createdUtc": "2009-10-21T20:27:28",
"uploadUrl": "xyz789",
"uploadUrlExpiresAt": "2017-07-14T19:59:27"
}
DocumentDetail
Description
Everything the document detail panels of the client show, in one answer.
Fields
| Field Name | Description |
|---|---|
id - Guid!
|
The id of the document. |
name - String
|
The name of the document. |
fileExtension - String
|
The file extension of the document. |
createdUtc - DateTime!
|
The creation date of the document in UTC. |
lastChangedUtc - DateTime!
|
The date the document was last changed in UTC. |
createdUserName - String
|
The full name of the user who created the document. |
documentTypeId - Guid!
|
The id of the document type of the document. |
documentTypeName - String
|
The name of the document type of the document. |
pageCount - Int
|
The page count of the document. |
ocrUsed - Boolean!
|
Defines whether OCR was used to detect the content text of the document. |
hasContentText - Boolean!
|
Defines whether the document has a content text; the text itself is only returned by the search. |
hasOriginalText - Boolean!
|
Defines whether the original file of the document contained text. |
canEdit - Boolean!
|
Defines whether the authenticated user may edit the document. |
canDelete - Boolean!
|
Defines whether the authenticated user may delete the document. |
rowVersion - Long!
|
The row version of the document; pass it as expectedVersion to the editing mutations. |
path - [PathSegment!]!
|
The breadcrumb path of the document, starting at the root folder and ending with the folder containing the document. |
latestRevision - DocumentRevisionInfo
|
The newest revision of the document. |
revisions - [DocumentRevisionInfo!]!
|
All revisions of the document, newest first. |
metaData - [MetaDataInfo!]!
|
The meta data of the document. |
keywords - [KeywordInfo!]!
|
The keywords of the document, by name. |
comments - [CommentInfo!]!
|
The comments of the document, oldest first. |
links - [LinkedItem!]!
|
The documents linked with the document. |
attachments - [AttachmentInfo!]!
|
The attachments of the document, by name. |
expiration - ExpirationInfo
|
The expiration of the document, null if it does not expire. |
reminders - [ReminderInfo!]!
|
The reminders of the authenticated user for the document; a user has at most one. An administrator receives every user's reminders, distinguished by userId. |
shares - [ShareInfo!]!
|
The shares of the authenticated user for the document, including the share link. |
isQuickAccess - Boolean!
|
Defines whether the authenticated user has a quick access entry for the document. |
Example
{
"id": "47adf8e6-d867-464a-89e1-626a82fecba3",
"name": "abc123",
"fileExtension": "pdf",
"createdUtc": "2018-01-05T15:34:51",
"lastChangedUtc": "2019-01-01T08:02:09",
"createdUserName": "xyz789",
"documentTypeId": "7bac66ca-9b8a-4b17-9d17-56456c9c8e91",
"documentTypeName": "abc123",
"pageCount": 1,
"ocrUsed": true,
"hasContentText": true,
"hasOriginalText": true,
"canEdit": false,
"canDelete": false,
"rowVersion": -9049124290990832000,
"path": [PathSegment],
"latestRevision": DocumentRevisionInfo,
"revisions": [DocumentRevisionInfo],
"metaData": [MetaDataInfo],
"keywords": [KeywordInfo],
"comments": [CommentInfo],
"links": [LinkedItem],
"attachments": [AttachmentInfo],
"expiration": ExpirationInfo,
"reminders": [ReminderInfo],
"shares": [ShareInfo],
"isQuickAccess": false
}
DocumentRevision
Description
Represents a DocumentRevision entity object.
Fields
| Field Name | Description |
|---|---|
id - Guid!
|
The id of the document revision. |
fileSize - Long
|
The file size of the document revision. |
fileHash - String
|
The file hash of the document revision. |
originalFileCreated - DateTime
|
The created date of the original file of the document revision. |
originalFileLastChanged - DateTime
|
The last changed date of the original file of the document revision. |
originalFileSize - Long
|
The file size of the original file of the document revision. |
created - DateTime!
|
The created date of the document revision. |
createdUser - User
|
The user who created the related document revision. |
hasAnnotation - Boolean!
|
Defines whether the document revision has annotations. |
document - Document
|
The associated document. |
Example
{
"id": "013e8a3a-eb1a-4b43-9afb-bd7c500e8853",
"fileSize": 15327375,
"fileHash": "30BD5043BBF861C63FC8816B19A7E11561DDBA53BBA3D20059904000D528C70D",
"originalFileCreated": "2022-07-24T10:35:56",
"originalFileLastChanged": "2009-01-24T13:08:58",
"originalFileSize": 12640958,
"created": "2009-09-26T17:33:18",
"createdUser": User,
"hasAnnotation": true,
"document": Document
}
DocumentRevisionInfo
Description
One revision of a document.
Fields
| Field Name | Description |
|---|---|
id - Guid!
|
The id of the document revision. |
createdUtc - DateTime!
|
The creation date of the document revision in UTC. It also derives the client side content encryption key. |
createdUserName - String
|
The full name of the user who created the document revision. |
hasAnnotation - Boolean!
|
Defines whether the document revision has annotations. |
originalFileName - String
|
The file name of the original file the document revision was archived from. |
originalFileCreatedUtc - DateTime
|
The creation date of the original file in UTC. |
originalFileLastChangedUtc - DateTime
|
The date the original file was last changed in UTC. |
originalFileSize - Long
|
The size of the original file in bytes. |
archivedFileSize - Long
|
The size of the archived (encrypted) content in bytes. |
dataHash - String
|
The hash of the archived content, used to verify a download. |
Example
{
"id": "ec3ab9b1-039d-4979-97d7-e2f05ff69dd6",
"createdUtc": "2006-04-12T06:08:28",
"createdUserName": "abc123",
"hasAnnotation": false,
"originalFileName": "abc123",
"originalFileCreatedUtc": "2014-03-11T14:06:09",
"originalFileLastChangedUtc": "2015-11-04T06:51:27",
"originalFileSize": 156048,
"archivedFileSize": -9049124290990832000,
"dataHash": "abc123"
}
DocumentTagInfo
Description
A document tag of the archive. Its id is the tag name, not a GUID.
Example
{
"id": "5c5e8d83fd81",
"nameOverride": "xyz789",
"position": 460775715
}
DocumentType
Description
Represents a DocumentType entity object.
Fields
| Field Name | Description |
|---|---|
id - Guid!
|
The id of the document type. |
name - String!
|
The content of the document type. |
metaFields - [MetaField]
|
The meta fields associated with the document type. |
expirationTemplate - ExpirationTemplate
|
The expiration template associated with the document type. |
documents - [Document]
|
The documents associated with the document type. |
folders - [Folder]
|
The folders associated with the document type. |
Example
{
"id": "21eea80d-20d1-4b02-8213-6388fd25e376",
"name": "xyz789",
"metaFields": [MetaField],
"expirationTemplate": ExpirationTemplate,
"documents": [Document],
"folders": [Folder]
}
DocumentTypeInfo
Description
A document type of the archive.
Example
{
"id": "54c4e901-4fcd-419b-83e3-54348c37e2cb",
"name": "xyz789",
"metaFieldIds": ["b02dd8a4-5475-499a-82e0-683eb5db2207"]
}
Expiration
Description
Represents a Expiration entity object.
Fields
| Field Name | Description |
|---|---|
id - Guid!
|
The id of the expiration. |
expire - DateTime!
|
The point in time of expiration. |
preventChange - Boolean!
|
Defines whether a change is possible before expiration (warning: this cannot be undone). |
actionKind - ExpirationActionKind
|
The kind of action to be applied after expiration. |
created - DateTime!
|
The created date of the expiration. |
createdUser - User
|
The user who created the expiration. |
document - Document
|
The document associated with the expiration. |
Example
{
"id": "85dc0b86-3f31-47e8-b168-e7df61ff6236",
"expire": "2021-02-22T19:37:19",
"preventChange": true,
"actionKind": "NO_ACTION",
"created": "2008-09-29T20:02:48",
"createdUser": User,
"document": Document
}
ExpirationActionKind
Values
| Enum Value | Description |
|---|---|
|
|
No action performed after expiration. |
|
|
Document moved to recycle bin after expiration. |
|
|
Document permanently deleted after expiration. |
Example
"NO_ACTION"
ExpirationInfo
Description
The expiration of a document.
Fields
| Field Name | Description |
|---|---|
id - Guid!
|
The id of the expiration. |
expireUtc - DateTime!
|
The date the document expires in UTC. |
preventChange - Boolean!
|
Defines whether the document may not be changed or deleted before it expires. |
actionKind - Int!
|
The action performed after expiration as ExpirationActionKind integer value. |
createdUtc - DateTime!
|
The date the expiration was set in UTC. |
createdUserName - String
|
The full name of the user who set the expiration. |
Example
{
"id": "16f29890-9e42-4cc3-9cac-3e1432d58324",
"expireUtc": "2010-11-17T22:19:06",
"preventChange": false,
"actionKind": 460775715,
"createdUtc": "2003-10-17T08:52:35",
"createdUserName": "xyz789"
}
ExpirationOverview
Description
One expiration created by the authenticated user together with its document.
Fields
| Field Name | Description |
|---|---|
id - Guid!
|
The id of the expiration. |
documentId - Guid!
|
The id of the document the expiration belongs to. |
documentName - String
|
The name of the document. |
documentFileExtension - String
|
The file extension of the document. |
expireUtc - DateTime!
|
The date the document expires in UTC. |
preventChange - Boolean!
|
Defines whether the document may not be changed or deleted before it expires. |
actionKind - Int!
|
The numeric ExpirationActionKind performed after expiration. |
createdUtc - DateTime!
|
The date the expiration was last written in UTC. |
createdUserId - Guid!
|
The id of the user who created the expiration. |
createdUserName - String
|
The full name of the user who created the expiration. |
documentCreatedUtc - DateTime!
|
The date the document was archived in UTC. |
documentLastChangedUtc - DateTime!
|
The date the document was changed the last time in UTC. |
documentCreatedUserName - String
|
The full name of the user who archived the document. |
documentLastChangedUserName - String
|
The full name of the user who changed the document the last time. |
Example
{
"id": "c7b68451-db67-4a40-81d1-c740f412d45f",
"documentId": "bd23f816-af42-49fb-84b2-acbb2c4f6156",
"documentName": "abc123",
"documentFileExtension": "xyz789",
"expireUtc": "2009-02-16T04:53:10",
"preventChange": false,
"actionKind": 460775715,
"createdUtc": "2020-03-19T02:43:13",
"createdUserId": "04c399a4-6379-45ce-bcc2-ac3b2d9454b2",
"createdUserName": "abc123",
"documentCreatedUtc": "2000-11-21T12:33:31",
"documentLastChangedUtc": "2024-09-20T22:31:53",
"documentCreatedUserName": "xyz789",
"documentLastChangedUserName": "xyz789"
}
ExpirationPeriodKind
Values
| Enum Value | Description |
|---|---|
|
|
Expiration period kind is a day. |
|
|
Expiration period kind is a week. |
|
|
Expiration period kind is a month. |
|
|
Expiration period kind is a year. |
Example
"DAY"
ExpirationTemplate
Description
Represents a ExpirationTemplate entity object.
Fields
| Field Name | Description |
|---|---|
id - Guid!
|
The id of the expiration template. |
periodCount - Int!
|
The number of periods before expiration. |
periodKind - ExpirationPeriodKind
|
The kind of expiration period. |
preventChange - Boolean!
|
Defines whether a change is possible before expiration (warning: this cannot be undone). |
actionKind - ExpirationActionKind
|
The kind of action to be applied after expiration. |
created - DateTime!
|
The created date of the expiration template. |
createdUser - User
|
The user who created the expiration template. |
metaField - MetaField
|
If meta field (needs to be a date field) is associated with the expiration template this date will be used as basis for expiration, otherwise the document created date. |
documentType - DocumentType
|
The document type associated with the expiration template. |
Example
{
"id": "1f5c06de-d9e1-4ee0-809f-223b9686936a",
"periodCount": 366,
"periodKind": "DAY",
"preventChange": true,
"actionKind": "NO_ACTION",
"created": "2009-04-29T03:10:07",
"createdUser": User,
"metaField": MetaField,
"documentType": DocumentType
}
ExpirationTemplateInfo
Description
An expiration template of the archive.
Fields
| Field Name | Description |
|---|---|
id - Guid!
|
The id of the expiration template. |
documentTypeId - Guid!
|
The id of the document type the expiration template belongs to. |
metaFieldId - Guid
|
The id of the meta field the expiration period is calculated from. If omitted the document creation date is used. |
periodKind - Int!
|
The numeric ExpirationPeriodKind of the expiration template. |
periodCount - Int!
|
The number of periods until expiration. |
actionKind - Int!
|
The numeric ExpirationActionKind of the expiration template. |
preventChange - Boolean!
|
Defines whether an already calculated expiration date may be shortened. |
Example
{
"id": "1a78be24-58a3-4b19-9f75-1fc530d14ee5",
"documentTypeId": "d049c923-f7f5-4efd-8432-3b83137fbc93",
"metaFieldId": "fe09eaae-0221-48d1-8c9d-fb9bf050b134",
"periodKind": 460775715,
"periodCount": 260,
"actionKind": 460775715,
"preventChange": false
}
Float
Description
The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.
Example
123.45
Folder
Description
Represents a Folder entity object.
Fields
| Field Name | Description |
|---|---|
id - Guid!
|
The id of the related folder. |
name - String
|
The name of the related folder. |
color - Int
|
The color of the related folder as ARGB integer value. |
created - DateTime!
|
The created date of the related folder. |
lastChanged - DateTime!
|
The date when the related folder was last changed. |
createdUser - User
|
The user who created the related folder. |
lastChangedUser - User
|
The user who changed the related folder the last time. |
parent - Item
|
The parent item of the related folder. |
parentsPath - String
|
The parents as path string. |
linkedItems - [Item]
|
The linked items of the related folder. |
userCanEdit - Boolean
|
Defines whether the authenticated user can edit the folder. |
userCanDelete - Boolean
|
Defines whether the authenticated user can delete the folder. |
description - String
|
The description of the folder. |
Example
{
"id": "5cfbe451-6823-4c6c-853c-8501c5c4b0d9",
"name": "xyz789",
"color": -2309292,
"created": "2021-09-06T04:30:08",
"lastChanged": "2018-07-04T21:55:56",
"createdUser": User,
"lastChangedUser": User,
"parent": Item,
"parentsPath": "abc123/abc123",
"linkedItems": [Item],
"userCanEdit": false,
"userCanDelete": true,
"description": "abc123"
}
FolderInfo
Description
The folder a folder view was requested for.
Fields
| Field Name | Description |
|---|---|
id - Guid!
|
The id of the folder. |
name - String
|
The name of the folder. |
description - String
|
The description of the folder. |
createdUtc - DateTime!
|
The creation date of the folder in UTC. |
lastChangedUtc - DateTime!
|
The date the folder was last changed in UTC. |
canEdit - Boolean!
|
Defines whether the authenticated user may edit the folder. |
canDelete - Boolean!
|
Defines whether the authenticated user may delete the folder. |
subFolderCount - Int!
|
The number of sub folders of the folder the authenticated user may see. |
documentCount - Int!
|
The number of documents of the folder the authenticated user may see. |
path - [PathSegment!]!
|
The breadcrumb path of the folder, starting at the root and ending with the folder itself. |
Example
{
"id": "cbabd84b-b663-46e0-9d42-afa20536261a",
"name": "abc123",
"description": "xyz789",
"createdUtc": "2024-11-21T03:00:46",
"lastChangedUtc": "2018-03-07T02:53:13",
"canEdit": false,
"canDelete": false,
"subFolderCount": 460775715,
"documentCount": 460775715,
"path": [PathSegment]
}
FolderView
Description
A folder, its breadcrumb path and a page of its children.
Fields
| Field Name | Description |
|---|---|
folder - FolderInfo!
|
The requested folder. |
totalCount - Int!
|
The number of children of the folder the authenticated user may see, independent of paging. |
children - [ItemRow!]!
|
The requested page of children, folders first and then by name. |
Example
{
"folder": FolderInfo,
"totalCount": 460775715,
"children": [ItemRow]
}
GenderKind
Values
| Enum Value | Description |
|---|---|
|
|
The gender is male. |
|
|
The gender is female. |
Example
"MALE"
Guid
Example
"7968afa9-9653-4ba2-a0ab-1917a98c5ce2"
ID
Description
The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID.
Example
"5c5e8d83fd81"
Int
Description
The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.
Example
460775715
Item
Description
Interface implemented by Document and Folder entity objects.
Fields
| Field Name | Description |
|---|---|
id - Guid!
|
The id of the item. |
name - String
|
The name of the item. |
color - Int
|
The color of the item as ARGB integer value. |
created - DateTime!
|
The created date of the item. |
lastChanged - DateTime!
|
The date when the item was last changed. |
createdUser - User
|
The user who created the related item. |
lastChangedUser - User
|
The user who changed the related item the last time. |
parent - Item
|
The parent item. |
parentsPath - String
|
The parents as path string. |
linkedItems - [Item]
|
The linked items. |
userCanEdit - Boolean
|
Defines whether the authenticated user can edit the item. |
userCanDelete - Boolean
|
Defines whether the authenticated user can delete the item. |
Example
{
"id": "69040f9f-e339-42a2-a66f-0c49d8d22936",
"name": "abc123",
"color": -13073009,
"created": "2006-07-27T15:41:44",
"lastChanged": "2014-10-17T01:44:39",
"createdUser": User,
"lastChangedUser": User,
"parent": Item,
"parentsPath": "abc123/xyz789",
"linkedItems": [Item],
"userCanEdit": false,
"userCanDelete": false
}
ItemKind
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"FOLDER"
ItemPermission
Description
One permission entry of an item.
Fields
| Field Name | Description |
|---|---|
id - Guid!
|
The id of the permission entry. |
userId - Guid
|
The id of the user the entry applies to. |
groupId - Guid
|
The id of the group the entry applies to. |
dataRead - Boolean!
|
Whether reading is allowed. |
dataEdit - Boolean!
|
Whether editing is allowed. |
dataDelete - Boolean!
|
Whether deleting is allowed. |
dataExport - Boolean!
|
Whether exporting is allowed. |
changePermission - Boolean!
|
Whether changing permissions is allowed. |
inherited - Boolean!
|
Whether the entry was inherited from the parent folder. |
Example
{
"id": "18fd1b72-3227-4959-b18b-7cc4c4f6d243",
"userId": "29d0445d-2c08-4bb4-a493-627a2e8f9a8d",
"groupId": "19bdba0c-9407-468a-820a-dc0c0bfaaa4b",
"dataRead": false,
"dataEdit": false,
"dataDelete": false,
"dataExport": false,
"changePermission": true,
"inherited": false
}
ItemRow
Description
One row of a folder listing with everything pre-resolved the client shows.
Fields
| Field Name | Description |
|---|---|
id - Guid!
|
The id of the item. |
kind - ItemKind!
|
Defines whether the item is a folder or a document. |
name - String
|
The name of the item. |
createdUtc - DateTime!
|
The creation date of the item in UTC. |
lastChangedUtc - DateTime!
|
The date the item was last changed in UTC. |
createdUserName - String
|
The full name of the user who created the item. |
lastChangedUserName - String
|
The full name of the user who changed the item the last time. |
fileExtension - String
|
The file extension of the item, null for folders. |
documentTypeName - String
|
The name of the document type of the item, null for folders and documents without document type. |
fileSize - Long
|
The original file size of the latest revision of the item in bytes, null for folders and for documents whose upload has not completed yet. |
subCount - Int!
|
The number of children of the item. |
tagId - ID
|
The id of the document tag of the item. The id of a document tag is its name, not a GUID. |
color - Int
|
The color of the item as ARGB integer value. |
canEdit - Boolean!
|
Defines whether the authenticated user may edit the item. |
canDelete - Boolean!
|
Defines whether the authenticated user may delete the item. |
deleteProtected - Boolean!
|
Defines whether an unexpired expiration with change protection prevents deleting the item. |
hasShare - Boolean!
|
Defines whether the authenticated user shares the item via a share link. |
rowVersion - Long!
|
The row version of the item; pass it as expectedVersion to the editing mutations. |
metaValues - [MetaValue!]!
|
The meta data of the item as display strings, empty for folders. |
Example
{
"id": "28080e7b-72f2-4845-83b6-bda5d93a793b",
"kind": "FOLDER",
"name": "xyz789",
"createdUtc": "2019-07-12T10:08:51",
"lastChangedUtc": "2015-09-14T14:17:16",
"createdUserName": "xyz789",
"lastChangedUserName": "xyz789",
"fileExtension": "pdf",
"documentTypeName": "abc123",
"fileSize": 8187330,
"subCount": 460775715,
"tagId": "5c5e8d83fd81",
"color": -15428477,
"canEdit": true,
"canDelete": false,
"deleteProtected": false,
"hasShare": true,
"rowVersion": -9049124290990832000,
"metaValues": [MetaValue]
}
Keyword
Description
Represents a Keyword entity object.
Fields
| Field Name | Description |
|---|---|
id - Guid!
|
The id of the keyword. |
name - String!
|
The name of the keyword. |
documents - [Document]
|
The documents this keyword is associated to. |
Example
{
"id": "eba25e1b-5ed6-468d-9f3d-04e2ad993221",
"name": "abc123",
"documents": [Document]
}
KeywordInfo
LinkedItem
Description
One document linked with a document.
Example
{
"id": "c2d98002-8b98-4183-93b9-a09929b0db56",
"name": "xyz789",
"fileExtension": "pdf"
}
LoginResult
Description
The result of a successful login, including the newly created session.
Fields
| Field Name | Description |
|---|---|
activeSession - Guid!
|
The id of the session created by this login. |
dbServerHostName - String
|
The host name of the database server of the customer. |
cloudStorageRegion - String
|
The cloud storage region of the customer. |
user - WorkspaceUser!
|
The authenticated user. |
Example
{
"activeSession": "c7453328-8488-4cdb-a066-23d06fb4a985",
"dbServerHostName": "server-host.name",
"cloudStorageRegion": "eu-north-1",
"user": WorkspaceUser
}
Long
Example
-9049124290990832000
MetaData
Description
Represents a MetaData entity object.
Example
{
"id": "0da5d340-acb6-45e3-a0d7-b8324f5c178b",
"content": "xyz789",
"document": Document,
"metaField": MetaField
}
MetaDataInfo
Description
One typed meta data value of a document.
Fields
| Field Name | Description |
|---|---|
id - Guid!
|
The id of the meta data. |
metaFieldId - Guid!
|
The id of the meta field the value belongs to. |
metaFieldName - String
|
The name of the meta field. |
kind - Int!
|
The kind of the meta field as MetaFieldKind integer value. |
contentText - String
|
The content of a TextShort or TextLong meta field, or the selected value of a SelectionList meta field. |
contentNumber - Float
|
The content of a NumberInteger, NumberDecimal or NumberCurrency meta field. |
contentDateTimeUtc - DateTime
|
The content of a Date or Time meta field in UTC. |
contentCheckBox - Boolean
|
The content of a CheckBox meta field. |
Example
{
"id": "da8ea001-a8e1-490a-bd27-2fe6547da26b",
"metaFieldId": "c43bed96-ffed-46dc-9ca9-cf579e083151",
"metaFieldName": "xyz789",
"kind": 460775715,
"contentText": "abc123",
"contentNumber": 987.65,
"contentDateTimeUtc": "2023-10-15T07:00:41",
"contentCheckBox": false
}
MetaDataInput
Description
One typed meta data value of a document. Only the content field matching the kind of the meta field is read; if it is omitted the meta data of the meta field is deleted.
Fields
| Input Field | Description |
|---|---|
metaFieldId - Guid!
|
The id of the meta field the value belongs to. |
contentText - String
|
The content of a TextShort or TextLong meta field. |
contentNumber - Float
|
The content of a NumberInteger, NumberDecimal or NumberCurrency meta field. |
contentDateTimeUtc - DateTime
|
The content of a Date or Time meta field in UTC. |
contentCheckBox - Boolean
|
The content of a CheckBox meta field. |
metaFieldValueId - Guid
|
The id of the selected meta field value of a SelectionList meta field. |
Example
{
"metaFieldId": "718453ff-b3fe-41b5-bbf7-c0197f7df5b3",
"contentText": "abc123",
"contentNumber": 987.65,
"contentDateTimeUtc": "2025-03-09T23:38:10",
"contentCheckBox": false,
"metaFieldValueId": "8db6275a-013c-469d-85b9-f62e8a7a8616"
}
MetaField
Description
Represents a MetaField entity object.
Fields
| Field Name | Description |
|---|---|
id - Guid!
|
The id of the meta field. |
name - String!
|
The content of the meta field. |
kind - MetaFieldKind
|
The kind of the meta field. |
mask - String
|
The mask of the meta field (can only be used for short text fields). |
lineCount - Short
|
The line count of the meta field (can only be used for long text fields). |
selectionOptions - [String]
|
The selection options of the meta field (can only be used for selection list fields). |
created - DateTime!
|
The created date of the meta field. |
lastChanged - DateTime!
|
The date when the meta field was last changed. |
createdUser - User
|
The user who created the meta field. |
lastChangedUser - User
|
The user who changed the meta field the last time. |
metaDatas - [MetaData]
|
The meta datas associated with the meta field. |
documentTypes - [DocumentType]
|
The document types associated with the meta field. |
expirationTemplates - [ExpirationTemplate]
|
The expiration templates associated with the meta field. |
Example
{
"id": "274d7c0f-05e2-4e96-9f01-486c784e2e3d",
"name": "abc123",
"kind": "TEXT_SHORT",
"mask": "xyz789",
"lineCount": 8,
"selectionOptions": ["xyz789"],
"created": "2015-09-07T00:52:44",
"lastChanged": "2010-02-18T23:03:59",
"createdUser": User,
"lastChangedUser": User,
"metaDatas": [MetaData],
"documentTypes": [DocumentType],
"expirationTemplates": [ExpirationTemplate]
}
MetaFieldInfo
Description
A meta field of the archive.
Fields
| Field Name | Description |
|---|---|
id - Guid!
|
The id of the meta field. |
name - String
|
The name of the meta field. |
kind - Int!
|
The numeric MetaFieldKind of the meta field. |
mask - String
|
The input mask of the meta field. |
lineCount - Int
|
The number of lines of a TextLong meta field. |
values - [MetaFieldValueInfo!]!
|
The selection list values of the meta field. |
Example
{
"id": "85d3143b-91d0-4ec0-992a-0cf6f9569486",
"name": "abc123",
"kind": 460775715,
"mask": "xyz789",
"lineCount": 460775715,
"values": [MetaFieldValueInfo]
}
MetaFieldKind
Values
| Enum Value | Description |
|---|---|
|
|
Meta field is a short text field (only one line). |
|
|
Meta field is a long text field (with specified line count). |
|
|
Meta field is an integer number field. |
|
|
Meta field is a decimal number field. |
|
|
Meta field is a currency number field. |
|
|
Meta field is a check box. |
|
|
Meta field is a date field. |
|
|
Meta field is a time field. |
|
|
Meta field is a selection list. |
Example
"TEXT_SHORT"
MetaFieldValueInfo
MetaValue
Description
One meta data value of an item, already formatted for display.
Example
{
"metaFieldId": "ec38dae2-3793-48f4-8446-b99966791360",
"display": "abc123"
}
PathSegment
PermissionInput
Description
One permission entry of an item. Exactly one of userId and groupId has to be provided.
Fields
| Input Field | Description |
|---|---|
userId - Guid
|
The id of the user the permission is granted to. |
groupId - Guid
|
The id of the group the permission is granted to. |
dataRead - Boolean!
|
Defines whether the data may be read. |
dataEdit - Boolean!
|
Defines whether the data may be edited. |
dataDelete - Boolean!
|
Defines whether the data may be deleted. |
dataExport - Boolean!
|
Defines whether the data may be exported. |
changePermission - Boolean!
|
Defines whether the permissions of the item may be changed. |
Example
{
"userId": "17598029-8495-4976-8a78-29b1c6df4034",
"groupId": "7ba46bd8-c933-4927-b226-73ff7180d8b7",
"dataRead": false,
"dataEdit": true,
"dataDelete": true,
"dataExport": true,
"changePermission": true
}
QuickAccessInfo
Description
A quick access entry of the authenticated user.
Example
{
"id": "fc623519-33e3-4f93-aa33-974f6529fbfe",
"name": "xyz789",
"itemId": "f861ba41-1207-4d7d-ab34-0ad32de08214",
"userId": "e17e840d-0cb3-47a0-b808-762ba0873a4e"
}
Reminder
Description
Represents a Reminder entity object.
Fields
| Field Name | Description |
|---|---|
id - Guid!
|
The id of the reminder. |
preRemind - DateTime
|
The point in time of an optional pre-reminder. |
remind - DateTime!
|
The point in time of reminder. |
description - String
|
The description of the reminder. |
done - Boolean!
|
Defines whether a reminder is done. |
created - DateTime!
|
The created date of the reminder. |
createdUser - User
|
The user who created the reminder. |
document - Document
|
The document associated with the reminder. |
Example
{
"id": "007bce18-1b23-494d-a872-5dca5b1810a4",
"preRemind": "2004-02-08T02:11:27",
"remind": "2011-04-02T17:43:29",
"description": "xyz789",
"done": true,
"created": "2013-01-20T07:49:55",
"createdUser": User,
"document": Document
}
ReminderInfo
Description
One reminder of a document. Reminders belong to the user who created them; userId names that owner, which matters to administrators, who receive every user's reminders and may delete them through deleteReminder.
Fields
| Field Name | Description |
|---|---|
id - Guid!
|
The id of the reminder. |
remindUtc - DateTime!
|
The date the user is reminded in UTC. |
preRemindUtc - DateTime
|
The date the user is reminded in advance in UTC. |
done - Boolean!
|
Defines whether the reminder is done. |
userId - Guid!
|
The id of the user the reminder belongs to. |
text - String
|
The description of the reminder. |
createdUtc - DateTime!
|
The creation date of the reminder in UTC. |
createdUserName - String
|
The full name of the user the reminder belongs to. |
Example
{
"id": "c630364c-9ada-4dcd-847e-eee1a8639e17",
"remindUtc": "2013-03-17T21:38:43",
"preRemindUtc": "2016-04-12T03:59:18",
"done": false,
"userId": "4bc888a7-5d42-4258-aef4-95b60a362776",
"text": "xyz789",
"createdUtc": "2025-01-28T05:55:22",
"createdUserName": "xyz789"
}
ReminderOverview
Description
One reminder of the authenticated user together with its document.
Fields
| Field Name | Description |
|---|---|
id - Guid!
|
The id of the reminder. |
documentId - Guid!
|
The id of the document the reminder belongs to. |
documentName - String
|
The name of the document. |
documentFileExtension - String
|
The file extension of the document. |
remindUtc - DateTime!
|
The date the user is reminded in UTC. |
preRemindUtc - DateTime
|
The date the user is reminded in advance in UTC. |
done - Boolean!
|
Defines whether the reminder is done. |
text - String
|
The description of the reminder. |
createdUtc - DateTime!
|
The date the reminder was last written in UTC. |
createdUserId - Guid!
|
The id of the user owning the reminder. |
createdUserName - String
|
The full name of the user owning the reminder. |
documentCreatedUtc - DateTime!
|
The date the document was archived in UTC. |
documentLastChangedUtc - DateTime!
|
The date the document was changed the last time in UTC. |
documentCreatedUserName - String
|
The full name of the user who archived the document. |
documentLastChangedUserName - String
|
The full name of the user who changed the document the last time. |
Example
{
"id": "1b740514-8ace-496b-9aab-5c860c8392db",
"documentId": "4e9d8815-4d87-47d6-9a5b-11543d0ea2e3",
"documentName": "xyz789",
"documentFileExtension": "xyz789",
"remindUtc": "2016-04-19T14:53:40",
"preRemindUtc": "2010-05-06T03:28:35",
"done": false,
"text": "abc123",
"createdUtc": "2010-05-19T20:20:57",
"createdUserId": "81900ac2-2809-42f9-bc65-eeee4ed8cbef",
"createdUserName": "abc123",
"documentCreatedUtc": "2019-07-08T02:12:42",
"documentLastChangedUtc": "2014-11-30T19:50:40",
"documentCreatedUserName": "xyz789",
"documentLastChangedUserName": "xyz789"
}
SearchPatternInfo
Description
A stored search pattern.
Fields
| Field Name | Description |
|---|---|
id - Guid!
|
The id of the search pattern. |
title - String
|
The title of the search pattern. |
category - String
|
The category of the search pattern. |
pattern - String
|
The search pattern text. |
options - Int!
|
The combined numeric SearchOptionKind flags of the search pattern. |
currentNodeOnly - Boolean!
|
Defines whether the search is limited to the current folder. |
personal - Boolean!
|
Defines whether the search pattern is only visible to its owner. |
Example
{
"id": "928eba4d-6de3-41b0-b501-742d76d85438",
"title": "xyz789",
"category": "xyz789",
"pattern": "abc123",
"options": 460775715,
"currentNodeOnly": false,
"personal": true
}
SearchResult
Description
A page of search hits together with the total number of hits.
Fields
| Field Name | Description |
|---|---|
totalCount - Int!
|
The number of documents matching the search the authenticated user may see, independent of paging. |
items - [ItemRow!]!
|
The requested page of hits, by name. |
Example
{"totalCount": 460775715, "items": [ItemRow]}
SessionState
Description
The server-side session state of the authenticated user.
Example
{
"activeSession": "cef0e552-6d49-4270-8779-fe509c279f1e",
"serverTimeUtc": "2014-03-14T20:40:09",
"changeToken": "xyz789"
}
Short
Example
-21610
SignUpInput
Description
Contains information about customer that signed up.
Fields
| Input Field | Description |
|---|---|
gender - GenderKind!
|
The gender of the main contact of the customer. |
firstName - String
|
The first name of the main contact of the customer. |
lastName - String
|
The last name of the main contact of the customer. |
eMail - String
|
The e-mail of the main contact of the customer. |
loginName - String
|
The login name of the admin user. |
passwordHash - String
|
The password hash (SHA1, upper case) of the admin user. |
countryCode - String
|
The country code (ISO 3166-1 alpha-2, lower case) of the customer. |
languageCode - String
|
The LCID string of the requested language (currently only en-US supported). |
company - String
|
The company name of the customer. |
city - String
|
The city of the customer. |
zipCode - String
|
The ZIP code of the customer. |
state - String
|
The state of the customer. |
address1 - String
|
The first address line of the customer. |
address2 - String
|
The second address line of the customer. |
Example
{
"gender": "MALE",
"firstName": "xyz789",
"lastName": "xyz789",
"eMail": "mail@domain.com",
"loginName": "xyz789",
"passwordHash": "CECD08FDC165EAE729CC4C666898739A01AE71C4",
"countryCode": "us",
"languageCode": "en-US",
"company": "abc123",
"city": "abc123",
"zipCode": "xyz789",
"state": "xyz789",
"address1": "abc123",
"address2": "xyz789"
}
StampInfo
Description
A stamp of the archive.
Example
{
"id": "271fb55c-6d64-468b-8b64-7a454b0c6ce9",
"name": "abc123",
"text": "abc123",
"color": -14251574,
"opacity": 460775715,
"rotation": 460775715
}
String
Description
The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.
Example
"abc123"
TreeChild
Description
One child node of the item tree.
Fields
| Field Name | Description |
|---|---|
id - Guid!
|
The id of the item. |
kind - ItemKind!
|
Defines whether the item is a folder or a document. |
name - String
|
The name of the item. |
subCount - Int!
|
The number of children of the item. The tree shows an expander when it is positive. |
tagId - ID
|
The id of the document tag of the item. The id of a document tag is its name, not a GUID. |
color - Int
|
The color of the item as ARGB integer value. |
Example
{
"id": "734f2370-e4c0-440e-9d73-78e0d76b3387",
"kind": "FOLDER",
"name": "abc123",
"subCount": 460775715,
"tagId": "5c5e8d83fd81",
"color": -7972490
}
User
Description
Represents a User entity object.
Fields
| Field Name | Description |
|---|---|
id - Guid!
|
The id of the user. |
loginName - String!
|
The login name of the user. |
fullName - String!
|
The full name of the user. |
eMail - String
|
The e-mail of the user. |
description - String
|
The description of the user. |
admin - Boolean!
|
Defines whether the user is admin. |
created - DateTime!
|
The created date of the user. |
lastLogin - DateTime
|
The last login date of the user. |
Example
{
"id": "a2d3cfa6-6808-4bae-b5e7-ff7674ec94ab",
"loginName": "abc123",
"fullName": "abc123",
"eMail": "mail@domain.com",
"description": "abc123",
"admin": false,
"created": "2002-10-15T19:07:03",
"lastLogin": "2023-04-20T12:34:38"
}
Workspace
Description
Everything the client needs after login, before an archive is opened.
Fields
| Field Name | Description |
|---|---|
user - WorkspaceUser!
|
The authenticated user. |
dbs - [WorkspaceDb!]!
|
The archives the authenticated user has access to. |
serverTimeUtc - DateTime!
|
The current server time in UTC. |
Example
{
"user": WorkspaceUser,
"dbs": [WorkspaceDb],
"serverTimeUtc": "2007-07-17T10:26:44"
}
WorkspaceDb
Description
An archive the authenticated user has access to.
Fields
| Field Name | Description |
|---|---|
id - ID!
|
The id of the archive. |
title - String
|
The title of the archive. |
description - String
|
The description of the archive. |
hasPassword - Boolean!
|
Defines whether the archive is password protected. |
canEdit - Boolean!
|
Defines whether the authenticated user may edit data in the archive. |
Example
{
"id": "5c5e8d83fd81",
"title": "abc123",
"description": "xyz789",
"hasPassword": true,
"canEdit": false
}
WorkspaceUser
Description
The authenticated user as needed by the client bootstrap.
Fields
| Field Name | Description |
|---|---|
id - Guid!
|
The id of the user. |
loginName - String
|
The login name of the user. |
fullName - String
|
The full name of the user. |
eMail - String
|
The e-mail of the user. |
admin - Boolean!
|
Defines whether the user is admin. |
changePasswordNextLogin - Boolean!
|
Defines whether the user has to change the password on the next login. |
settingsJson - String
|
The user settings as JSON string. |
groupIds - [Guid!]!
|
The ids of the groups the user is a member of. |
Example
{
"id": "10c6fc3b-e300-4698-9708-1d968105b7d9",
"loginName": "abc123",
"fullName": "abc123",
"eMail": "mail@domain.com",
"admin": true,
"changePasswordNextLogin": false,
"settingsJson": "xyz789",
"groupIds": ["0b6d3e4d-9b25-4908-a50b-a69d8ff91d7a"]
}