{
  "openapi": "3.0.1",
  "info": {
    "title": "Docunite API",
    "description": "API for the Docunite Platform.",
    "contact": {
      "name": "Docunite Support",
      "email": "support@docunite.com"
    },
    "version": "v1"
  },
  "servers": [
    {
      "url": "https://api.docunite.com",
      "description": "Production Server"
    }
  ],
  "paths": {
    "/attributes": {
      "get": {
        "tags": [
          "Attribute"
        ],
        "summary": "Get a list of all possible attributes.",
        "responses": {
          "200": {
            "description": "Returns a list of attributes.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AttributeDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AttributeDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AttributeDto"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — missing or invalid authentication."
          },
          "403": {
            "description": "Forbidden — insufficient permissions."
          }
        }
      }
    },
    "/attributes/{attributeId}": {
      "get": {
        "tags": [
          "Attribute"
        ],
        "summary": "Get list items for an attribute.",
        "parameters": [
          {
            "name": "attributeId",
            "in": "path",
            "description": "The ID of the attribute",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of attribute items.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AttributeListItemDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AttributeListItemDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AttributeListItemDto"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Attribute not found"
          },
          "401": {
            "description": "Unauthorized — missing or invalid authentication."
          },
          "403": {
            "description": "Forbidden — insufficient permissions."
          }
        }
      }
    },
    "/documentclasses": {
      "get": {
        "tags": [
          "DocumentClass"
        ],
        "summary": "Get a list of all document classes.",
        "responses": {
          "200": {
            "description": "Returns a list of document classes.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DocumentClassDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DocumentClassDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DocumentClassDto"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — missing or invalid authentication."
          },
          "403": {
            "description": "Forbidden — insufficient permissions."
          }
        }
      }
    },
    "/entities": {
      "get": {
        "tags": [
          "Entity"
        ],
        "summary": "Returns all entities. See entity type endpoint for possible entity types.",
        "responses": {
          "200": {
            "description": "Returns all entities.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EntityDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EntityDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EntityDto"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — missing or invalid authentication."
          },
          "403": {
            "description": "Forbidden — insufficient permissions."
          }
        }
      },
      "post": {
        "tags": [
          "Entity"
        ],
        "summary": "Create new Entity based on TemplateId",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateEntityDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateEntityDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateEntityDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns Id for newly created Entity.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — missing or invalid authentication."
          },
          "403": {
            "description": "Forbidden — insufficient permissions."
          }
        }
      }
    },
    "/entities/{entityId}": {
      "get": {
        "tags": [
          "Entity"
        ],
        "summary": "Returns a specific entity.",
        "parameters": [
          {
            "name": "entityId",
            "in": "path",
            "description": "Guid of the entity to get.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the specified entity.",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/EntityDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityDto"
                }
              }
            }
          },
          "404": {
            "description": "Entity not found."
          },
          "401": {
            "description": "Unauthorized — missing or invalid authentication."
          },
          "403": {
            "description": "Forbidden — insufficient permissions."
          }
        }
      }
    },
    "/entities/{entityId}/attachedViews": {
      "get": {
        "tags": [
          "Entity"
        ],
        "summary": "Returns all Views for specific entity",
        "parameters": [
          {
            "name": "entityId",
            "in": "path",
            "description": "Guid of the entity",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns views for specified entity.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/IndexDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/IndexDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/IndexDto"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — missing or invalid authentication."
          },
          "403": {
            "description": "Forbidden — insufficient permissions."
          }
        }
      }
    },
    "/entityTypes": {
      "get": {
        "tags": [
          "Entity"
        ],
        "summary": "Returns all possible entity types. Examples are an asset or a tenant.",
        "responses": {
          "200": {
            "description": "Returns all possible entity types.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EntityTypeDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EntityTypeDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EntityTypeDto"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — missing or invalid authentication."
          },
          "403": {
            "description": "Forbidden — insufficient permissions."
          }
        }
      }
    },
    "/files/{entityId}": {
      "get": {
        "tags": [
          "Entity"
        ],
        "summary": "Get files associated with an entity.",
        "parameters": [
          {
            "name": "entityId",
            "in": "path",
            "description": "ID of the entity",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns a collection of files.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FileDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FileDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FileDto"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — missing or invalid authentication."
          },
          "403": {
            "description": "Forbidden — insufficient permissions."
          }
        }
      }
    },
    "/files/inElement/{entityId}/{indexElementId}": {
      "get": {
        "tags": [
          "Index"
        ],
        "summary": "Get files associated with an index element.",
        "parameters": [
          {
            "name": "entityId",
            "in": "path",
            "description": "ID of the entity",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "indexElementId",
            "in": "path",
            "description": "ID of the index element",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns a collection of files.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FileDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FileDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FileDto"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — missing or invalid authentication."
          },
          "403": {
            "description": "Forbidden — insufficient permissions."
          }
        }
      },
      "post": {
        "tags": [
          "Index"
        ],
        "summary": "Create a file associated with an index element.",
        "parameters": [
          {
            "name": "entityId",
            "in": "path",
            "description": "ID of the entity",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "indexElementId",
            "in": "path",
            "description": "ID of the index element",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "versionIfDuplicate",
            "in": "query",
            "description": "When true, creates a new version instead of returning 409 on duplicate.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "userFile": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              },
              "encoding": {
                "userFile": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the created file's ID.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              }
            }
          },
          "409": {
            "description": "A file with the same name already exists. Use ?versionIfDuplicate=true to create a new version."
          },
          "401": {
            "description": "Unauthorized — missing or invalid authentication."
          },
          "403": {
            "description": "Forbidden — insufficient permissions."
          }
        }
      }
    },
    "/files/inFolder/{entityId}/{folderId}": {
      "get": {
        "tags": [
          "Folder"
        ],
        "summary": "Get files associated with a folder.",
        "parameters": [
          {
            "name": "entityId",
            "in": "path",
            "description": "ID of the entity",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "folderId",
            "in": "path",
            "description": "ID of the folder",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns a collection of files.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FileDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FileDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FileDto"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — missing or invalid authentication."
          },
          "403": {
            "description": "Forbidden — insufficient permissions."
          }
        }
      },
      "post": {
        "tags": [
          "Folder"
        ],
        "summary": "Create a file associated with a folder.",
        "parameters": [
          {
            "name": "entityId",
            "in": "path",
            "description": "ID of the entity",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "folderId",
            "in": "path",
            "description": "ID of the folder",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "versionIfDuplicate",
            "in": "query",
            "description": "When true, creates a new version instead of returning 409 on duplicate.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "userFile": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              },
              "encoding": {
                "userFile": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the created file's ID.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              }
            }
          },
          "409": {
            "description": "A file with the same name already exists. Use ?versionIfDuplicate=true to create a new version."
          },
          "401": {
            "description": "Unauthorized — missing or invalid authentication."
          },
          "403": {
            "description": "Forbidden — insufficient permissions."
          }
        }
      }
    },
    "/files/rename/{fileId}": {
      "post": {
        "tags": [
          "File"
        ],
        "summary": "Rename File",
        "parameters": [
          {
            "name": "fileId",
            "in": "path",
            "description": "ID of the file",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ValueRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ValueRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ValueRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the fileId which was renamed.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — missing or invalid authentication."
          },
          "403": {
            "description": "Forbidden — insufficient permissions."
          }
        }
      }
    },
    "/files/setDocumentClass/{fileId}/{documentClassId}": {
      "post": {
        "tags": [
          "DocumentClass"
        ],
        "summary": "Set the document class on a file.",
        "parameters": [
          {
            "name": "fileId",
            "in": "path",
            "description": "ID of the file",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "documentClassId",
            "in": "path",
            "description": "ID of the document class",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the updated file's ID.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — missing or invalid authentication."
          },
          "403": {
            "description": "Forbidden — insufficient permissions."
          }
        }
      }
    },
    "/files/attach/{entityId}/{fileId}": {
      "post": {
        "tags": [
          "Entity"
        ],
        "summary": "Attach a file to an entity.",
        "parameters": [
          {
            "name": "entityId",
            "in": "path",
            "description": "ID of the entity",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "fileId",
            "in": "path",
            "description": "ID of the file",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the attached file's ID.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — missing or invalid authentication."
          },
          "403": {
            "description": "Forbidden — insufficient permissions."
          }
        }
      }
    },
    "/files/detach/{entityId}/{fileId}": {
      "post": {
        "tags": [
          "Entity"
        ],
        "summary": "Detach a file from an entity.",
        "parameters": [
          {
            "name": "entityId",
            "in": "path",
            "description": "ID of the entity",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "fileId",
            "in": "path",
            "description": "ID of the file",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the detached file's ID.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — missing or invalid authentication."
          },
          "403": {
            "description": "Forbidden — insufficient permissions."
          }
        }
      }
    },
    "/files/linkToFolder/{entityId}/{fileId}/{folderId}": {
      "post": {
        "tags": [
          "Folder"
        ],
        "summary": "Create a manual link to a file in a folder.",
        "parameters": [
          {
            "name": "entityId",
            "in": "path",
            "description": "ID of the entity",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "fileId",
            "in": "path",
            "description": "ID of the file",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "folderId",
            "in": "path",
            "description": "ID of the folder",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the folder's ID.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — missing or invalid authentication."
          },
          "403": {
            "description": "Forbidden — insufficient permissions."
          }
        }
      }
    },
    "/files/linkToElement/{entityId}/{fileId}/{indexElementId}": {
      "post": {
        "tags": [
          "Index"
        ],
        "summary": "Create a manual link to a file in an index element.",
        "parameters": [
          {
            "name": "entityId",
            "in": "path",
            "description": "ID of the entity",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "fileId",
            "in": "path",
            "description": "ID of the file",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "indexElementId",
            "in": "path",
            "description": "ID of the index element",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the index element's ID.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — missing or invalid authentication."
          },
          "403": {
            "description": "Forbidden — insufficient permissions."
          }
        }
      }
    },
    "/files/setAttribute/{fileId}/{attributeId}": {
      "post": {
        "tags": [
          "Attribute"
        ],
        "summary": "Set an attribute on a file.",
        "parameters": [
          {
            "name": "fileId",
            "in": "path",
            "description": "ID of the file",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "attributeId",
            "in": "path",
            "description": "ID of the attribute",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ValueRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ValueRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ValueRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the updated file's ID.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — missing or invalid authentication."
          },
          "403": {
            "description": "Forbidden — insufficient permissions."
          }
        }
      }
    },
    "/folders/inIndex/{entityId}/{indexId}": {
      "get": {
        "tags": [
          "Folder"
        ],
        "summary": "Get folders in an index.",
        "parameters": [
          {
            "name": "entityId",
            "in": "path",
            "description": "Entity ID.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "indexId",
            "in": "path",
            "description": "Index ID.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Folders retrieved successfully.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ContentTreeFolder"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ContentTreeFolder"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ContentTreeFolder"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — missing or invalid authentication."
          },
          "403": {
            "description": "Forbidden — insufficient permissions."
          }
        }
      }
    },
    "/folders/inElement/{entityId}/{indexElementId}": {
      "get": {
        "tags": [
          "Folder"
        ],
        "summary": "Get folders in an index element.",
        "parameters": [
          {
            "name": "entityId",
            "in": "path",
            "description": "Entity ID.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "indexElementId",
            "in": "path",
            "description": "Index Element ID.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Folders retrieved successfully.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ContentTreeFolder"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ContentTreeFolder"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ContentTreeFolder"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — missing or invalid authentication."
          },
          "403": {
            "description": "Forbidden — insufficient permissions."
          }
        }
      },
      "post": {
        "tags": [
          "Folder"
        ],
        "summary": "Create a folder in an index element.",
        "parameters": [
          {
            "name": "entityId",
            "in": "path",
            "description": "Entity ID.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "indexElementId",
            "in": "path",
            "description": "Index Element ID.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ValueRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ValueRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ValueRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Folder created successfully.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — missing or invalid authentication."
          },
          "403": {
            "description": "Forbidden — insufficient permissions."
          }
        }
      }
    },
    "/folders/inFolder/{entityId}/{folderId}": {
      "get": {
        "tags": [
          "Folder"
        ],
        "summary": "Get folders in a folder.",
        "parameters": [
          {
            "name": "entityId",
            "in": "path",
            "description": "Entity ID.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "folderId",
            "in": "path",
            "description": "Folder ID.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Folders retrieved successfully.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ContentTreeFolder"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ContentTreeFolder"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ContentTreeFolder"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — missing or invalid authentication."
          },
          "403": {
            "description": "Forbidden — insufficient permissions."
          }
        }
      },
      "post": {
        "tags": [
          "Folder"
        ],
        "summary": "Create a folder in a folder.",
        "parameters": [
          {
            "name": "entityId",
            "in": "path",
            "description": "Entity ID.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "folderId",
            "in": "path",
            "description": "Parent Folder ID.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ValueRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ValueRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ValueRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Folder created successfully.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — missing or invalid authentication."
          },
          "403": {
            "description": "Forbidden — insufficient permissions."
          }
        }
      }
    },
    "/folders/rename/{entityId}/{folderId}": {
      "post": {
        "tags": [
          "Folder"
        ],
        "summary": "Rename Folder in Entity.",
        "parameters": [
          {
            "name": "entityId",
            "in": "path",
            "description": "Entity ID.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "folderId",
            "in": "path",
            "description": "Folder ID.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ValueRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ValueRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ValueRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Folder renamed successfully.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — missing or invalid authentication."
          },
          "403": {
            "description": "Forbidden — insufficient permissions."
          }
        }
      }
    },
    "/indexes": {
      "get": {
        "tags": [
          "Index"
        ],
        "summary": "Get a list of all indexes.",
        "responses": {
          "200": {
            "description": "Returns list of indexes.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/IndexDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/IndexDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/IndexDto"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — missing or invalid authentication."
          },
          "403": {
            "description": "Forbidden — insufficient permissions."
          }
        }
      }
    },
    "/indexes/{indexId}": {
      "get": {
        "tags": [
          "Index"
        ],
        "summary": "Get a list of all index elements.",
        "parameters": [
          {
            "name": "indexId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns index element list.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/IndexElementDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/IndexElementDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/IndexElementDto"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Index not found."
          },
          "401": {
            "description": "Unauthorized — missing or invalid authentication."
          },
          "403": {
            "description": "Forbidden — insufficient permissions."
          }
        }
      }
    },
    "/permissions/users": {
      "get": {
        "tags": [
          "Permission"
        ],
        "summary": "Returns all Users",
        "responses": {
          "200": {
            "description": "Returns Users.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UserDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UserDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UserDto"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — missing or invalid authentication."
          },
          "403": {
            "description": "Forbidden — insufficient permissions."
          }
        }
      }
    },
    "/permissions/groups": {
      "get": {
        "tags": [
          "Permission"
        ],
        "summary": "Returns all User-Groups",
        "responses": {
          "200": {
            "description": "Returns User-Groups.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GroupDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GroupDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GroupDto"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — missing or invalid authentication."
          },
          "403": {
            "description": "Forbidden — insufficient permissions."
          }
        }
      }
    },
    "/permissions/roles": {
      "get": {
        "tags": [
          "Permission"
        ],
        "summary": "Returns all Roles",
        "responses": {
          "200": {
            "description": "Returns Roles.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RoleDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RoleDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RoleDto"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — missing or invalid authentication."
          },
          "403": {
            "description": "Forbidden — insufficient permissions."
          }
        }
      }
    },
    "/permissions/tasks": {
      "get": {
        "tags": [
          "Permission"
        ],
        "summary": "Returns all Tasks",
        "responses": {
          "200": {
            "description": "Returns Tasks.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TaskDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TaskDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TaskDto"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — missing or invalid authentication."
          },
          "403": {
            "description": "Forbidden — insufficient permissions."
          }
        }
      }
    },
    "/permissions/permissions": {
      "get": {
        "tags": [
          "Permission"
        ],
        "summary": "Returns all Permissions",
        "responses": {
          "200": {
            "description": "Returns Permissions.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PermissionsDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PermissionsDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PermissionsDto"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — missing or invalid authentication."
          },
          "403": {
            "description": "Forbidden — insufficient permissions."
          }
        }
      }
    },
    "/permissions/permittedEntities/{userId}": {
      "get": {
        "tags": [
          "Permission"
        ],
        "summary": "Returns all permitted entities for a user",
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "ID of the user.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns permitted entities for the user.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PermittedEntitiesDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PermittedEntitiesDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PermittedEntitiesDto"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — missing or invalid authentication."
          },
          "403": {
            "description": "Forbidden — insufficient permissions."
          }
        }
      }
    },
    "/permissions/allGroupRolePermissions": {
      "get": {
        "tags": [
          "Permission"
        ],
        "summary": "Returns a listing of all permissions for Group roles",
        "responses": {
          "200": {
            "description": "Returns all Permissions for Groups.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GroupRoleEntityPermission"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GroupRoleEntityPermission"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GroupRoleEntityPermission"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — missing or invalid authentication."
          },
          "403": {
            "description": "Forbidden — insufficient permissions."
          }
        }
      }
    },
    "/permissions/allUserRolePermissions": {
      "get": {
        "tags": [
          "Permission"
        ],
        "summary": "Returns a listing of all permissions for user roles",
        "responses": {
          "200": {
            "description": "Returns all Permissions for Roles.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UserRoleEntityPermission"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UserRoleEntityPermission"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UserRoleEntityPermission"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — missing or invalid authentication."
          },
          "403": {
            "description": "Forbidden — insufficient permissions."
          }
        }
      }
    },
    "/templates": {
      "get": {
        "tags": [
          "Template"
        ],
        "summary": "Returns all available templates.",
        "responses": {
          "200": {
            "description": "Returns a list of templates.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TemplateDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TemplateDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TemplateDto"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — missing or invalid authentication."
          },
          "403": {
            "description": "Forbidden — insufficient permissions."
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AccountState": {
        "enum": [
          "Created",
          "InvitationInProgress",
          "InvitationExpired",
          "Active",
          "Locked"
        ],
        "type": "string"
      },
      "AddressDto": {
        "type": "object",
        "properties": {
          "street": {
            "type": "string",
            "nullable": true
          },
          "houseNumber": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "postCode": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "city": {
            "type": "string",
            "nullable": true
          },
          "country": {
            "$ref": "#/components/schemas/Country"
          }
        },
        "additionalProperties": false
      },
      "AdvisedDocumentClassesDto": {
        "type": "object",
        "properties": {
          "documentClassId": {
            "type": "string",
            "format": "uuid"
          },
          "score": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "AssignedEntityItemDto": {
        "type": "object",
        "properties": {
          "entityItemId": {
            "type": "string",
            "nullable": true
          },
          "entityItemType": {
            "$ref": "#/components/schemas/EntityItemType"
          },
          "selected": {
            "type": "boolean"
          },
          "exclusions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AttachedViewDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "connectedFilesCount": {
            "type": "integer",
            "format": "int32"
          },
          "manuallyLinks": {
            "type": "integer",
            "format": "int32"
          },
          "isPublic": {
            "type": "boolean"
          },
          "ongoingIndexNumberingEnabled": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "AttributeColumnDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "nullable": true
            },
            "nullable": true
          },
          "attribute": {
            "type": "string",
            "format": "uuid"
          },
          "format": {
            "$ref": "#/components/schemas/AttributeType"
          },
          "formatDetails": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatePresentationFormatType"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AttributeDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "names": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "nullable": true
            },
            "nullable": true
          },
          "type": {
            "$ref": "#/components/schemas/AttributeType"
          },
          "dateFormats": {
            "type": "object",
            "additionalProperties": {
              "uniqueItems": true,
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/DatePresentationFormatType"
              },
              "nullable": true
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AttributeFilterCondition": {
        "enum": [
          "IsSame",
          "IsNot",
          "IsEmpty",
          "IsNotEmpty",
          "StartsWith",
          "EndsWith",
          "Contains",
          "ContainsNot",
          "At",
          "NotAt",
          "BeforeAt",
          "Before",
          "AfterAt",
          "After",
          "Between"
        ],
        "type": "string"
      },
      "AttributeListItemDto": {
        "type": "object",
        "properties": {
          "listItemId": {
            "type": "string",
            "format": "uuid"
          },
          "names": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "nullable": true
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AttributeType": {
        "enum": [
          "Date",
          "List",
          "Text",
          "DateYear"
        ],
        "type": "string"
      },
      "ContentTreeFile": {
        "type": "object",
        "properties": {
          "changedBy": {
            "$ref": "#/components/schemas/UserId"
          },
          "creator": {
            "$ref": "#/components/schemas/UserId"
          },
          "documentClass": {
            "$ref": "#/components/schemas/DocumentClassId"
          },
          "filePageCount": {
            "$ref": "#/components/schemas/FilePageCount"
          },
          "hasConversionError": {
            "type": "boolean",
            "readOnly": true
          },
          "hasPreview": {
            "type": "boolean",
            "readOnly": true
          },
          "keywordExtractionState": {
            "$ref": "#/components/schemas/KeywordExtractionState"
          },
          "linkedEntities": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EntityId"
            },
            "nullable": true
          },
          "name": {
            "$ref": "#/components/schemas/FileName"
          },
          "originalUploadPath": {
            "$ref": "#/components/schemas/FileOriginalUploadPath"
          },
          "size": {
            "type": "integer",
            "format": "int64",
            "readOnly": true
          },
          "suggestedDocumentClasses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SuggestedDocumentClass"
            },
            "nullable": true
          },
          "annotationsCount": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "annotationsVersion": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "documentClassLinks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LinkedIndexElement"
            },
            "nullable": true
          },
          "language": {
            "$ref": "#/components/schemas/FileLanguage"
          },
          "linkedFolders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LinkedFolder"
            },
            "nullable": true
          },
          "linkedIndexElements": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LinkedIndexElement"
            },
            "nullable": true
          },
          "meta": {
            "$ref": "#/components/schemas/FileMeta"
          },
          "creationDate": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "lastChange": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "lastPublication": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "readOnly": true
          },
          "lastPublicationRevoked": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "readOnly": true
          },
          "parent": {
            "$ref": "#/components/schemas/ContentTreeNode"
          },
          "readByUser": {
            "type": "boolean"
          },
          "collectionLocations": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DocumentCollectionLocation"
            },
            "nullable": true
          },
          "attributes": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/IAttributeValue"
            },
            "nullable": true,
            "readOnly": true
          },
          "id": {
            "$ref": "#/components/schemas/FileId"
          },
          "file": {
            "$ref": "#/components/schemas/File"
          }
        },
        "additionalProperties": false
      },
      "ContentTreeFolder": {
        "type": "object",
        "properties": {
          "entityId": {
            "$ref": "#/components/schemas/EntityId"
          },
          "isVisible": {
            "type": "boolean"
          },
          "parent": {
            "$ref": "#/components/schemas/ContentTreeNode"
          },
          "files": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContentTreeFile"
            },
            "nullable": true,
            "readOnly": true
          },
          "children": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContentTreeNode"
            },
            "nullable": true,
            "readOnly": true
          },
          "allChildren": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContentTreeNode"
            },
            "nullable": true,
            "readOnly": true
          },
          "contentTreeFolders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContentTreeFolder"
            },
            "nullable": true,
            "readOnly": true
          },
          "wasFullReadyByUser": {
            "type": "boolean"
          },
          "index": {
            "type": "string",
            "nullable": true
          },
          "insideDocumentCollection": {
            "type": "boolean",
            "readOnly": true
          },
          "id": {
            "$ref": "#/components/schemas/FolderId"
          },
          "name": {
            "$ref": "#/components/schemas/FolderName"
          }
        },
        "additionalProperties": false
      },
      "ContentTreeNode": {
        "type": "object",
        "properties": {
          "entityId": {
            "$ref": "#/components/schemas/EntityId"
          },
          "isVisible": {
            "type": "boolean"
          },
          "parent": {
            "$ref": "#/components/schemas/ContentTreeNode"
          },
          "files": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContentTreeFile"
            },
            "nullable": true,
            "readOnly": true
          },
          "children": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContentTreeNode"
            },
            "nullable": true,
            "readOnly": true
          },
          "allChildren": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContentTreeNode"
            },
            "nullable": true,
            "readOnly": true
          },
          "contentTreeFolders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContentTreeFolder"
            },
            "nullable": true,
            "readOnly": true
          },
          "wasFullReadyByUser": {
            "type": "boolean"
          },
          "index": {
            "type": "string",
            "nullable": true
          },
          "insideDocumentCollection": {
            "type": "boolean",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "ContextEntityDto": {
        "type": "object",
        "properties": {
          "entityId": {
            "type": "string",
            "format": "uuid"
          },
          "entityTypeId": {
            "type": "string",
            "format": "uuid"
          },
          "visibility": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Country": {
        "enum": [
          "Stateless",
          "Germany"
        ],
        "type": "string"
      },
      "CreateEntityDto": {
        "required": [
          "name",
          "templateId"
        ],
        "type": "object",
        "properties": {
          "templateId": {
            "type": "string",
            "description": "ID of the template that defines the entity structure.",
            "format": "uuid"
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "Display name of the new entity."
          },
          "parentEntityId": {
            "type": "string",
            "description": "Optional parent entity ID for hierarchical entities.",
            "format": "uuid",
            "nullable": true
          },
          "parentEntityTypeId": {
            "type": "string",
            "description": "Entity type of the parent entity. Required when ParentEntityId is set.",
            "format": "uuid",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Payload for creating a new entity."
      },
      "DatePresentationFormatType": {
        "enum": [
          "Year",
          "Month",
          "Quarter",
          "Date"
        ],
        "type": "string"
      },
      "DocumentClassDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "names": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "nullable": true
            },
            "nullable": true
          },
          "attributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AttributeColumnDto"
            },
            "nullable": true,
            "readOnly": true
          },
          "children": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "nullable": true
          },
          "isGifStandard": {
            "type": "boolean"
          },
          "gifDocumentClassId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DocumentClassId": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "format": "uuid",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "DocumentCollectionLocation": {
        "type": "object",
        "properties": {
          "rootEntityIndex": {
            "$ref": "#/components/schemas/EntityIndexElementId"
          },
          "collectionLocation": {
            "$ref": "#/components/schemas/IFileLocationId"
          }
        },
        "additionalProperties": false
      },
      "ElementLinkDto": {
        "type": "object",
        "properties": {
          "entityType": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "entityId": {
            "type": "string",
            "format": "uuid"
          },
          "viewId": {
            "type": "string",
            "format": "uuid"
          },
          "viewName": {
            "type": "string",
            "nullable": true
          },
          "viewElementId": {
            "type": "string",
            "format": "uuid"
          },
          "viewElement": {
            "type": "string",
            "nullable": true
          },
          "viewElementName": {
            "type": "string",
            "nullable": true
          },
          "folderId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "isFilePublished": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "EntityDto": {
        "type": "object",
        "properties": {
          "isNeoSyncActive": {
            "type": "boolean"
          },
          "userFollowing": {
            "type": "boolean"
          },
          "followingChildEntityTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "nullable": true
          },
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "published": {
            "type": "boolean"
          },
          "imgUrl": {
            "type": "string",
            "nullable": true
          },
          "imgUrlDetails": {
            "type": "string",
            "nullable": true
          },
          "parentEntityIds": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string",
                "format": "uuid"
              },
              "nullable": true
            },
            "nullable": true
          },
          "referencedEntityIds": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string",
                "format": "uuid"
              },
              "nullable": true
            },
            "nullable": true
          },
          "entityTypeId": {
            "type": "string",
            "format": "uuid"
          },
          "templateId": {
            "type": "string",
            "format": "uuid"
          },
          "lastChange": {
            "type": "string",
            "format": "date-time"
          },
          "archived": {
            "type": "boolean"
          },
          "dealspaceFrozen": {
            "type": "boolean"
          },
          "creator": {
            "type": "string",
            "format": "uuid"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "attributes": {
            "type": "object",
            "additionalProperties": {
              "nullable": true
            },
            "nullable": true
          },
          "isInQaProcess": {
            "type": "boolean"
          },
          "qaProcessIsPaused": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "EntityId": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "format": "uuid",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "EntityIndexElementId": {
        "type": "object",
        "properties": {
          "item1": {
            "$ref": "#/components/schemas/EntityId"
          },
          "item2": {
            "$ref": "#/components/schemas/IndexElementId"
          },
          "entity": {
            "$ref": "#/components/schemas/EntityId"
          },
          "indexElement": {
            "$ref": "#/components/schemas/IndexElementId"
          }
        },
        "additionalProperties": false
      },
      "EntityItemType": {
        "enum": [
          "EntityType",
          "Template",
          "Entity"
        ],
        "type": "string"
      },
      "EntityTypeDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "nameML": {
            "$ref": "#/components/schemas/MultiLanguageDto"
          },
          "nameSingularML": {
            "$ref": "#/components/schemas/MultiLanguageDto"
          },
          "hasImage": {
            "type": "boolean"
          },
          "publishable": {
            "type": "boolean"
          },
          "parentEntityTypes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ParentEntityTypeDto"
            },
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "lastChange": {
            "type": "string",
            "format": "date-time"
          },
          "attributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AttributeColumnDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "File": {
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FileId"
          },
          "name": {
            "$ref": "#/components/schemas/FileName"
          },
          "hasConversionError": {
            "type": "boolean"
          },
          "size": {
            "type": "integer",
            "format": "int64"
          },
          "originalUploadPath": {
            "$ref": "#/components/schemas/FileOriginalUploadPath"
          },
          "documentClass": {
            "$ref": "#/components/schemas/DocumentClassId"
          },
          "linkedEntities": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EntityId"
            },
            "nullable": true
          },
          "fileMeta": {
            "$ref": "#/components/schemas/FileMeta"
          },
          "linkedIndexElements": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LinkedIndexElement"
            },
            "nullable": true
          },
          "linkedFolders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LinkedFolder"
            },
            "nullable": true
          },
          "linkedIndexElementsByDocumentClass": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LinkedIndexElement"
            },
            "nullable": true
          },
          "privateInEntities": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EntityId"
            },
            "nullable": true
          },
          "keywordExtractionState": {
            "$ref": "#/components/schemas/KeywordExtractionState"
          },
          "suggestedDocumentClasses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SuggestedDocumentClass"
            },
            "nullable": true
          },
          "language": {
            "$ref": "#/components/schemas/FileLanguage"
          },
          "score": {
            "$ref": "#/components/schemas/FileLanguageScore"
          },
          "lastChange": {
            "type": "string",
            "format": "date-time"
          },
          "changedBy": {
            "$ref": "#/components/schemas/UserId"
          },
          "creator": {
            "$ref": "#/components/schemas/UserId"
          },
          "creationDate": {
            "type": "string",
            "format": "date-time"
          },
          "fileHash": {
            "$ref": "#/components/schemas/FileHash"
          },
          "annotationsCount": {
            "type": "integer",
            "format": "int32"
          },
          "annotationsVersion": {
            "type": "integer",
            "format": "int32"
          },
          "hasPreview": {
            "type": "boolean"
          },
          "filePageCount": {
            "$ref": "#/components/schemas/FilePageCount"
          },
          "attributes": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/IAttributeValue"
            },
            "nullable": true
          },
          "lastPublicationRevoked": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "lastPublication": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "documentCollectionLocations": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DocumentCollectionLocation"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FileDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "lastChange": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "changedBy": {
            "type": "string",
            "nullable": true
          },
          "changedById": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "lockedBy": {
            "type": "string",
            "nullable": true
          },
          "lockedById": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "readState": {
            "type": "boolean"
          },
          "neoDocumentType": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "nullable": true
            },
            "nullable": true
          },
          "neoKeyResult": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "nullable": true
            },
            "nullable": true
          },
          "attributes": {
            "type": "object",
            "additionalProperties": {
              "nullable": true
            },
            "nullable": true
          },
          "size": {
            "type": "integer",
            "format": "int64"
          },
          "extension": {
            "type": "string",
            "nullable": true
          },
          "documentClass": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "context": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContextEntityDto"
            },
            "nullable": true
          },
          "hasPreview": {
            "type": "boolean"
          },
          "hasPreviewError": {
            "type": "boolean"
          },
          "keywordExtractionState": {
            "type": "integer",
            "format": "int32"
          },
          "originalUploadPath": {
            "type": "string",
            "nullable": true
          },
          "language": {
            "type": "string",
            "nullable": true
          },
          "pageCount": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "entityContentLinks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ElementLinkDto"
            },
            "nullable": true
          },
          "manualContentLinks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ElementLinkDto"
            },
            "nullable": true
          },
          "fileSuggestions": {
            "$ref": "#/components/schemas/FileSuggestionsDto"
          },
          "isPublishedAnyWhere": {
            "type": "boolean"
          },
          "annotationsCount": {
            "type": "integer",
            "format": "int32"
          },
          "annotationVersion": {
            "type": "integer",
            "format": "int32"
          },
          "creationDate": {
            "type": "string",
            "format": "date-time"
          },
          "lastPublicationRevoked": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "lastPublication": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "creatorId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "creator": {
            "type": "string",
            "nullable": true
          },
          "isInProgress": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "FileHash": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "FileId": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "format": "uuid",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "FileLanguage": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "FileLanguageScore": {
        "type": "object",
        "properties": {
          "value": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "FileMeta": {
        "type": "object",
        "additionalProperties": false
      },
      "FileName": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "FileOriginalUploadPath": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "FilePageCount": {
        "type": "object",
        "properties": {
          "value": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "FileSuggestionsDto": {
        "type": "object",
        "properties": {
          "advisedDocumentClasses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AdvisedDocumentClassesDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FolderId": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "format": "uuid",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "FolderName": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "GroupDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "roleIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "nullable": true
          },
          "roleEntityItemMapping": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/AssignedEntityItemDto"
              },
              "nullable": true
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GroupRoleEntityPermission": {
        "type": "object",
        "properties": {
          "entityId": {
            "type": "string",
            "format": "uuid"
          },
          "groupId": {
            "type": "string",
            "format": "uuid"
          },
          "roleId": {
            "type": "string",
            "format": "uuid"
          },
          "entityPermissionId": {
            "type": "string",
            "format": "uuid"
          }
        },
        "additionalProperties": false
      },
      "GuidIdentity": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "format": "uuid",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "IAttributeValue": {
        "type": "object",
        "additionalProperties": false
      },
      "IFileLocationId": {
        "type": "object",
        "additionalProperties": false
      },
      "IndexDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "lastModified": {
            "type": "string",
            "format": "date-time"
          },
          "lastModifiedBy": {
            "type": "string",
            "format": "uuid"
          },
          "isPublic": {
            "type": "boolean"
          },
          "showOnlyElementsWithContent": {
            "type": "boolean"
          },
          "documentClassInViewHidden": {
            "type": "boolean"
          },
          "isSnapShotView": {
            "type": "boolean"
          },
          "isCompatibilityModeEnabled": {
            "type": "boolean"
          },
          "snapshotCreatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "IndexElementDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "indexElementId": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "nullable": true
            },
            "nullable": true
          },
          "description": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "nullable": true
            },
            "nullable": true
          },
          "index": {
            "type": "string",
            "nullable": true
          },
          "children": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "nullable": true
          },
          "indexElementChildren": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "documentClasses": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "nullable": true
          },
          "documentCollection": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "documentCollectionIndex": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "isLocked": {
            "type": "boolean"
          },
          "lastModifiedBy": {
            "type": "string",
            "nullable": true
          },
          "lastModifiedDate": {
            "type": "string",
            "format": "date-time"
          },
          "position": {
            "type": "integer",
            "format": "int32"
          },
          "isSubIndexElement": {
            "type": "boolean"
          },
          "isSystemElement": {
            "type": "boolean"
          },
          "attributeFilter": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/IndexElementFilterDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "IndexElementFilterDto": {
        "type": "object",
        "properties": {
          "filterId": {
            "type": "string",
            "format": "uuid"
          },
          "attributeId": {
            "type": "string",
            "format": "uuid"
          },
          "filterInstance": {
            "type": "string",
            "format": "uuid"
          },
          "values": {
            "type": "array",
            "items": { },
            "nullable": true
          },
          "filterCondition": {
            "$ref": "#/components/schemas/AttributeFilterCondition"
          }
        },
        "additionalProperties": false
      },
      "IndexElementId": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "format": "uuid",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "IndexId": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "format": "uuid",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "KeywordExtractionState": {
        "enum": [
          "Pending",
          "Succeed",
          "Error"
        ],
        "type": "string"
      },
      "LinkedFolder": {
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FolderId"
          },
          "indexElementId": {
            "$ref": "#/components/schemas/IndexElementId"
          },
          "indexId": {
            "$ref": "#/components/schemas/IndexId"
          },
          "entityId": {
            "$ref": "#/components/schemas/EntityId"
          },
          "locationId": {
            "$ref": "#/components/schemas/IFileLocationId"
          },
          "entityIndexElementId": {
            "$ref": "#/components/schemas/EntityIndexElementId"
          }
        },
        "additionalProperties": false
      },
      "LinkedIndexElement": {
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/IndexElementId"
          },
          "indexId": {
            "$ref": "#/components/schemas/IndexId"
          },
          "entityId": {
            "$ref": "#/components/schemas/EntityId"
          },
          "locationId": {
            "$ref": "#/components/schemas/IFileLocationId"
          },
          "entityIndexElementId": {
            "$ref": "#/components/schemas/EntityIndexElementId"
          }
        },
        "additionalProperties": false
      },
      "MultiLanguageDto": {
        "type": "object",
        "properties": {
          "values": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "nullable": true
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ParentEntityTypeDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "isAutomaticRelationEnabled": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "Permission": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "key": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PermissionSection": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "permissions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Permission"
            },
            "nullable": true
          },
          "id": {
            "type": "string",
            "format": "uuid"
          }
        },
        "additionalProperties": false
      },
      "PermissionsDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "level": {
            "$ref": "#/components/schemas/TaskLevel"
          },
          "sections": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PermissionSection"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PermittedEntitiesDto": {
        "type": "object",
        "properties": {
          "entityId": {
            "type": "string",
            "description": "The entity ID.",
            "format": "uuid"
          },
          "entityPermissionIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "List of permission IDs the user holds on this entity.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the permission IDs a user holds on a specific entity."
      },
      "RoleDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "taskIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "SuggestedDocumentClass": {
        "type": "object",
        "properties": {
          "documentClassId": {
            "$ref": "#/components/schemas/DocumentClassId"
          },
          "accuracy": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "TaskDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "level": {
            "$ref": "#/components/schemas/TaskLevel"
          },
          "color": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "assignedPermissions": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "nullable": true
          },
          "entityItemIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TaskLevel": {
        "enum": [
          "Application",
          "Entity",
          "Element"
        ],
        "type": "string"
      },
      "TemplateDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "entityTypeId": {
            "type": "string",
            "format": "uuid"
          },
          "attachedViews": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AttachedViewDto"
            },
            "nullable": true,
            "readOnly": true
          },
          "connectedEntitiesCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "UserDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "companyId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "surname": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "addressDto": {
            "$ref": "#/components/schemas/AddressDto"
          },
          "phone": {
            "type": "string",
            "nullable": true
          },
          "groupIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "nullable": true
          },
          "qAndAGroupId": {
            "type": "string",
            "nullable": true
          },
          "roleIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "nullable": true
          },
          "accountState": {
            "$ref": "#/components/schemas/AccountState"
          },
          "invitationExpirationDate": {
            "type": "string",
            "format": "date-time"
          },
          "jobTitle": {
            "type": "string",
            "nullable": true
          },
          "followAllEntities": {
            "type": "boolean"
          },
          "mfaEnabled": {
            "type": "boolean"
          },
          "lastActivityDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UserId": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "format": "uuid",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "UserRoleEntityPermission": {
        "type": "object",
        "properties": {
          "entityId": {
            "type": "string",
            "format": "uuid"
          },
          "userId": {
            "type": "string",
            "format": "uuid"
          },
          "roleId": {
            "type": "string",
            "format": "uuid"
          },
          "entityPermissionId": {
            "type": "string",
            "format": "uuid"
          }
        },
        "additionalProperties": false
      },
      "ValueRequestDto": {
        "required": [
          "value"
        ],
        "type": "object",
        "properties": {
          "value": {
            "minLength": 1,
            "type": "string",
            "description": "The value to set (e.g. a new name or attribute value)."
          }
        },
        "additionalProperties": false,
        "description": "Generic request body containing a single string value."
      }
    },
    "securitySchemes": {
      "Bearer": {
        "type": "oauth2",
        "description": "This API uses OAuth2 Client Credentials to authorize requests.",
        "flows": {
          "clientCredentials": {
            "tokenUrl": "https://docunite-prd.eu.auth0.com/oauth/token",
            "scopes": { }
          }
        }
      }
    }
  },
  "security": [
    {
      "Bearer": [ ]
    }
  ],
  "tags": [
    {
      "name": "Attribute",
      "description": "Get attributes and attribute list items."
    },
    {
      "name": "DocumentClass",
      "description": "Get available document classes."
    },
    {
      "name": "Entity",
      "description": "Entities can be assets, tenants, etc."
    },
    {
      "name": "EntityType",
      "description": "Get available entity types."
    },
    {
      "name": "File",
      "description": "Upload, rename, link and manage files."
    },
    {
      "name": "Folder",
      "description": "Get and manage folders."
    },
    {
      "name": "Index",
      "description": "Get indexes and index elements."
    },
    {
      "name": "Permission",
      "description": "Permissions with User, Group, Role and Task."
    },
    {
      "name": "Template",
      "description": "Get available templates."
    }
  ]
}