{ "openapi": "3.0.3", "info": { "title": "groupfolders", "version": "0.0.1", "description": "Admin configured folders shared with everyone in a team", "license": { "name": "agpl" } }, "components": { "securitySchemes": { "basic_auth": { "type": "http", "scheme": "basic" }, "bearer_auth": { "type": "http", "scheme": "bearer" } }, "schemas": { "AclManage": { "type": "object", "required": [ "displayname", "id", "type" ], "properties": { "displayname": { "type": "string" }, "id": { "type": "string" }, "type": { "type": "string", "enum": [ "user", "group", "circle" ] } } }, "Applicable": { "type": "object", "required": [ "displayName", "permissions", "type" ], "properties": { "displayName": { "type": "string" }, "permissions": { "type": "integer", "format": "int64" }, "type": { "type": "string", "enum": [ "group", "circle" ] } } }, "Capabilities": { "type": "object", "properties": { "groupfolders": { "type": "object", "required": [ "appVersion", "hasGroupFolders" ], "properties": { "appVersion": { "type": "string" }, "hasGroupFolders": { "type": "boolean" } } } } }, "Circle": { "type": "object", "required": [ "sid", "displayname" ], "properties": { "sid": { "type": "string" }, "displayname": { "type": "string" } } }, "DelegationCircle": { "type": "object", "required": [ "singleId", "displayName" ], "properties": { "singleId": { "type": "string" }, "displayName": { "type": "string" } } }, "DelegationGroup": { "type": "object", "required": [ "gid", "displayName" ], "properties": { "gid": { "type": "string" }, "displayName": { "type": "string" } } }, "Folder": { "type": "object", "required": [ "id", "mount_point", "group_details", "groups", "quota", "size", "acl", "manage" ], "properties": { "id": { "type": "integer", "format": "int64" }, "mount_point": { "type": "string" }, "group_details": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/Applicable" } }, "groups": { "type": "object", "additionalProperties": { "type": "integer", "format": "int64" } }, "quota": { "type": "integer", "format": "int64" }, "size": { "type": "integer", "format": "int64" }, "acl": { "type": "boolean" }, "manage": { "type": "array", "items": { "$ref": "#/components/schemas/AclManage" } }, "sortIndex": { "type": "integer", "format": "int64" } } }, "Group": { "type": "object", "required": [ "gid", "displayname" ], "properties": { "gid": { "type": "string" }, "displayname": { "type": "string" } } }, "OCSMeta": { "type": "object", "required": [ "status", "statuscode" ], "properties": { "status": { "type": "string" }, "statuscode": { "type": "integer" }, "message": { "type": "string" }, "totalitems": { "type": "string" }, "itemsperpage": { "type": "string" } } }, "User": { "type": "object", "required": [ "uid", "displayname" ], "properties": { "uid": { "type": "string" }, "displayname": { "type": "string" } } } } }, "paths": { "/index.php/apps/groupfolders/delegation/groups": { "get": { "operationId": "delegation-get-all-groups", "summary": "Returns the list of all groups", "tags": [ "delegation" ], "security": [ { "bearer_auth": [] }, { "basic_auth": [] } ], "parameters": [ { "name": "OCS-APIRequest", "in": "header", "description": "Required to be true for the API request to pass", "required": true, "schema": { "type": "boolean", "default": true } } ], "responses": { "200": { "description": "All groups returned", "content": { "application/json": { "schema": { "type": "object", "required": [ "ocs" ], "properties": { "ocs": { "type": "object", "required": [ "meta", "data" ], "properties": { "meta": { "$ref": "#/components/schemas/OCSMeta" }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/DelegationGroup" } } } } } } } } }, "401": { "description": "Current user is not logged in", "content": { "application/json": { "schema": { "type": "object", "required": [ "ocs" ], "properties": { "ocs": { "type": "object", "required": [ "meta", "data" ], "properties": { "meta": { "$ref": "#/components/schemas/OCSMeta" }, "data": {} } } } } } } } } } }, "/index.php/apps/groupfolders/delegation/circles": { "get": { "operationId": "delegation-get-all-circles", "summary": "Returns the list of all visible circles", "tags": [ "delegation" ], "security": [ { "bearer_auth": [] }, { "basic_auth": [] } ], "parameters": [ { "name": "OCS-APIRequest", "in": "header", "description": "Required to be true for the API request to pass", "required": true, "schema": { "type": "boolean", "default": true } } ], "responses": { "200": { "description": "All circles returned", "content": { "application/json": { "schema": { "type": "object", "required": [ "ocs" ], "properties": { "ocs": { "type": "object", "required": [ "meta", "data" ], "properties": { "meta": { "$ref": "#/components/schemas/OCSMeta" }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/DelegationCircle" } } } } } } } } }, "401": { "description": "Current user is not logged in", "content": { "application/json": { "schema": { "type": "object", "required": [ "ocs" ], "properties": { "ocs": { "type": "object", "required": [ "meta", "data" ], "properties": { "meta": { "$ref": "#/components/schemas/OCSMeta" }, "data": {} } } } } } } } } } }, "/index.php/apps/groupfolders/delegation/authorized-groups": { "get": { "operationId": "delegation-get-authorized-groups", "summary": "Get the list Groups related to classname.", "tags": [ "delegation" ], "security": [ { "bearer_auth": [] }, { "basic_auth": [] } ], "parameters": [ { "name": "classname", "in": "query", "description": "If the classname is - OCA\\GroupFolders\\Settings\\Admin : It's reference to fields in Admin Privileges. - OCA\\GroupFolders\\Controller\\DelegationController : It's just to specific the subadmins. They can only manage groupfolders in which they are added in the Advanced Permissions (groups only)", "schema": { "type": "string", "default": "" } }, { "name": "OCS-APIRequest", "in": "header", "description": "Required to be true for the API request to pass", "required": true, "schema": { "type": "boolean", "default": true } } ], "responses": { "200": { "description": "Authorized groups returned", "content": { "application/json": { "schema": { "type": "object", "required": [ "ocs" ], "properties": { "ocs": { "type": "object", "required": [ "meta", "data" ], "properties": { "meta": { "$ref": "#/components/schemas/OCSMeta" }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/DelegationGroup" } } } } } } } } }, "401": { "description": "Current user is not logged in", "content": { "application/json": { "schema": { "type": "object", "required": [ "ocs" ], "properties": { "ocs": { "type": "object", "required": [ "meta", "data" ], "properties": { "meta": { "$ref": "#/components/schemas/OCSMeta" }, "data": {} } } } } } } } } } }, "/index.php/apps/groupfolders/folders": { "get": { "operationId": "folder-get-folders", "summary": "Gets all Groupfolders", "tags": [ "folder" ], "security": [ { "bearer_auth": [] }, { "basic_auth": [] } ], "parameters": [ { "name": "applicable", "in": "query", "description": "Filter by applicable groups", "schema": { "type": "integer", "default": 0, "enum": [ 0, 1 ] } }, { "name": "offset", "in": "query", "description": "Number of items to skip.", "schema": { "type": "integer", "format": "int64", "default": 0, "minimum": 0 } }, { "name": "limit", "in": "query", "description": "Number of items to return.", "schema": { "type": "integer", "format": "int64", "nullable": true, "default": null, "minimum": 1 } }, { "name": "orderBy", "in": "query", "description": "The key to order by", "schema": { "type": "string", "default": "mount_point", "enum": [ "mount_point", "quota", "groups", "acl" ] } }, { "name": "order", "in": "query", "description": "Sort ascending or descending", "schema": { "type": "string", "default": "asc", "enum": [ "asc", "desc" ] } }, { "name": "OCS-APIRequest", "in": "header", "description": "Required to be true for the API request to pass", "required": true, "schema": { "type": "boolean", "default": true } } ], "responses": { "200": { "description": "Groupfolders returned", "content": { "application/json": { "schema": { "type": "object", "required": [ "ocs" ], "properties": { "ocs": { "type": "object", "required": [ "meta", "data" ], "properties": { "meta": { "$ref": "#/components/schemas/OCSMeta" }, "data": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/Folder" } } } } } } } } }, "404": { "description": "Storage not found", "content": { "application/json": { "schema": { "type": "object", "required": [ "ocs" ], "properties": { "ocs": { "type": "object", "required": [ "meta", "data" ], "properties": { "meta": { "$ref": "#/components/schemas/OCSMeta" }, "data": {} } } } } } } }, "400": { "description": "Wrong limit used", "content": { "application/json": { "schema": { "type": "object", "required": [ "ocs" ], "properties": { "ocs": { "type": "object", "required": [ "meta", "data" ], "properties": { "meta": { "$ref": "#/components/schemas/OCSMeta" }, "data": {} } } } } } } }, "401": { "description": "Current user is not logged in", "content": { "application/json": { "schema": { "type": "object", "required": [ "ocs" ], "properties": { "ocs": { "type": "object", "required": [ "meta", "data" ], "properties": { "meta": { "$ref": "#/components/schemas/OCSMeta" }, "data": {} } } } } } } } } }, "post": { "operationId": "folder-add-folder", "summary": "Add a new Groupfolder", "description": "This endpoint requires password confirmation", "tags": [ "folder" ], "security": [ { "bearer_auth": [] }, { "basic_auth": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "required": [ "mountpoint" ], "properties": { "mountpoint": { "type": "string", "description": "Mountpoint of the new Groupfolder" }, "bucket": { "type": "string", "nullable": true, "default": null, "description": "Overwrite the object store bucket to use for the folder" } } } } } }, "parameters": [ { "name": "OCS-APIRequest", "in": "header", "description": "Required to be true for the API request to pass", "required": true, "schema": { "type": "boolean", "default": true } } ], "responses": { "200": { "description": "Groupfolder added successfully", "content": { "application/json": { "schema": { "type": "object", "required": [ "ocs" ], "properties": { "ocs": { "type": "object", "required": [ "meta", "data" ], "properties": { "meta": { "$ref": "#/components/schemas/OCSMeta" }, "data": { "$ref": "#/components/schemas/Folder" } } } } } } } }, "404": { "description": "Groupfolder not found", "content": { "application/json": { "schema": { "type": "object", "required": [ "ocs" ], "properties": { "ocs": { "type": "object", "required": [ "meta", "data" ], "properties": { "meta": { "$ref": "#/components/schemas/OCSMeta" }, "data": {} } } } } } } }, "400": { "description": "Folder already exists", "content": { "application/json": { "schema": { "type": "object", "required": [ "ocs" ], "properties": { "ocs": { "type": "object", "required": [ "meta", "data" ], "properties": { "meta": { "$ref": "#/components/schemas/OCSMeta" }, "data": {} } } } } } } }, "401": { "description": "Current user is not logged in", "content": { "application/json": { "schema": { "type": "object", "required": [ "ocs" ], "properties": { "ocs": { "type": "object", "required": [ "meta", "data" ], "properties": { "meta": { "$ref": "#/components/schemas/OCSMeta" }, "data": {} } } } } } } } } } }, "/index.php/apps/groupfolders/folders/{id}": { "get": { "operationId": "folder-get-folder", "summary": "Gets a Groupfolder by ID", "tags": [ "folder" ], "security": [ { "bearer_auth": [] }, { "basic_auth": [] } ], "parameters": [ { "name": "id", "in": "path", "description": "ID of the Groupfolder", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "OCS-APIRequest", "in": "header", "description": "Required to be true for the API request to pass", "required": true, "schema": { "type": "boolean", "default": true } } ], "responses": { "200": { "description": "Groupfolder returned", "content": { "application/json": { "schema": { "type": "object", "required": [ "ocs" ], "properties": { "ocs": { "type": "object", "required": [ "meta", "data" ], "properties": { "meta": { "$ref": "#/components/schemas/OCSMeta" }, "data": { "$ref": "#/components/schemas/Folder" } } } } } } } }, "404": { "description": "Groupfolder not found", "content": { "application/json": { "schema": { "type": "object", "required": [ "ocs" ], "properties": { "ocs": { "type": "object", "required": [ "meta", "data" ], "properties": { "meta": { "$ref": "#/components/schemas/OCSMeta" }, "data": {} } } } } } } }, "401": { "description": "Current user is not logged in", "content": { "application/json": { "schema": { "type": "object", "required": [ "ocs" ], "properties": { "ocs": { "type": "object", "required": [ "meta", "data" ], "properties": { "meta": { "$ref": "#/components/schemas/OCSMeta" }, "data": {} } } } } } } } } }, "delete": { "operationId": "folder-remove-folder", "summary": "Remove a Groupfolder", "description": "This endpoint requires password confirmation", "tags": [ "folder" ], "security": [ { "bearer_auth": [] }, { "basic_auth": [] } ], "parameters": [ { "name": "id", "in": "path", "description": "ID of the Groupfolder", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "OCS-APIRequest", "in": "header", "description": "Required to be true for the API request to pass", "required": true, "schema": { "type": "boolean", "default": true } } ], "responses": { "200": { "description": "Groupfolder removed successfully", "content": { "application/json": { "schema": { "type": "object", "required": [ "ocs" ], "properties": { "ocs": { "type": "object", "required": [ "meta", "data" ], "properties": { "meta": { "$ref": "#/components/schemas/OCSMeta" }, "data": { "type": "object", "required": [ "success" ], "properties": { "success": { "type": "boolean", "enum": [ true ] } } } } } } } } } }, "404": { "description": "Groupfolder not found", "content": { "application/json": { "schema": { "type": "object", "required": [ "ocs" ], "properties": { "ocs": { "type": "object", "required": [ "meta", "data" ], "properties": { "meta": { "$ref": "#/components/schemas/OCSMeta" }, "data": {} } } } } } } }, "401": { "description": "Current user is not logged in", "content": { "application/json": { "schema": { "type": "object", "required": [ "ocs" ], "properties": { "ocs": { "type": "object", "required": [ "meta", "data" ], "properties": { "meta": { "$ref": "#/components/schemas/OCSMeta" }, "data": {} } } } } } } } } }, "put": { "operationId": "folder-set-mount-point", "summary": "Set the mount point of a Groupfolder", "description": "This endpoint requires password confirmation", "tags": [ "folder" ], "security": [ { "bearer_auth": [] }, { "basic_auth": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "required": [ "mountPoint" ], "properties": { "mountPoint": { "type": "string", "description": "New mount point path" } } } } } }, "parameters": [ { "name": "id", "in": "path", "description": "ID of the Groupfolder", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "OCS-APIRequest", "in": "header", "description": "Required to be true for the API request to pass", "required": true, "schema": { "type": "boolean", "default": true } } ], "responses": { "200": { "description": "Mount point changed successfully", "content": { "application/json": { "schema": { "type": "object", "required": [ "ocs" ], "properties": { "ocs": { "type": "object", "required": [ "meta", "data" ], "properties": { "meta": { "$ref": "#/components/schemas/OCSMeta" }, "data": { "type": "object", "required": [ "success", "folder" ], "properties": { "success": { "type": "boolean", "enum": [ true ] }, "folder": { "$ref": "#/components/schemas/Folder" } } } } } } } } } }, "404": { "description": "Groupfolder not found", "content": { "application/json": { "schema": { "type": "object", "required": [ "ocs" ], "properties": { "ocs": { "type": "object", "required": [ "meta", "data" ], "properties": { "meta": { "$ref": "#/components/schemas/OCSMeta" }, "data": {} } } } } } } }, "400": { "description": "Mount point already exists", "content": { "application/json": { "schema": { "type": "object", "required": [ "ocs" ], "properties": { "ocs": { "type": "object", "required": [ "meta", "data" ], "properties": { "meta": { "$ref": "#/components/schemas/OCSMeta" }, "data": {} } } } } } } }, "401": { "description": "Current user is not logged in", "content": { "application/json": { "schema": { "type": "object", "required": [ "ocs" ], "properties": { "ocs": { "type": "object", "required": [ "meta", "data" ], "properties": { "meta": { "$ref": "#/components/schemas/OCSMeta" }, "data": {} } } } } } } } } } }, "/index.php/apps/groupfolders/folders/{id}/groups": { "post": { "operationId": "folder-add-group", "summary": "Add access of a group for a Groupfolder", "description": "This endpoint requires password confirmation", "tags": [ "folder" ], "security": [ { "bearer_auth": [] }, { "basic_auth": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "required": [ "group" ], "properties": { "group": { "type": "string", "description": "Group to add access for" } } } } } }, "parameters": [ { "name": "id", "in": "path", "description": "ID of the Groupfolder", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "OCS-APIRequest", "in": "header", "description": "Required to be true for the API request to pass", "required": true, "schema": { "type": "boolean", "default": true } } ], "responses": { "200": { "description": "Group access added successfully", "content": { "application/json": { "schema": { "type": "object", "required": [ "ocs" ], "properties": { "ocs": { "type": "object", "required": [ "meta", "data" ], "properties": { "meta": { "$ref": "#/components/schemas/OCSMeta" }, "data": { "type": "object", "required": [ "success", "folder" ], "properties": { "success": { "type": "boolean", "enum": [ true ] }, "folder": { "$ref": "#/components/schemas/Folder" } } } } } } } } } }, "404": { "description": "Groupfolder not found", "content": { "application/json": { "schema": { "type": "object", "required": [ "ocs" ], "properties": { "ocs": { "type": "object", "required": [ "meta", "data" ], "properties": { "meta": { "$ref": "#/components/schemas/OCSMeta" }, "data": {} } } } } } } }, "401": { "description": "Current user is not logged in", "content": { "application/json": { "schema": { "type": "object", "required": [ "ocs" ], "properties": { "ocs": { "type": "object", "required": [ "meta", "data" ], "properties": { "meta": { "$ref": "#/components/schemas/OCSMeta" }, "data": {} } } } } } } } } } }, "/index.php/apps/groupfolders/folders/{id}/groups/{group}": { "delete": { "operationId": "folder-remove-group", "summary": "Remove access of a group from a Groupfolder", "description": "This endpoint requires password confirmation", "tags": [ "folder" ], "security": [ { "bearer_auth": [] }, { "basic_auth": [] } ], "parameters": [ { "name": "id", "in": "path", "description": "ID of the Groupfolder", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "group", "in": "path", "description": "Group to remove access from", "required": true, "schema": { "type": "string", "pattern": "^.+$" } }, { "name": "OCS-APIRequest", "in": "header", "description": "Required to be true for the API request to pass", "required": true, "schema": { "type": "boolean", "default": true } } ], "responses": { "200": { "description": "Group access removed successfully", "content": { "application/json": { "schema": { "type": "object", "required": [ "ocs" ], "properties": { "ocs": { "type": "object", "required": [ "meta", "data" ], "properties": { "meta": { "$ref": "#/components/schemas/OCSMeta" }, "data": { "type": "object", "required": [ "success", "folder" ], "properties": { "success": { "type": "boolean", "enum": [ true ] }, "folder": { "$ref": "#/components/schemas/Folder" } } } } } } } } } }, "404": { "description": "Groupfolder not found", "content": { "application/json": { "schema": { "type": "object", "required": [ "ocs" ], "properties": { "ocs": { "type": "object", "required": [ "meta", "data" ], "properties": { "meta": { "$ref": "#/components/schemas/OCSMeta" }, "data": {} } } } } } } }, "401": { "description": "Current user is not logged in", "content": { "application/json": { "schema": { "type": "object", "required": [ "ocs" ], "properties": { "ocs": { "type": "object", "required": [ "meta", "data" ], "properties": { "meta": { "$ref": "#/components/schemas/OCSMeta" }, "data": {} } } } } } } } } }, "post": { "operationId": "folder-set-permissions", "summary": "Set the permissions of a group for a Groupfolder", "description": "This endpoint requires password confirmation", "tags": [ "folder" ], "security": [ { "bearer_auth": [] }, { "basic_auth": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "required": [ "permissions" ], "properties": { "permissions": { "type": "integer", "format": "int64", "description": "New permissions" } } } } } }, "parameters": [ { "name": "id", "in": "path", "description": "ID of the Groupfolder", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "group", "in": "path", "description": "Group for which the permissions will be set", "required": true, "schema": { "type": "string", "pattern": "^.+$" } }, { "name": "OCS-APIRequest", "in": "header", "description": "Required to be true for the API request to pass", "required": true, "schema": { "type": "boolean", "default": true } } ], "responses": { "200": { "description": "Permissions updated successfully", "content": { "application/json": { "schema": { "type": "object", "required": [ "ocs" ], "properties": { "ocs": { "type": "object", "required": [ "meta", "data" ], "properties": { "meta": { "$ref": "#/components/schemas/OCSMeta" }, "data": { "type": "object", "required": [ "success", "folder" ], "properties": { "success": { "type": "boolean", "enum": [ true ] }, "folder": { "$ref": "#/components/schemas/Folder" } } } } } } } } } }, "404": { "description": "Groupfolder not found", "content": { "application/json": { "schema": { "type": "object", "required": [ "ocs" ], "properties": { "ocs": { "type": "object", "required": [ "meta", "data" ], "properties": { "meta": { "$ref": "#/components/schemas/OCSMeta" }, "data": {} } } } } } } }, "401": { "description": "Current user is not logged in", "content": { "application/json": { "schema": { "type": "object", "required": [ "ocs" ], "properties": { "ocs": { "type": "object", "required": [ "meta", "data" ], "properties": { "meta": { "$ref": "#/components/schemas/OCSMeta" }, "data": {} } } } } } } } } } }, "/index.php/apps/groupfolders/folders/{id}/manageACL": { "post": { "operationId": "folder-set-manageacl", "summary": "Updates an ACL mapping", "description": "This endpoint requires password confirmation", "tags": [ "folder" ], "security": [ { "bearer_auth": [] }, { "basic_auth": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "required": [ "mappingType", "mappingId", "manageAcl" ], "properties": { "mappingType": { "type": "string", "description": "Type of the ACL mapping" }, "mappingId": { "type": "string", "description": "ID of the ACL mapping" }, "manageAcl": { "type": "boolean", "description": "Whether to enable or disable the ACL mapping" } } } } } }, "parameters": [ { "name": "id", "in": "path", "description": "ID of the Groupfolder", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "OCS-APIRequest", "in": "header", "description": "Required to be true for the API request to pass", "required": true, "schema": { "type": "boolean", "default": true } } ], "responses": { "200": { "description": "ACL mapping updated successfully", "content": { "application/json": { "schema": { "type": "object", "required": [ "ocs" ], "properties": { "ocs": { "type": "object", "required": [ "meta", "data" ], "properties": { "meta": { "$ref": "#/components/schemas/OCSMeta" }, "data": { "type": "object", "required": [ "success", "folder" ], "properties": { "success": { "type": "boolean", "enum": [ true ] }, "folder": { "$ref": "#/components/schemas/Folder" } } } } } } } } } }, "404": { "description": "Groupfolder not found", "content": { "application/json": { "schema": { "type": "object", "required": [ "ocs" ], "properties": { "ocs": { "type": "object", "required": [ "meta", "data" ], "properties": { "meta": { "$ref": "#/components/schemas/OCSMeta" }, "data": {} } } } } } } }, "401": { "description": "Current user is not logged in", "content": { "application/json": { "schema": { "type": "object", "required": [ "ocs" ], "properties": { "ocs": { "type": "object", "required": [ "meta", "data" ], "properties": { "meta": { "$ref": "#/components/schemas/OCSMeta" }, "data": {} } } } } } } } } } }, "/index.php/apps/groupfolders/folders/{id}/quota": { "post": { "operationId": "folder-set-quota", "summary": "Set a new quota for a Groupfolder", "description": "This endpoint requires password confirmation", "tags": [ "folder" ], "security": [ { "bearer_auth": [] }, { "basic_auth": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "required": [ "quota" ], "properties": { "quota": { "type": "integer", "format": "int64", "description": "New quota in bytes" } } } } } }, "parameters": [ { "name": "id", "in": "path", "description": "ID of the Groupfolder", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "OCS-APIRequest", "in": "header", "description": "Required to be true for the API request to pass", "required": true, "schema": { "type": "boolean", "default": true } } ], "responses": { "200": { "description": "New quota set successfully", "content": { "application/json": { "schema": { "type": "object", "required": [ "ocs" ], "properties": { "ocs": { "type": "object", "required": [ "meta", "data" ], "properties": { "meta": { "$ref": "#/components/schemas/OCSMeta" }, "data": { "type": "object", "required": [ "success", "folder" ], "properties": { "success": { "type": "boolean", "enum": [ true ] }, "folder": { "$ref": "#/components/schemas/Folder" } } } } } } } } } }, "404": { "description": "Groupfolder not found", "content": { "application/json": { "schema": { "type": "object", "required": [ "ocs" ], "properties": { "ocs": { "type": "object", "required": [ "meta", "data" ], "properties": { "meta": { "$ref": "#/components/schemas/OCSMeta" }, "data": {} } } } } } } }, "401": { "description": "Current user is not logged in", "content": { "application/json": { "schema": { "type": "object", "required": [ "ocs" ], "properties": { "ocs": { "type": "object", "required": [ "meta", "data" ], "properties": { "meta": { "$ref": "#/components/schemas/OCSMeta" }, "data": {} } } } } } } } } } }, "/index.php/apps/groupfolders/folders/{id}/acl": { "post": { "operationId": "folder-setacl", "summary": "Toggle the ACL for a Groupfolder", "description": "This endpoint requires password confirmation", "tags": [ "folder" ], "security": [ { "bearer_auth": [] }, { "basic_auth": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "required": [ "acl" ], "properties": { "acl": { "type": "boolean", "description": "Whether ACL should be enabled or not" } } } } } }, "parameters": [ { "name": "id", "in": "path", "description": "ID of the Groupfolder", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "OCS-APIRequest", "in": "header", "description": "Required to be true for the API request to pass", "required": true, "schema": { "type": "boolean", "default": true } } ], "responses": { "200": { "description": "ACL toggled successfully", "content": { "application/json": { "schema": { "type": "object", "required": [ "ocs" ], "properties": { "ocs": { "type": "object", "required": [ "meta", "data" ], "properties": { "meta": { "$ref": "#/components/schemas/OCSMeta" }, "data": { "type": "object", "required": [ "success", "folder" ], "properties": { "success": { "type": "boolean", "enum": [ true ] }, "folder": { "$ref": "#/components/schemas/Folder" } } } } } } } } } }, "404": { "description": "Groupfolder not found", "content": { "application/json": { "schema": { "type": "object", "required": [ "ocs" ], "properties": { "ocs": { "type": "object", "required": [ "meta", "data" ], "properties": { "meta": { "$ref": "#/components/schemas/OCSMeta" }, "data": {} } } } } } } }, "401": { "description": "Current user is not logged in", "content": { "application/json": { "schema": { "type": "object", "required": [ "ocs" ], "properties": { "ocs": { "type": "object", "required": [ "meta", "data" ], "properties": { "meta": { "$ref": "#/components/schemas/OCSMeta" }, "data": {} } } } } } } } } } }, "/index.php/apps/groupfolders/folders/{id}/mountpoint": { "post": { "operationId": "folder-rename-folder", "summary": "Rename a Groupfolder", "description": "This endpoint requires password confirmation", "tags": [ "folder" ], "security": [ { "bearer_auth": [] }, { "basic_auth": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "required": [ "mountpoint" ], "properties": { "mountpoint": { "type": "string", "description": "New Mountpoint of the Groupfolder" } } } } } }, "parameters": [ { "name": "id", "in": "path", "description": "ID of the Groupfolder", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "OCS-APIRequest", "in": "header", "description": "Required to be true for the API request to pass", "required": true, "schema": { "type": "boolean", "default": true } } ], "responses": { "200": { "description": "Groupfolder renamed successfully", "content": { "application/json": { "schema": { "type": "object", "required": [ "ocs" ], "properties": { "ocs": { "type": "object", "required": [ "meta", "data" ], "properties": { "meta": { "$ref": "#/components/schemas/OCSMeta" }, "data": { "type": "object", "required": [ "success", "folder" ], "properties": { "success": { "type": "boolean", "enum": [ true ] }, "folder": { "$ref": "#/components/schemas/Folder" } } } } } } } } } }, "404": { "description": "Groupfolder not found", "content": { "application/json": { "schema": { "type": "object", "required": [ "ocs" ], "properties": { "ocs": { "type": "object", "required": [ "meta", "data" ], "properties": { "meta": { "$ref": "#/components/schemas/OCSMeta" }, "data": {} } } } } } } }, "400": { "description": "Mount point already exists or invalid mount point provided", "content": { "application/json": { "schema": { "type": "object", "required": [ "ocs" ], "properties": { "ocs": { "type": "object", "required": [ "meta", "data" ], "properties": { "meta": { "$ref": "#/components/schemas/OCSMeta" }, "data": {} } } } } } } }, "401": { "description": "Current user is not logged in", "content": { "application/json": { "schema": { "type": "object", "required": [ "ocs" ], "properties": { "ocs": { "type": "object", "required": [ "meta", "data" ], "properties": { "meta": { "$ref": "#/components/schemas/OCSMeta" }, "data": {} } } } } } } } } } }, "/index.php/apps/groupfolders/folders/{id}/search": { "get": { "operationId": "folder-acl-mapping-search", "summary": "Searches for matching ACL mappings", "tags": [ "folder" ], "security": [ { "bearer_auth": [] }, { "basic_auth": [] } ], "parameters": [ { "name": "id", "in": "path", "description": "The ID of the Groupfolder", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "search", "in": "query", "description": "String to search by", "schema": { "type": "string", "default": "" } }, { "name": "OCS-APIRequest", "in": "header", "description": "Required to be true for the API request to pass", "required": true, "schema": { "type": "boolean", "default": true } } ], "responses": { "200": { "description": "ACL Mappings returned", "content": { "application/json": { "schema": { "type": "object", "required": [ "ocs" ], "properties": { "ocs": { "type": "object", "required": [ "meta", "data" ], "properties": { "meta": { "$ref": "#/components/schemas/OCSMeta" }, "data": { "type": "object", "required": [ "users", "groups", "circles" ], "properties": { "users": { "type": "array", "items": { "$ref": "#/components/schemas/User" } }, "groups": { "type": "array", "items": { "$ref": "#/components/schemas/Group" } }, "circles": { "type": "array", "items": { "$ref": "#/components/schemas/Circle" } } } } } } } } } } }, "403": { "description": "Not allowed to search", "content": { "application/json": { "schema": { "type": "object", "required": [ "ocs" ], "properties": { "ocs": { "type": "object", "required": [ "meta", "data" ], "properties": { "meta": { "$ref": "#/components/schemas/OCSMeta" }, "data": {} } } } } } } }, "401": { "description": "Current user is not logged in", "content": { "application/json": { "schema": { "type": "object", "required": [ "ocs" ], "properties": { "ocs": { "type": "object", "required": [ "meta", "data" ], "properties": { "meta": { "$ref": "#/components/schemas/OCSMeta" }, "data": {} } } } } } } } } } } }, "tags": [] }