{"openapi":"3.0.0","paths":{"/v1/files":{"get":{"description":"Returns a list of top-level files and folders. Use the folderId query parameter to retrieve nested resources.","operationId":"/v1/files_get","parameters":[{"name":"folderId","required":false,"in":"query","description":"Set the internal folderId to receive items within a folder.","schema":{"type":"string"}},{"name":"isFolder","required":false,"in":"query","description":"Specifies whether or not the output of the received payload contains both files and folders, or only folders (if set to true)","schema":{"type":"boolean"}},{"name":"sortDirection","required":false,"in":"query","description":"Define the sort order of the received payload.","schema":{"type":"string","enum":["asc","desc"]}},{"name":"sortField","required":false,"in":"query","description":"Specify the field used for sorting.","schema":{"type":"string","enum":["name","size","updatedAt","createdAt"]}},{"name":"page","required":false,"in":"query","schema":{"type":"number"}},{"name":"limit","required":false,"in":"query","description":"Define how many items will be received in the payload per request.(default 20 items)","schema":{"type":"number"}},{"name":"search","required":false,"in":"query","description":"Allows to filter by the search phrase over name property.","schema":{"type":"string"}},{"name":"createdAtFrom","required":false,"in":"query","description":"Filter by createdAt date FROM the provided value as an ISO UTC string. Inclusive.","schema":{"format":"date-time","type":"string"}},{"name":"createdAtUntil","required":false,"in":"query","description":"Filter by createdAt date UNTIL the provided value as an ISO UTC string. Inclusive.","schema":{"format":"date-time","type":"string"}},{"name":"updatedAtFrom","required":false,"in":"query","description":"Filter by updatedAt date FROM the provided value as an ISO UTC string. Inclusive.","schema":{"format":"date-time","type":"string"}},{"name":"updatedAtUntil","required":false,"in":"query","description":"Filter by updatedAt date UNTIL the provided value as an ISO UTC string. Inclusive.","schema":{"format":"date-time","type":"string"}}],"responses":{"200":{"description":"\n    Returns list of top level files (and folders).\n    In order to get nested resources, please use folderId param.\n","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DriveFilesCfaFindManyResponseDto"}}}}},"400":{"description":"Missing or invalid required parameter/s"},"403":{"description":"Forbidden"}},"security":[{"authorization":[]}],"summary":"","tags":["files"],"x-controller-class":"DriveFilesCfaController"},"post":{"description":"Upload one or more files using multipart/form-data. Optionally specify a target folder via the metadata payload.","operationId":"/v1/files_post","parameters":[],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/DriveFilesCfaCreateFileMultipartBodyDto"}}}},"responses":{"201":{"description":"Files uploaded","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DriveFilesCfaResponseDto"}}}}},"400":{"description":"Missing or invalid required parameter/s"},"403":{"description":"Forbidden"},"409":{"description":"Duplicate asset serialNumber"}},"security":[{"authorization":[]}],"summary":"","tags":["files"],"x-controller-class":"DriveFilesCfaController"}},"/v1/files/resolve":{"get":{"description":"Resolve a file or folder by its slash-delimited path (e.g. \"Engineering/Specs/vacuum.pdf\") and return its metadata.","operationId":"/v1/files/resolve_get","parameters":[{"name":"path","required":true,"in":"query","description":"Slash-delimited path including the filename (e.g., \"Engineering/Specs/vacuum.pdf\"). Path must be URL-encoded.","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DriveFilesCfaResponseDto"}}}},"400":{"description":"Missing or invalid required parameter/s"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"}},"security":[{"authorization":[]}],"summary":"","tags":["files"],"x-controller-class":"DriveFilesCfaController"}},"/v1/files/{id}":{"get":{"description":"Retrieve the metadata of a single file or folder by its unique identifier.","operationId":"/v1/files/{id}_get","parameters":[{"name":"id","required":true,"in":"path","description":"Internal file id to receive metadata of a file.","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DriveFilesCfaResponseDto"}}}},"400":{"description":"Missing or invalid required parameter/s"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"}},"security":[{"authorization":[]}],"summary":"","tags":["files"],"x-controller-class":"DriveFilesCfaController"},"patch":{"description":"Update the metadata of a file or folder by its unique identifier.","operationId":"/v1/files/{id}_patch","parameters":[{"name":"id","required":true,"in":"path","description":"Internal file id to change the metadata for a file or folder.","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DriveFilesCfaUpdateOneBodyDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DriveFilesCfaResponseDto"}}}},"400":{"description":"Missing or invalid required parameter/s"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"409":{"description":"Duplicate asset serialNumber"}},"security":[{"authorization":[]}],"summary":"","tags":["files"],"x-controller-class":"DriveFilesCfaController"},"delete":{"description":"Delete a file or folder by its unique identifier. This is a cascading operation — all nested child items will also be permanently deleted.","operationId":"/v1/files/{id}_delete","parameters":[{"name":"id","required":true,"in":"path","description":"Internal id to delete a file or a folder. Caution: Deletion is a cascading operation so all child items will also be deleted.","schema":{"type":"string"}}],"responses":{"204":{"description":""},"400":{"description":"Missing or invalid required parameter/s"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"}},"security":[{"authorization":[]}],"summary":"","tags":["files"],"x-controller-class":"DriveFilesCfaController"}},"/v1/files/{id}/download":{"get":{"description":"Download the binary content of a file by its unique id.","operationId":"/v1/files/{id}/download_get","parameters":[{"name":"id","required":true,"in":"path","description":"Internal file id to receive just the binary of a file.","schema":{"type":"string"}}],"responses":{"200":{"description":""},"400":{"description":"Missing or invalid required parameter/s"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"}},"security":[{"authorization":[]}],"summary":"","tags":["files"],"x-controller-class":"DriveFilesCfaController"}},"/v1/files/folder":{"post":{"description":"Create a new folder. Optionally specify a parent folder to create a nested folder.","operationId":"/v1/files/folder_post","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DriveFilesCfaCreateFolderBodyDto"}}}},"responses":{"201":{"description":"Folder Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DriveFilesCfaResponseDto"}}}},"400":{"description":"Missing or invalid required parameter/s"},"403":{"description":"Forbidden"},"409":{"description":"Duplicate asset serialNumber"}},"security":[{"authorization":[]}],"summary":"","tags":["files"],"x-controller-class":"DriveFilesCfaController"}},"/v1/files/{id}/content":{"patch":{"description":"Replace the binary content of an existing file by its unique id.","operationId":"/v1/files/{id}/content_patch","parameters":[{"name":"id","required":true,"in":"path","description":"Internal file id to replace the binary of a file.","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary","description":"Replace the current binary of a file with a new binary."}}}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DriveFilesCfaResponseDto"}}}},"209":{"description":"The file was removed from AI Copilot"},"400":{"description":"Missing or invalid required parameter/s"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"}},"security":[{"authorization":[]}],"summary":"","tags":["files"],"x-controller-class":"DriveFilesCfaController"}}},"info":{"title":"Files","description":"The remberg Files API description","version":"v1","contact":{}},"tags":[],"servers":[{"url":"https://api.remberg.de"}],"components":{"securitySchemes":{"authorization":{"type":"apiKey","in":"header","name":"authorization"}},"schemas":{"DriveFilesCfaResponseDto":{"type":"object","properties":{"id":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"originalName":{"type":"string"},"name":{"type":"string"},"parentId":{"type":"string","description":"Object id of parent folder."},"ancestors":{"description":"Object ids of ancestor folders.","default":[],"type":"array","items":{"type":"string"}},"folderPath":{"description":"Name of parent folder.","type":"array","items":{"type":"string"}},"fileType":{"type":"string","description":"It is a mime type of a file or 'folder' in case of folder."},"description":{"type":"string"},"isFolder":{"type":"boolean"},"isPublic":{"type":"boolean"},"size":{"type":"number","default":0,"description":"Resource size in Bytes."},"associatedAssetNumber":{"type":"array","items":{"type":"string"}},"associatedAssetType":{"type":"array","items":{"type":"string"}},"aiKnowledgeBaseStatus":{"type":"object","description":"Indicates whether or not the file is added to the knowledge base."}},"required":["id","originalName","name","ancestors","fileType","isFolder","isPublic","size"]},"DriveFilesCfaFindManyResponseDto":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DriveFilesCfaResponseDto"}}},"required":["data"]},"DriveFilesCfaCreateFileMultipartBodyDto":{"type":"object","properties":{"isPublic":{"type":"boolean","default":false,"description":"If this parameter is set to true, the uploaded files will be visible in the portal."},"description":{"type":"string"},"parentId":{"type":"string","description":"Set the internal parentId to nest a file inside a folder."},"files":{"type":"array","items":{"type":"string","format":"binary"}},"assetType":{"type":"string","deprecated":true,"description":"Specify an assetType to assign a file to a specific category of assets. You can use assetTypes instead to assign multiple assetTypes"},"assetNumber":{"type":"string","deprecated":true,"description":"Specify an assetNumber and assetType to assign a file to a specific asset. You can use assetNumbers instead to assign multiple assets"},"assetTypes":{"description":"Specify a list of assetTypes to assign a file to them.","type":"array","items":{"type":"string"}},"assetNumbers":{"description":"Specify a list of assetNumbers to assign a file to them.","type":"array","items":{"type":"string"}},"isAddedToKnowledgeBase":{"type":"boolean","description":"Specify if the file should be added to the knowledge base for the AI Copilot."}},"required":["files"]},"DriveFilesCfaCreateFolderBodyDto":{"type":"object","properties":{"isPublic":{"type":"boolean","default":false,"description":"If this parameter is set to true, the folder will be visible in the portal."},"description":{"type":"string"},"parentId":{"type":"string","description":"Set the internal folderId to nest a folder inside a folder."},"name":{"type":"string","description":"Define the name of the new folder."},"assetType":{"type":"string","deprecated":true,"description":"Specify an assetType to assign a file to a specific category of assets. You can use assetTypes instead to assign multiple assetTypes"},"assetNumber":{"type":"string","deprecated":true,"description":"Specify an assetNumber and assetType to assign a file to a specific asset. You can use assetNumbers instead to assign multiple assets"},"assetTypes":{"description":"Specify a list of assetTypes to assign a folder to them.","type":"array","items":{"type":"string"}},"assetNumbers":{"description":"Specify a list of assetNumbers to assign a folder to them.","type":"array","items":{"type":"string"}}},"required":["name"]},"DriveFilesCfaUpdateOneBodyDto":{"type":"object","properties":{"name":{"type":"string","description":"Update the existing name."},"description":{"type":"string","description":"Update the existing description."},"isPublic":{"type":"boolean","description":"If this parameter is set to true, the uploaded files or folders will be visible in the portal."},"assetType":{"type":"string","deprecated":true,"description":"Update or add an AssetType assignment for a file or a folder.. You can use assetTypes instead to assign multiple assetTypes"},"assetNumber":{"type":"string","deprecated":true,"description":"Update or add an assetNumber and assetType assignment for a file or a folder. You can use assetNumbers instead to assign multiple assets"},"assetTypes":{"description":"Specify a list of assetTypes to assign a file to them.","type":"array","items":{"type":"string"}},"assetNumbers":{"description":"Specify a list of assetNumbers to assign a file to them.","type":"array","items":{"type":"string"}},"removeAssetTypes":{"description":"Specify a list of assetTypes to remove from a file assignment.","type":"array","items":{"type":"string"}},"removeAssetNumbers":{"description":"Specify a list of assetNumbers to remove from a file assignment.","type":"array","items":{"type":"string"}},"isAddedToKnowledgeBase":{"type":"boolean","description":"Specify if the file should be added to the knowledge base for the AI Copilot."}}}}}}