diff options
author | provokateurin <kate@provokateurin.de> | 2025-03-24 16:20:37 +0100 |
---|---|---|
committer | provokateurin <kate@provokateurin.de> | 2025-03-24 16:38:17 +0100 |
commit | 95df18959596f9fe0558c66434befdcd7e9fb043 (patch) | |
tree | 2689495c5fdf7a2ea6f4c2e652b46b771427968a | |
parent | 3732be59fd5835e5329c6cf7fab6ee273830712d (diff) | |
download | nextcloud-server-95df18959596f9fe0558c66434befdcd7e9fb043.tar.gz nextcloud-server-95df18959596f9fe0558c66434befdcd7e9fb043.zip |
feat(openapi): Generate merged spec for all appsfeat/openapi/merged-spec
Signed-off-by: provokateurin <kate@provokateurin.de>
-rw-r--r-- | .reuse/dep5 | 4 | ||||
-rw-r--r-- | build/files-checker.php | 1 | ||||
-rwxr-xr-x | build/openapi-checker.sh | 13 | ||||
-rw-r--r-- | openapi.json | 30702 |
4 files changed, 30720 insertions, 0 deletions
diff --git a/.reuse/dep5 b/.reuse/dep5 index e672422e852..3f94054f96d 100644 --- a/.reuse/dep5 +++ b/.reuse/dep5 @@ -342,3 +342,7 @@ License: CC0-1.0 Files: apps/theming/fonts/OpenDyslexic-Bold.otf apps/theming/fonts/OpenDyslexic-Regular.otf Copyright: 2012-2019 Abbie Gonzalez <https://abbiecod.es|support@abbiecod.es>, with Reserved Font Name OpenDyslexic. License: OFL-1.1-RFN + +Files: openapi.json +Copyright: 2025 Nextcloud GmbH and Nextcloud contributors +License: AGPL-3.0-or-later diff --git a/build/files-checker.php b/build/files-checker.php index 37f58650025..58a97848cec 100644 --- a/build/files-checker.php +++ b/build/files-checker.php @@ -69,6 +69,7 @@ $expectedFiles = [ 'occ', 'ocs', 'ocs-provider', + 'openapi.json', 'package-lock.json', 'package.json', 'psalm-ncu.xml', diff --git a/build/openapi-checker.sh b/build/openapi-checker.sh index 95a8a1bd895..9e4a4802b25 100755 --- a/build/openapi-checker.sh +++ b/build/openapi-checker.sh @@ -3,12 +3,25 @@ # SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors # SPDX-License-Identifier: AGPL-3.0-or-later +specs=() for path in core apps/*; do if [ ! -f "$path/.noopenapi" ] && [[ "$(git check-ignore "$path")" != "$path" ]]; then composer exec generate-spec "$path" "$path/openapi.json" || exit 1 + if [[ "$(basename "$path")" != "core" ]]; then + if [ -f "$path/openapi-full.json" ]; then + specs+=("$path/openapi-full.json") + else + specs+=("$path/openapi.json") + fi; + fi; fi done +composer exec merge-specs -- \ + --core core/openapi-full.json \ + --merged openapi.json \ + "${specs[@]}" + files="$(git ls-files --exclude-standard --modified --others)" changed=false for file in $files; do diff --git a/openapi.json b/openapi.json new file mode 100644 index 00000000000..ff87fc71c7a --- /dev/null +++ b/openapi.json @@ -0,0 +1,30702 @@ +{ + "openapi": "3.0.3", + "info": { + "title": "nextcloud", + "description": "Nextcloud APIs", + "license": { + "name": "agpl" + }, + "version": "0.0.1" + }, + "security": [ + { + "basic_auth": [] + }, + { + "bearer_auth": [] + } + ], + "tags": [ + { + "name": "core-full/avatar", + "description": "Class AvatarController" + }, + { + "name": "core-full/guest_avatar", + "description": "This controller handles guest avatar requests." + }, + { + "name": "core-full/ocm", + "description": "Controller about the endpoint /ocm-provider/" + }, + { + "name": "cloud_federation_api/request_handler", + "description": "Open-Cloud-Mesh-API" + }, + { + "name": "federatedfilesharing/mount_public_link", + "description": "Class MountPublicLinkController convert public links to federated shares" + }, + { + "name": "federation-full/ocs_authapi", + "description": "Class OCSAuthAPI OCS API end-points to exchange shared secret between two connected Nextclouds" + }, + { + "name": "theming/theming", + "description": "Class ThemingController handle ajax requests to update the theme" + } + ], + "components": { + "securitySchemes": { + "basic_auth": { + "type": "http", + "scheme": "basic" + }, + "bearer_auth": { + "type": "http", + "scheme": "bearer" + } + }, + "schemas": { + "Core-fullAutocompleteResult": { + "type": "object", + "required": [ + "id", + "label", + "icon", + "source", + "status", + "subline", + "shareWithDisplayNameUnique" + ], + "properties": { + "id": { + "type": "string" + }, + "label": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "source": { + "type": "string" + }, + "status": { + "oneOf": [ + { + "type": "object", + "required": [ + "status", + "message", + "icon", + "clearAt" + ], + "properties": { + "status": { + "type": "string" + }, + "message": { + "type": "string", + "nullable": true + }, + "icon": { + "type": "string", + "nullable": true + }, + "clearAt": { + "type": "integer", + "format": "int64", + "nullable": true + } + } + }, + { + "type": "string" + } + ] + }, + "subline": { + "type": "string" + }, + "shareWithDisplayNameUnique": { + "type": "string" + } + } + }, + "Core-fullCapabilities": { + "type": "object", + "required": [ + "core" + ], + "properties": { + "core": { + "type": "object", + "required": [ + "pollinterval", + "webdav-root", + "reference-api", + "reference-regex", + "mod-rewrite-working" + ], + "properties": { + "pollinterval": { + "type": "integer", + "format": "int64" + }, + "webdav-root": { + "type": "string" + }, + "reference-api": { + "type": "boolean" + }, + "reference-regex": { + "type": "string" + }, + "mod-rewrite-working": { + "type": "boolean" + } + } + } + } + }, + "Core-fullCollection": { + "type": "object", + "required": [ + "id", + "name", + "resources" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64" + }, + "name": { + "type": "string" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Core-fullResource" + } + } + } + }, + "Core-fullContactsAction": { + "type": "object", + "required": [ + "title", + "icon", + "hyperlink", + "appId" + ], + "properties": { + "title": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "hyperlink": { + "type": "string" + }, + "appId": { + "type": "string" + } + } + }, + "Core-fullLoginFlowV2": { + "type": "object", + "required": [ + "poll", + "login" + ], + "properties": { + "poll": { + "type": "object", + "required": [ + "token", + "endpoint" + ], + "properties": { + "token": { + "type": "string" + }, + "endpoint": { + "type": "string" + } + } + }, + "login": { + "type": "string" + } + } + }, + "Core-fullLoginFlowV2Credentials": { + "type": "object", + "required": [ + "server", + "loginName", + "appPassword" + ], + "properties": { + "server": { + "type": "string" + }, + "loginName": { + "type": "string" + }, + "appPassword": { + "type": "string" + } + } + }, + "Core-fullNavigationEntry": { + "type": "object", + "required": [ + "id", + "href", + "icon", + "type", + "name", + "active", + "classes", + "unread" + ], + "properties": { + "id": { + "type": "string" + }, + "order": { + "type": "integer", + "format": "int64" + }, + "href": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "type": { + "type": "string" + }, + "name": { + "type": "string" + }, + "app": { + "type": "string" + }, + "default": { + "type": "boolean" + }, + "active": { + "type": "boolean" + }, + "classes": { + "type": "string" + }, + "unread": { + "type": "integer", + "format": "int64" + } + } + }, + "OCSMeta": { + "type": "object", + "required": [ + "status", + "statuscode" + ], + "properties": { + "status": { + "type": "string" + }, + "statuscode": { + "type": "integer" + }, + "message": { + "type": "string" + }, + "totalitems": { + "type": "string" + }, + "itemsperpage": { + "type": "string" + } + } + }, + "Core-fullOpenGraphObject": { + "type": "object", + "required": [ + "id", + "name", + "description", + "thumb", + "link" + ], + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string", + "nullable": true + }, + "thumb": { + "type": "string", + "nullable": true + }, + "link": { + "type": "string" + } + } + }, + "Core-fullPublicCapabilities": { + "type": "object", + "required": [ + "bruteforce" + ], + "properties": { + "bruteforce": { + "type": "object", + "required": [ + "delay", + "allow-listed" + ], + "properties": { + "delay": { + "type": "integer", + "format": "int64" + }, + "allow-listed": { + "type": "boolean" + } + } + } + } + }, + "Core-fullReference": { + "type": "object", + "required": [ + "richObjectType", + "richObject", + "openGraphObject", + "accessible" + ], + "properties": { + "richObjectType": { + "type": "string" + }, + "richObject": { + "type": "object", + "additionalProperties": { + "type": "object", + "nullable": true + } + }, + "openGraphObject": { + "$ref": "#/components/schemas/Core-fullOpenGraphObject" + }, + "accessible": { + "type": "boolean" + } + } + }, + "Core-fullReferenceProvider": { + "type": "object", + "required": [ + "id", + "title", + "icon_url", + "order", + "search_providers_ids" + ], + "properties": { + "id": { + "type": "string" + }, + "title": { + "type": "string" + }, + "icon_url": { + "type": "string" + }, + "order": { + "type": "integer", + "format": "int64" + }, + "search_providers_ids": { + "type": "array", + "nullable": true, + "items": { + "type": "string" + } + } + } + }, + "Core-fullResource": { + "type": "object", + "required": [ + "richObjectType", + "richObject", + "openGraphObject", + "accessible" + ], + "properties": { + "richObjectType": { + "type": "string" + }, + "richObject": { + "type": "object", + "additionalProperties": { + "type": "object", + "nullable": true + } + }, + "openGraphObject": { + "$ref": "#/components/schemas/Core-fullOpenGraphObject" + }, + "accessible": { + "type": "boolean" + } + } + }, + "Core-fullStatus": { + "type": "object", + "required": [ + "installed", + "maintenance", + "needsDbUpgrade", + "version", + "versionstring", + "edition", + "productname", + "extendedSupport" + ], + "properties": { + "installed": { + "type": "boolean" + }, + "maintenance": { + "type": "boolean" + }, + "needsDbUpgrade": { + "type": "boolean" + }, + "version": { + "type": "string" + }, + "versionstring": { + "type": "string" + }, + "edition": { + "type": "string" + }, + "productname": { + "type": "string" + }, + "extendedSupport": { + "type": "boolean" + } + } + }, + "Core-fullTaskProcessingIO": { + "type": "object", + "additionalProperties": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + } + }, + "Core-fullTaskProcessingShape": { + "type": "object", + "required": [ + "name", + "description", + "type" + ], + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "Number", + "Text", + "Audio", + "Image", + "Video", + "File", + "Enum", + "ListOfNumbers", + "ListOfTexts", + "ListOfImages", + "ListOfAudios", + "ListOfVideos", + "ListOfFiles" + ] + } + } + }, + "Core-fullTaskProcessingTask": { + "type": "object", + "required": [ + "id", + "lastUpdated", + "type", + "status", + "userId", + "appId", + "input", + "output", + "customId", + "completionExpectedAt", + "progress", + "scheduledAt", + "startedAt", + "endedAt" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64" + }, + "lastUpdated": { + "type": "integer", + "format": "int64" + }, + "type": { + "type": "string" + }, + "status": { + "type": "string", + "enum": [ + "STATUS_CANCELLED", + "STATUS_FAILED", + "STATUS_SUCCESSFUL", + "STATUS_RUNNING", + "STATUS_SCHEDULED", + "STATUS_UNKNOWN" + ] + }, + "userId": { + "type": "string", + "nullable": true + }, + "appId": { + "type": "string" + }, + "input": { + "$ref": "#/components/schemas/Core-fullTaskProcessingIO" + }, + "output": { + "$ref": "#/components/schemas/Core-fullTaskProcessingIO", + "nullable": true + }, + "customId": { + "type": "string", + "nullable": true + }, + "completionExpectedAt": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "progress": { + "type": "number", + "format": "double", + "nullable": true + }, + "scheduledAt": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "startedAt": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "endedAt": { + "type": "integer", + "format": "int64", + "nullable": true + } + } + }, + "Core-fullTaskProcessingTaskType": { + "type": "object", + "required": [ + "name", + "description", + "inputShape", + "inputShapeEnumValues", + "inputShapeDefaults", + "optionalInputShape", + "optionalInputShapeEnumValues", + "optionalInputShapeDefaults", + "outputShape", + "outputShapeEnumValues", + "optionalOutputShape", + "optionalOutputShapeEnumValues" + ], + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "inputShape": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Core-fullTaskProcessingShape" + } + }, + "inputShapeEnumValues": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "name": { + "type": "string" + }, + "value": { + "type": "string" + } + } + } + } + }, + "inputShapeDefaults": { + "type": "object", + "additionalProperties": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + } + ] + } + }, + "optionalInputShape": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Core-fullTaskProcessingShape" + } + }, + "optionalInputShapeEnumValues": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "name": { + "type": "string" + }, + "value": { + "type": "string" + } + } + } + } + }, + "optionalInputShapeDefaults": { + "type": "object", + "additionalProperties": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + } + ] + } + }, + "outputShape": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Core-fullTaskProcessingShape" + } + }, + "outputShapeEnumValues": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "name": { + "type": "string" + }, + "value": { + "type": "string" + } + } + } + } + }, + "optionalOutputShape": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Core-fullTaskProcessingShape" + } + }, + "optionalOutputShapeEnumValues": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "name": { + "type": "string" + }, + "value": { + "type": "string" + } + } + } + } + } + } + }, + "Core-fullTeam": { + "type": "object", + "required": [ + "id", + "name", + "icon" + ], + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "icon": { + "type": "string" + } + } + }, + "Core-fullTeamResource": { + "type": "object", + "required": [ + "id", + "label", + "url", + "iconSvg", + "iconURL", + "iconEmoji" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64" + }, + "label": { + "type": "string" + }, + "url": { + "type": "string" + }, + "iconSvg": { + "type": "string", + "nullable": true + }, + "iconURL": { + "type": "string", + "nullable": true + }, + "iconEmoji": { + "type": "string", + "nullable": true + } + } + }, + "Core-fullTextProcessingTask": { + "type": "object", + "required": [ + "id", + "type", + "status", + "userId", + "appId", + "input", + "output", + "identifier", + "completionExpectedAt" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "type": { + "type": "string" + }, + "status": { + "type": "integer", + "format": "int64", + "enum": [ + 0, + 1, + 2, + 3, + 4 + ] + }, + "userId": { + "type": "string", + "nullable": true + }, + "appId": { + "type": "string" + }, + "input": { + "type": "string" + }, + "output": { + "type": "string", + "nullable": true + }, + "identifier": { + "type": "string" + }, + "completionExpectedAt": { + "type": "integer", + "format": "int64", + "nullable": true + } + } + }, + "Core-fullTextToImageTask": { + "type": "object", + "required": [ + "id", + "status", + "userId", + "appId", + "input", + "identifier", + "numberOfImages", + "completionExpectedAt" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "status": { + "type": "integer", + "format": "int64", + "enum": [ + 0, + 1, + 2, + 3, + 4 + ] + }, + "userId": { + "type": "string", + "nullable": true + }, + "appId": { + "type": "string" + }, + "input": { + "type": "string" + }, + "identifier": { + "type": "string", + "nullable": true + }, + "numberOfImages": { + "type": "integer", + "format": "int64" + }, + "completionExpectedAt": { + "type": "integer", + "format": "int64", + "nullable": true + } + } + }, + "Core-fullUnifiedSearchProvider": { + "type": "object", + "required": [ + "id", + "appId", + "name", + "icon", + "order", + "triggers", + "filters", + "inAppSearch" + ], + "properties": { + "id": { + "type": "string" + }, + "appId": { + "type": "string" + }, + "name": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "order": { + "type": "integer", + "format": "int64" + }, + "triggers": { + "type": "array", + "items": { + "type": "string" + } + }, + "filters": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "inAppSearch": { + "type": "boolean" + } + } + }, + "Core-fullUnifiedSearchResult": { + "type": "object", + "required": [ + "name", + "isPaginated", + "entries", + "cursor" + ], + "properties": { + "name": { + "type": "string" + }, + "isPaginated": { + "type": "boolean" + }, + "entries": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Core-fullUnifiedSearchResultEntry" + } + }, + "cursor": { + "nullable": true, + "oneOf": [ + { + "type": "integer", + "format": "int64" + }, + { + "type": "string" + } + ] + } + } + }, + "Core-fullUnifiedSearchResultEntry": { + "type": "object", + "required": [ + "thumbnailUrl", + "title", + "subline", + "resourceUrl", + "icon", + "rounded", + "attributes" + ], + "properties": { + "thumbnailUrl": { + "type": "string" + }, + "title": { + "type": "string" + }, + "subline": { + "type": "string" + }, + "resourceUrl": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "rounded": { + "type": "boolean" + }, + "attributes": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "CloudFederationApiAddShare": { + "type": "object", + "required": [ + "recipientDisplayName" + ], + "properties": { + "recipientDisplayName": { + "type": "string" + }, + "recipientUserId": { + "type": "string" + } + } + }, + "CloudFederationApiCapabilities": { + "type": "object", + "required": [ + "ocm" + ], + "properties": { + "ocm": { + "type": "object", + "required": [ + "apiVersion", + "enabled", + "endPoint", + "resourceTypes", + "version" + ], + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "1.0-proposal1" + ] + }, + "enabled": { + "type": "boolean" + }, + "endPoint": { + "type": "string" + }, + "publicKey": { + "type": "object", + "required": [ + "keyId", + "publicKeyPem" + ], + "properties": { + "keyId": { + "type": "string" + }, + "publicKeyPem": { + "type": "string" + } + } + }, + "resourceTypes": { + "type": "array", + "items": { + "type": "object", + "required": [ + "name", + "shareTypes", + "protocols" + ], + "properties": { + "name": { + "type": "string" + }, + "shareTypes": { + "type": "array", + "items": { + "type": "string" + } + }, + "protocols": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + } + }, + "version": { + "type": "string" + } + } + } + } + }, + "CloudFederationApiError": { + "type": "object", + "required": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + }, + "CloudFederationApiValidationError": { + "allOf": [ + { + "$ref": "#/components/schemas/CloudFederationApiError" + }, + { + "type": "object", + "required": [ + "validationErrors" + ], + "properties": { + "validationErrors": { + "type": "array", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": { + "name": { + "type": "string" + }, + "message": { + "type": "string", + "nullable": true + } + } + } + } + } + } + ] + }, + "CommentsCapabilities": { + "type": "object", + "required": [ + "files" + ], + "properties": { + "files": { + "type": "object", + "required": [ + "comments" + ], + "properties": { + "comments": { + "type": "boolean" + } + } + } + } + }, + "DashboardWidget": { + "type": "object", + "required": [ + "id", + "title", + "order", + "icon_class", + "icon_url", + "widget_url", + "item_icons_round", + "item_api_versions", + "reload_interval" + ], + "properties": { + "id": { + "type": "string" + }, + "title": { + "type": "string" + }, + "order": { + "type": "integer", + "format": "int64" + }, + "icon_class": { + "type": "string" + }, + "icon_url": { + "type": "string" + }, + "widget_url": { + "type": "string", + "nullable": true + }, + "item_icons_round": { + "type": "boolean" + }, + "item_api_versions": { + "type": "array", + "items": { + "type": "integer", + "format": "int64" + } + }, + "reload_interval": { + "type": "integer", + "format": "int64" + }, + "buttons": { + "type": "array", + "items": { + "type": "object", + "required": [ + "type", + "text", + "link" + ], + "properties": { + "type": { + "type": "string" + }, + "text": { + "type": "string" + }, + "link": { + "type": "string" + } + } + } + } + } + }, + "DashboardWidgetItem": { + "type": "object", + "required": [ + "subtitle", + "title", + "link", + "iconUrl", + "overlayIconUrl", + "sinceId" + ], + "properties": { + "subtitle": { + "type": "string" + }, + "title": { + "type": "string" + }, + "link": { + "type": "string" + }, + "iconUrl": { + "type": "string" + }, + "overlayIconUrl": { + "type": "string" + }, + "sinceId": { + "type": "string" + } + } + }, + "DashboardWidgetItems": { + "type": "object", + "required": [ + "items", + "emptyContentMessage", + "halfEmptyContentMessage" + ], + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DashboardWidgetItem" + } + }, + "emptyContentMessage": { + "type": "string" + }, + "halfEmptyContentMessage": { + "type": "string" + } + } + }, + "DavCapabilities": { + "type": "object", + "required": [ + "dav" + ], + "properties": { + "dav": { + "type": "object", + "required": [ + "chunking" + ], + "properties": { + "chunking": { + "type": "string" + }, + "bulkupload": { + "type": "string" + }, + "absence-supported": { + "type": "boolean" + }, + "absence-replacement": { + "type": "boolean" + } + } + } + } + }, + "DavCurrentOutOfOfficeData": { + "allOf": [ + { + "$ref": "#/components/schemas/DavOutOfOfficeDataCommon" + }, + { + "type": "object", + "required": [ + "id", + "startDate", + "endDate", + "shortMessage" + ], + "properties": { + "id": { + "type": "string" + }, + "startDate": { + "type": "integer", + "format": "int64" + }, + "endDate": { + "type": "integer", + "format": "int64" + }, + "shortMessage": { + "type": "string" + } + } + } + ] + }, + "DavOutOfOfficeData": { + "allOf": [ + { + "$ref": "#/components/schemas/DavOutOfOfficeDataCommon" + }, + { + "type": "object", + "required": [ + "id", + "firstDay", + "lastDay", + "status" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64" + }, + "firstDay": { + "type": "string" + }, + "lastDay": { + "type": "string" + }, + "status": { + "type": "string" + } + } + } + ] + }, + "DavOutOfOfficeDataCommon": { + "type": "object", + "required": [ + "userId", + "message", + "replacementUserId", + "replacementUserDisplayName" + ], + "properties": { + "userId": { + "type": "string" + }, + "message": { + "type": "string" + }, + "replacementUserId": { + "type": "string", + "nullable": true + }, + "replacementUserDisplayName": { + "type": "string", + "nullable": true + } + } + }, + "DavUpcomingEvent": { + "type": "object", + "required": [ + "uri", + "calendarUri", + "start", + "summary", + "location" + ], + "properties": { + "uri": { + "type": "string" + }, + "calendarUri": { + "type": "string" + }, + "start": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "summary": { + "type": "string", + "nullable": true + }, + "location": { + "type": "string", + "nullable": true + } + } + }, + "FilesCapabilities": { + "type": "object", + "required": [ + "files" + ], + "properties": { + "files": { + "type": "object", + "required": [ + "windows_compatible_filenames", + "$comment", + "bigfilechunking", + "blacklisted_files", + "forbidden_filenames", + "forbidden_filename_basenames", + "forbidden_filename_characters", + "forbidden_filename_extensions", + "chunked_upload", + "file_conversions", + "directEditing" + ], + "properties": { + "windows_compatible_filenames": { + "type": "boolean" + }, + "$comment": { + "type": "string", + "nullable": true + }, + "bigfilechunking": { + "type": "boolean" + }, + "blacklisted_files": { + "type": "array", + "items": { + "type": "object" + } + }, + "forbidden_filenames": { + "type": "array", + "items": { + "type": "string" + } + }, + "forbidden_filename_basenames": { + "type": "array", + "items": { + "type": "string" + } + }, + "forbidden_filename_characters": { + "type": "array", + "items": { + "type": "string" + } + }, + "forbidden_filename_extensions": { + "type": "array", + "items": { + "type": "string" + } + }, + "chunked_upload": { + "type": "object", + "required": [ + "max_size", + "max_parallel_count" + ], + "properties": { + "max_size": { + "type": "integer", + "format": "int64" + }, + "max_parallel_count": { + "type": "integer", + "format": "int64" + } + } + }, + "file_conversions": { + "type": "array", + "items": { + "type": "object", + "required": [ + "from", + "to", + "extension", + "displayName" + ], + "properties": { + "from": { + "type": "string" + }, + "to": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "displayName": { + "type": "string" + } + } + } + }, + "directEditing": { + "type": "object", + "required": [ + "url", + "etag", + "supportsFileId" + ], + "properties": { + "url": { + "type": "string" + }, + "etag": { + "type": "string" + }, + "supportsFileId": { + "type": "boolean" + } + } + } + } + } + } + }, + "FilesFolderTree": { + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "basename", + "children" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64" + }, + "basename": { + "type": "string" + }, + "displayName": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object" + } + } + } + } + }, + "FilesTemplate": { + "type": "object", + "required": [ + "templateType", + "templateId", + "basename", + "etag", + "fileid", + "filename", + "lastmod", + "mime", + "size", + "type", + "hasPreview", + "previewUrl", + "fields" + ], + "properties": { + "templateType": { + "type": "string" + }, + "templateId": { + "type": "string" + }, + "basename": { + "type": "string" + }, + "etag": { + "type": "string" + }, + "fileid": { + "type": "integer", + "format": "int64" + }, + "filename": { + "type": "string" + }, + "lastmod": { + "type": "integer", + "format": "int64" + }, + "mime": { + "type": "string" + }, + "size": { + "anyOf": [ + { + "type": "integer", + "format": "int64" + }, + { + "type": "number", + "format": "double" + } + ] + }, + "type": { + "type": "string" + }, + "hasPreview": { + "type": "boolean" + }, + "previewUrl": { + "type": "string", + "nullable": true + }, + "fields": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FilesTemplateField" + } + } + } + }, + "FilesTemplateField": { + "type": "object", + "required": [ + "index", + "type", + "alias", + "tag", + "id" + ], + "properties": { + "index": { + "type": "string" + }, + "type": { + "type": "string" + }, + "alias": { + "type": "string", + "nullable": true + }, + "tag": { + "type": "string", + "nullable": true + }, + "id": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "content": { + "type": "string" + }, + "checked": { + "type": "boolean" + } + } + }, + "FilesTemplateFile": { + "type": "object", + "required": [ + "basename", + "etag", + "fileid", + "filename", + "lastmod", + "mime", + "size", + "type", + "hasPreview" + ], + "properties": { + "basename": { + "type": "string" + }, + "etag": { + "type": "string" + }, + "fileid": { + "type": "integer", + "format": "int64" + }, + "filename": { + "type": "string", + "nullable": true + }, + "lastmod": { + "type": "integer", + "format": "int64" + }, + "mime": { + "type": "string" + }, + "size": { + "type": "integer", + "format": "int64" + }, + "type": { + "type": "string" + }, + "hasPreview": { + "type": "boolean" + } + } + }, + "FilesTemplateFileCreator": { + "type": "object", + "required": [ + "app", + "label", + "extension", + "iconClass", + "iconSvgInline", + "mimetypes", + "ratio", + "actionLabel" + ], + "properties": { + "app": { + "type": "string" + }, + "label": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "iconClass": { + "type": "string", + "nullable": true + }, + "iconSvgInline": { + "type": "string", + "nullable": true + }, + "mimetypes": { + "type": "array", + "items": { + "type": "string" + } + }, + "ratio": { + "type": "number", + "format": "double", + "nullable": true + }, + "actionLabel": { + "type": "string" + } + } + }, + "FilesTemplateFileCreatorWithTemplates": { + "allOf": [ + { + "$ref": "#/components/schemas/FilesTemplateFileCreator" + }, + { + "type": "object", + "required": [ + "templates" + ], + "properties": { + "templates": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FilesTemplate" + } + } + } + } + ] + }, + "FilesExternalMount": { + "type": "object", + "required": [ + "name", + "path", + "type", + "backend", + "scope", + "permissions", + "id", + "class", + "config" + ], + "properties": { + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "dir" + ] + }, + "backend": { + "type": "string" + }, + "scope": { + "type": "string", + "enum": [ + "system", + "personal" + ] + }, + "permissions": { + "type": "integer", + "format": "int64" + }, + "id": { + "type": "integer", + "format": "int64" + }, + "class": { + "type": "string" + }, + "config": { + "$ref": "#/components/schemas/FilesExternalStorageConfig" + } + } + }, + "FilesExternalStorageConfig": { + "type": "object", + "required": [ + "authMechanism", + "backend", + "backendOptions", + "mountPoint", + "type", + "userProvided" + ], + "properties": { + "applicableGroups": { + "type": "array", + "items": { + "type": "string" + } + }, + "applicableUsers": { + "type": "array", + "items": { + "type": "string" + } + }, + "authMechanism": { + "type": "string" + }, + "backend": { + "type": "string" + }, + "backendOptions": { + "type": "object", + "additionalProperties": { + "type": "object" + } + }, + "id": { + "type": "integer", + "format": "int64" + }, + "mountOptions": { + "type": "object", + "additionalProperties": { + "type": "object" + } + }, + "mountPoint": { + "type": "string" + }, + "priority": { + "type": "integer", + "format": "int64" + }, + "status": { + "type": "integer", + "format": "int64" + }, + "statusMessage": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "personal", + "system" + ] + }, + "userProvided": { + "type": "boolean" + } + } + }, + "FilesSharingCapabilities": { + "type": "object", + "required": [ + "files_sharing" + ], + "properties": { + "files_sharing": { + "type": "object", + "required": [ + "api_enabled", + "public", + "user", + "resharing", + "federation", + "sharee" + ], + "properties": { + "api_enabled": { + "type": "boolean" + }, + "public": { + "type": "object", + "required": [ + "enabled" + ], + "properties": { + "enabled": { + "type": "boolean" + }, + "password": { + "type": "object", + "required": [ + "enforced", + "askForOptionalPassword" + ], + "properties": { + "enforced": { + "type": "boolean" + }, + "askForOptionalPassword": { + "type": "boolean" + } + } + }, + "multiple_links": { + "type": "boolean" + }, + "expire_date": { + "type": "object", + "required": [ + "enabled" + ], + "properties": { + "enabled": { + "type": "boolean" + }, + "days": { + "type": "integer", + "format": "int64" + }, + "enforced": { + "type": "boolean" + } + } + }, + "expire_date_internal": { + "type": "object", + "required": [ + "enabled" + ], + "properties": { + "enabled": { + "type": "boolean" + }, + "days": { + "type": "integer", + "format": "int64" + }, + "enforced": { + "type": "boolean" + } + } + }, + "expire_date_remote": { + "type": "object", + "required": [ + "enabled" + ], + "properties": { + "enabled": { + "type": "boolean" + }, + "days": { + "type": "integer", + "format": "int64" + }, + "enforced": { + "type": "boolean" + } + } + }, + "send_mail": { + "type": "boolean" + }, + "upload": { + "type": "boolean" + }, + "upload_files_drop": { + "type": "boolean" + }, + "custom_tokens": { + "type": "boolean" + } + } + }, + "user": { + "type": "object", + "required": [ + "send_mail" + ], + "properties": { + "send_mail": { + "type": "boolean" + }, + "expire_date": { + "type": "object", + "required": [ + "enabled" + ], + "properties": { + "enabled": { + "type": "boolean" + } + } + } + } + }, + "resharing": { + "type": "boolean" + }, + "group_sharing": { + "type": "boolean" + }, + "group": { + "type": "object", + "required": [ + "enabled" + ], + "properties": { + "enabled": { + "type": "boolean" + }, + "expire_date": { + "type": "object", + "required": [ + "enabled" + ], + "properties": { + "enabled": { + "type": "boolean" + } + } + } + } + }, + "default_permissions": { + "type": "integer", + "format": "int64" + }, + "federation": { + "type": "object", + "required": [ + "outgoing", + "incoming", + "expire_date", + "expire_date_supported" + ], + "properties": { + "outgoing": { + "type": "boolean" + }, + "incoming": { + "type": "boolean" + }, + "expire_date": { + "type": "object", + "required": [ + "enabled" + ], + "properties": { + "enabled": { + "type": "boolean" + } + } + }, + "expire_date_supported": { + "type": "object", + "required": [ + "enabled" + ], + "properties": { + "enabled": { + "type": "boolean" + } + } + } + } + }, + "sharee": { + "type": "object", + "required": [ + "query_lookup_default", + "always_show_unique" + ], + "properties": { + "query_lookup_default": { + "type": "boolean" + }, + "always_show_unique": { + "type": "boolean" + } + } + } + } + } + } + }, + "FilesSharingDeletedShare": { + "type": "object", + "required": [ + "id", + "share_type", + "uid_owner", + "displayname_owner", + "permissions", + "stime", + "uid_file_owner", + "displayname_file_owner", + "path", + "item_type", + "mimetype", + "storage", + "item_source", + "file_source", + "file_parent", + "file_target", + "expiration", + "share_with", + "share_with_displayname", + "share_with_link" + ], + "properties": { + "id": { + "type": "string" + }, + "share_type": { + "type": "integer", + "format": "int64" + }, + "uid_owner": { + "type": "string" + }, + "displayname_owner": { + "type": "string" + }, + "permissions": { + "type": "integer", + "format": "int64" + }, + "stime": { + "type": "integer", + "format": "int64" + }, + "uid_file_owner": { + "type": "string" + }, + "displayname_file_owner": { + "type": "string" + }, + "path": { + "type": "string" + }, + "item_type": { + "type": "string" + }, + "mimetype": { + "type": "string" + }, + "storage": { + "type": "integer", + "format": "int64" + }, + "item_source": { + "type": "integer", + "format": "int64" + }, + "file_source": { + "type": "integer", + "format": "int64" + }, + "file_parent": { + "type": "integer", + "format": "int64" + }, + "file_target": { + "type": "integer", + "format": "int64" + }, + "expiration": { + "type": "string", + "nullable": true + }, + "share_with": { + "type": "string", + "nullable": true + }, + "share_with_displayname": { + "type": "string", + "nullable": true + }, + "share_with_link": { + "type": "string", + "nullable": true + } + } + }, + "FilesSharingLookup": { + "type": "object", + "required": [ + "value", + "verified" + ], + "properties": { + "value": { + "type": "string" + }, + "verified": { + "type": "integer", + "format": "int64" + } + } + }, + "FilesSharingRemoteShare": { + "type": "object", + "required": [ + "accepted", + "file_id", + "id", + "mimetype", + "mountpoint", + "mtime", + "name", + "owner", + "parent", + "permissions", + "remote", + "remote_id", + "share_token", + "share_type", + "type", + "user" + ], + "properties": { + "accepted": { + "type": "boolean" + }, + "file_id": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "id": { + "type": "integer", + "format": "int64" + }, + "mimetype": { + "type": "string", + "nullable": true + }, + "mountpoint": { + "type": "string" + }, + "mtime": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "name": { + "type": "string" + }, + "owner": { + "type": "string" + }, + "parent": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "permissions": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "remote": { + "type": "string" + }, + "remote_id": { + "type": "string" + }, + "share_token": { + "type": "string" + }, + "share_type": { + "type": "integer", + "format": "int64" + }, + "type": { + "type": "string", + "nullable": true + }, + "user": { + "type": "string" + } + } + }, + "FilesSharingShare": { + "type": "object", + "required": [ + "attributes", + "can_delete", + "can_edit", + "displayname_file_owner", + "displayname_owner", + "expiration", + "file_parent", + "file_source", + "file_target", + "has_preview", + "hide_download", + "is-mount-root", + "id", + "item_mtime", + "item_size", + "item_source", + "item_type", + "label", + "mail_send", + "mimetype", + "mount-type", + "note", + "parent", + "path", + "permissions", + "share_type", + "stime", + "storage", + "storage_id", + "token", + "uid_file_owner", + "uid_owner" + ], + "properties": { + "attributes": { + "type": "string", + "nullable": true + }, + "can_delete": { + "type": "boolean" + }, + "can_edit": { + "type": "boolean" + }, + "displayname_file_owner": { + "type": "string" + }, + "displayname_owner": { + "type": "string" + }, + "expiration": { + "type": "string", + "nullable": true + }, + "file_parent": { + "type": "integer", + "format": "int64" + }, + "file_source": { + "type": "integer", + "format": "int64" + }, + "file_target": { + "type": "string" + }, + "has_preview": { + "type": "boolean" + }, + "hide_download": { + "type": "integer", + "format": "int64", + "enum": [ + 0, + 1 + ] + }, + "is-mount-root": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "item_mtime": { + "type": "integer", + "format": "int64" + }, + "item_permissions": { + "type": "integer", + "format": "int64" + }, + "item_size": { + "anyOf": [ + { + "type": "number", + "format": "double" + }, + { + "type": "integer", + "format": "int64" + } + ] + }, + "item_source": { + "type": "integer", + "format": "int64" + }, + "item_type": { + "type": "string", + "enum": [ + "file", + "folder" + ] + }, + "label": { + "type": "string" + }, + "mail_send": { + "type": "integer", + "format": "int64", + "enum": [ + 0, + 1 + ] + }, + "mimetype": { + "type": "string" + }, + "mount-type": { + "type": "string" + }, + "note": { + "type": "string" + }, + "parent": { + "nullable": true + }, + "password": { + "type": "string", + "nullable": true + }, + "password_expiration_time": { + "type": "string", + "nullable": true + }, + "path": { + "type": "string", + "nullable": true + }, + "permissions": { + "type": "integer", + "format": "int64" + }, + "send_password_by_talk": { + "type": "boolean" + }, + "share_type": { + "type": "integer", + "format": "int64" + }, + "share_with": { + "type": "string", + "nullable": true + }, + "share_with_avatar": { + "type": "string" + }, + "share_with_displayname": { + "type": "string" + }, + "share_with_displayname_unique": { + "type": "string", + "nullable": true + }, + "share_with_link": { + "type": "string" + }, + "status": { + "type": "object", + "required": [ + "clearAt", + "icon", + "message", + "status" + ], + "properties": { + "clearAt": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "icon": { + "type": "string", + "nullable": true + }, + "message": { + "type": "string", + "nullable": true + }, + "status": { + "type": "string" + } + } + }, + "stime": { + "type": "integer", + "format": "int64" + }, + "storage": { + "type": "integer", + "format": "int64" + }, + "storage_id": { + "type": "string" + }, + "token": { + "type": "string", + "nullable": true + }, + "uid_file_owner": { + "type": "string" + }, + "uid_owner": { + "type": "string" + }, + "url": { + "type": "string" + } + } + }, + "FilesSharingShareInfo": { + "type": "object", + "required": [ + "id", + "parentId", + "mtime", + "name", + "permissions", + "mimetype", + "size", + "type", + "etag" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64" + }, + "parentId": { + "type": "integer", + "format": "int64" + }, + "mtime": { + "type": "integer", + "format": "int64" + }, + "name": { + "type": "string" + }, + "permissions": { + "type": "integer", + "format": "int64" + }, + "mimetype": { + "type": "string" + }, + "size": { + "anyOf": [ + { + "type": "integer", + "format": "int64" + }, + { + "type": "number", + "format": "double" + } + ] + }, + "type": { + "type": "string" + }, + "etag": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + } + }, + "FilesSharingSharee": { + "type": "object", + "required": [ + "label" + ], + "properties": { + "label": { + "type": "string" + } + } + }, + "FilesSharingShareeCircle": { + "allOf": [ + { + "$ref": "#/components/schemas/FilesSharingSharee" + }, + { + "type": "object", + "required": [ + "shareWithDescription", + "value" + ], + "properties": { + "shareWithDescription": { + "type": "string" + }, + "value": { + "allOf": [ + { + "$ref": "#/components/schemas/FilesSharingShareeValue" + }, + { + "type": "object", + "required": [ + "circle" + ], + "properties": { + "circle": { + "type": "string" + } + } + } + ] + } + } + } + ] + }, + "FilesSharingShareeEmail": { + "allOf": [ + { + "$ref": "#/components/schemas/FilesSharingSharee" + }, + { + "type": "object", + "required": [ + "uuid", + "name", + "type", + "shareWithDisplayNameUnique", + "value" + ], + "properties": { + "uuid": { + "type": "string" + }, + "name": { + "type": "string" + }, + "type": { + "type": "string" + }, + "shareWithDisplayNameUnique": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/FilesSharingShareeValue" + } + } + } + ] + }, + "FilesSharingShareeGroup": { + "allOf": [ + { + "$ref": "#/components/schemas/FilesSharingSharee" + }, + { + "type": "object", + "required": [ + "value" + ], + "properties": { + "value": { + "$ref": "#/components/schemas/FilesSharingShareeValue" + } + } + } + ] + }, + "FilesSharingShareeLookup": { + "allOf": [ + { + "$ref": "#/components/schemas/FilesSharingSharee" + }, + { + "type": "object", + "required": [ + "extra", + "value" + ], + "properties": { + "extra": { + "type": "object", + "required": [ + "federationId", + "name", + "email", + "address", + "website", + "twitter", + "phone", + "twitter_signature", + "website_signature", + "userid" + ], + "properties": { + "federationId": { + "type": "string" + }, + "name": { + "$ref": "#/components/schemas/FilesSharingLookup", + "nullable": true + }, + "email": { + "$ref": "#/components/schemas/FilesSharingLookup", + "nullable": true + }, + "address": { + "$ref": "#/components/schemas/FilesSharingLookup", + "nullable": true + }, + "website": { + "$ref": "#/components/schemas/FilesSharingLookup", + "nullable": true + }, + "twitter": { + "$ref": "#/components/schemas/FilesSharingLookup", + "nullable": true + }, + "phone": { + "$ref": "#/components/schemas/FilesSharingLookup", + "nullable": true + }, + "twitter_signature": { + "$ref": "#/components/schemas/FilesSharingLookup", + "nullable": true + }, + "website_signature": { + "$ref": "#/components/schemas/FilesSharingLookup", + "nullable": true + }, + "userid": { + "$ref": "#/components/schemas/FilesSharingLookup", + "nullable": true + } + } + }, + "value": { + "allOf": [ + { + "$ref": "#/components/schemas/FilesSharingShareeValue" + }, + { + "type": "object", + "required": [ + "globalScale" + ], + "properties": { + "globalScale": { + "type": "boolean" + } + } + } + ] + } + } + } + ] + }, + "FilesSharingShareeRemote": { + "allOf": [ + { + "$ref": "#/components/schemas/FilesSharingSharee" + }, + { + "type": "object", + "required": [ + "uuid", + "name", + "type", + "value" + ], + "properties": { + "uuid": { + "type": "string" + }, + "name": { + "type": "string" + }, + "type": { + "type": "string" + }, + "value": { + "allOf": [ + { + "$ref": "#/components/schemas/FilesSharingShareeValue" + }, + { + "type": "object", + "required": [ + "server" + ], + "properties": { + "server": { + "type": "string" + } + } + } + ] + } + } + } + ] + }, + "FilesSharingShareeRemoteGroup": { + "allOf": [ + { + "$ref": "#/components/schemas/FilesSharingSharee" + }, + { + "type": "object", + "required": [ + "guid", + "name", + "value" + ], + "properties": { + "guid": { + "type": "string" + }, + "name": { + "type": "string" + }, + "value": { + "allOf": [ + { + "$ref": "#/components/schemas/FilesSharingShareeValue" + }, + { + "type": "object", + "required": [ + "server" + ], + "properties": { + "server": { + "type": "string" + } + } + } + ] + } + } + } + ] + }, + "FilesSharingShareeRoom": { + "allOf": [ + { + "$ref": "#/components/schemas/FilesSharingSharee" + }, + { + "type": "object", + "required": [ + "value" + ], + "properties": { + "value": { + "$ref": "#/components/schemas/FilesSharingShareeValue" + } + } + } + ] + }, + "FilesSharingShareeUser": { + "allOf": [ + { + "$ref": "#/components/schemas/FilesSharingSharee" + }, + { + "type": "object", + "required": [ + "subline", + "icon", + "shareWithDisplayNameUnique", + "status", + "value" + ], + "properties": { + "subline": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "shareWithDisplayNameUnique": { + "type": "string" + }, + "status": { + "type": "object", + "required": [ + "status", + "message", + "icon", + "clearAt" + ], + "properties": { + "status": { + "type": "string" + }, + "message": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "clearAt": { + "type": "integer", + "format": "int64", + "nullable": true + } + } + }, + "value": { + "$ref": "#/components/schemas/FilesSharingShareeValue" + } + } + } + ] + }, + "FilesSharingShareeValue": { + "type": "object", + "required": [ + "shareType", + "shareWith" + ], + "properties": { + "shareType": { + "type": "integer", + "format": "int64" + }, + "shareWith": { + "type": "string" + } + } + }, + "FilesSharingShareesRecommendedResult": { + "type": "object", + "required": [ + "exact", + "emails", + "groups", + "remote_groups", + "remotes", + "users" + ], + "properties": { + "exact": { + "type": "object", + "required": [ + "emails", + "groups", + "remote_groups", + "remotes", + "users" + ], + "properties": { + "emails": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FilesSharingShareeEmail" + } + }, + "groups": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FilesSharingShareeGroup" + } + }, + "remote_groups": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FilesSharingShareeRemoteGroup" + } + }, + "remotes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FilesSharingShareeRemote" + } + }, + "users": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FilesSharingShareeUser" + } + } + } + }, + "emails": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FilesSharingShareeEmail" + } + }, + "groups": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FilesSharingShareeGroup" + } + }, + "remote_groups": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FilesSharingShareeRemoteGroup" + } + }, + "remotes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FilesSharingShareeRemote" + } + }, + "users": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FilesSharingShareeUser" + } + } + } + }, + "FilesSharingShareesSearchResult": { + "type": "object", + "required": [ + "exact", + "circles", + "emails", + "groups", + "lookup", + "remote_groups", + "remotes", + "rooms", + "users", + "lookupEnabled" + ], + "properties": { + "exact": { + "type": "object", + "required": [ + "circles", + "emails", + "groups", + "remote_groups", + "remotes", + "rooms", + "users" + ], + "properties": { + "circles": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FilesSharingShareeCircle" + } + }, + "emails": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FilesSharingShareeEmail" + } + }, + "groups": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FilesSharingShareeGroup" + } + }, + "remote_groups": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FilesSharingShareeRemoteGroup" + } + }, + "remotes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FilesSharingShareeRemote" + } + }, + "rooms": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FilesSharingShareeRoom" + } + }, + "users": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FilesSharingShareeUser" + } + } + } + }, + "circles": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FilesSharingShareeCircle" + } + }, + "emails": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FilesSharingShareeEmail" + } + }, + "groups": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FilesSharingShareeGroup" + } + }, + "lookup": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FilesSharingShareeLookup" + } + }, + "remote_groups": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FilesSharingShareeRemoteGroup" + } + }, + "remotes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FilesSharingShareeRemote" + } + }, + "rooms": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FilesSharingShareeRoom" + } + }, + "users": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FilesSharingShareeUser" + } + }, + "lookupEnabled": { + "type": "boolean" + } + } + }, + "FilesTrashbinCapabilities": { + "type": "object", + "required": [ + "files" + ], + "properties": { + "files": { + "type": "object", + "required": [ + "undelete", + "delete_from_trash" + ], + "properties": { + "undelete": { + "type": "boolean" + }, + "delete_from_trash": { + "type": "boolean" + } + } + } + } + }, + "FilesVersionsCapabilities": { + "type": "object", + "required": [ + "files" + ], + "properties": { + "files": { + "type": "object", + "required": [ + "versioning", + "version_labeling", + "version_deletion" + ], + "properties": { + "versioning": { + "type": "boolean" + }, + "version_labeling": { + "type": "boolean" + }, + "version_deletion": { + "type": "boolean" + } + } + } + } + }, + "ProvisioningApi-fullCapabilities": { + "type": "object", + "required": [ + "provisioning_api" + ], + "properties": { + "provisioning_api": { + "type": "object", + "required": [ + "version", + "AccountPropertyScopesVersion", + "AccountPropertyScopesFederatedEnabled", + "AccountPropertyScopesPublishedEnabled" + ], + "properties": { + "version": { + "type": "string" + }, + "AccountPropertyScopesVersion": { + "type": "integer", + "format": "int64" + }, + "AccountPropertyScopesFederatedEnabled": { + "type": "boolean" + }, + "AccountPropertyScopesPublishedEnabled": { + "type": "boolean" + } + } + } + } + }, + "ProvisioningApi-fullGroupDetails": { + "type": "object", + "required": [ + "id", + "displayname", + "usercount", + "disabled", + "canAdd", + "canRemove" + ], + "properties": { + "id": { + "type": "string" + }, + "displayname": { + "type": "string" + }, + "usercount": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "integer", + "format": "int64" + } + ] + }, + "disabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "integer", + "format": "int64" + } + ] + }, + "canAdd": { + "type": "boolean" + }, + "canRemove": { + "type": "boolean" + } + } + }, + "ProvisioningApi-fullUserDetails": { + "type": "object", + "required": [ + "additional_mail", + "address", + "backend", + "backendCapabilities", + "biography", + "display-name", + "displayname", + "email", + "fediverse", + "groups", + "headline", + "id", + "language", + "firstLoginTimestamp", + "lastLoginTimestamp", + "lastLogin", + "locale", + "manager", + "notify_email", + "organisation", + "phone", + "profile_enabled", + "pronouns", + "quota", + "role", + "subadmin", + "twitter", + "website" + ], + "properties": { + "additional_mail": { + "type": "array", + "items": { + "type": "string" + } + }, + "additional_mailScope": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProvisioningApi-fullUserDetailsScope" + } + }, + "address": { + "type": "string" + }, + "addressScope": { + "$ref": "#/components/schemas/ProvisioningApi-fullUserDetailsScope" + }, + "avatarScope": { + "$ref": "#/components/schemas/ProvisioningApi-fullUserDetailsScope" + }, + "backend": { + "type": "string" + }, + "backendCapabilities": { + "type": "object", + "required": [ + "setDisplayName", + "setPassword" + ], + "properties": { + "setDisplayName": { + "type": "boolean" + }, + "setPassword": { + "type": "boolean" + } + } + }, + "biography": { + "type": "string" + }, + "biographyScope": { + "$ref": "#/components/schemas/ProvisioningApi-fullUserDetailsScope" + }, + "display-name": { + "type": "string" + }, + "displayname": { + "type": "string" + }, + "displaynameScope": { + "$ref": "#/components/schemas/ProvisioningApi-fullUserDetailsScope" + }, + "email": { + "type": "string", + "nullable": true + }, + "emailScope": { + "$ref": "#/components/schemas/ProvisioningApi-fullUserDetailsScope" + }, + "enabled": { + "type": "boolean" + }, + "fediverse": { + "type": "string" + }, + "fediverseScope": { + "$ref": "#/components/schemas/ProvisioningApi-fullUserDetailsScope" + }, + "groups": { + "type": "array", + "items": { + "type": "string" + } + }, + "headline": { + "type": "string" + }, + "headlineScope": { + "$ref": "#/components/schemas/ProvisioningApi-fullUserDetailsScope" + }, + "id": { + "type": "string" + }, + "language": { + "type": "string" + }, + "firstLoginTimestamp": { + "type": "integer", + "format": "int64" + }, + "lastLoginTimestamp": { + "type": "integer", + "format": "int64" + }, + "lastLogin": { + "type": "integer", + "format": "int64" + }, + "locale": { + "type": "string" + }, + "manager": { + "type": "string" + }, + "notify_email": { + "type": "string", + "nullable": true + }, + "organisation": { + "type": "string" + }, + "organisationScope": { + "$ref": "#/components/schemas/ProvisioningApi-fullUserDetailsScope" + }, + "phone": { + "type": "string" + }, + "phoneScope": { + "$ref": "#/components/schemas/ProvisioningApi-fullUserDetailsScope" + }, + "profile_enabled": { + "type": "string" + }, + "profile_enabledScope": { + "$ref": "#/components/schemas/ProvisioningApi-fullUserDetailsScope" + }, + "pronouns": { + "type": "string" + }, + "pronounsScope": { + "$ref": "#/components/schemas/ProvisioningApi-fullUserDetailsScope" + }, + "quota": { + "$ref": "#/components/schemas/ProvisioningApi-fullUserDetailsQuota" + }, + "role": { + "type": "string" + }, + "roleScope": { + "$ref": "#/components/schemas/ProvisioningApi-fullUserDetailsScope" + }, + "storageLocation": { + "type": "string" + }, + "subadmin": { + "type": "array", + "items": { + "type": "string" + } + }, + "twitter": { + "type": "string" + }, + "twitterScope": { + "$ref": "#/components/schemas/ProvisioningApi-fullUserDetailsScope" + }, + "website": { + "type": "string" + }, + "websiteScope": { + "$ref": "#/components/schemas/ProvisioningApi-fullUserDetailsScope" + } + } + }, + "ProvisioningApi-fullUserDetailsQuota": { + "type": "object", + "properties": { + "free": { + "anyOf": [ + { + "type": "number", + "format": "double" + }, + { + "type": "integer", + "format": "int64" + } + ] + }, + "quota": { + "anyOf": [ + { + "type": "number", + "format": "double" + }, + { + "type": "integer", + "format": "int64" + }, + { + "type": "string" + } + ] + }, + "relative": { + "anyOf": [ + { + "type": "number", + "format": "double" + }, + { + "type": "integer", + "format": "int64" + } + ] + }, + "total": { + "anyOf": [ + { + "type": "number", + "format": "double" + }, + { + "type": "integer", + "format": "int64" + } + ] + }, + "used": { + "anyOf": [ + { + "type": "number", + "format": "double" + }, + { + "type": "integer", + "format": "int64" + } + ] + } + } + }, + "ProvisioningApi-fullUserDetailsScope": { + "type": "string", + "enum": [ + "v2-private", + "v2-local", + "v2-federated", + "v2-published", + "private", + "contacts", + "public" + ] + }, + "Settings-fullDeclarativeForm": { + "type": "object", + "required": [ + "id", + "priority", + "section_type", + "section_id", + "storage_type", + "title", + "app", + "fields" + ], + "properties": { + "id": { + "type": "string" + }, + "priority": { + "type": "integer", + "format": "int64" + }, + "section_type": { + "type": "string", + "enum": [ + "admin", + "personal" + ] + }, + "section_id": { + "type": "string" + }, + "storage_type": { + "type": "string", + "enum": [ + "internal", + "external" + ] + }, + "title": { + "type": "string" + }, + "description": { + "type": "string" + }, + "doc_url": { + "type": "string" + }, + "app": { + "type": "string" + }, + "fields": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Settings-fullDeclarativeFormField" + } + } + } + }, + "Settings-fullDeclarativeFormField": { + "type": "object", + "required": [ + "id", + "title", + "type", + "default", + "value" + ], + "properties": { + "id": { + "type": "string" + }, + "title": { + "type": "string" + }, + "description": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "text", + "password", + "email", + "tel", + "url", + "number", + "checkbox", + "multi-checkbox", + "radio", + "select", + "multi-select" + ] + }, + "placeholder": { + "type": "string" + }, + "label": { + "type": "string" + }, + "default": { + "type": "object" + }, + "options": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "name": { + "type": "string" + }, + "value": { + "type": "object" + } + } + } + ] + } + }, + "value": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "integer", + "format": "int64" + }, + { + "type": "number", + "format": "double" + }, + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + } + } + }, + "SharebymailCapabilities": { + "type": "object", + "properties": { + "files_sharing": { + "type": "object", + "required": [ + "sharebymail" + ], + "properties": { + "sharebymail": { + "type": "object", + "required": [ + "enabled", + "send_password_by_mail", + "upload_files_drop", + "password", + "expire_date" + ], + "properties": { + "enabled": { + "type": "boolean" + }, + "send_password_by_mail": { + "type": "boolean" + }, + "upload_files_drop": { + "type": "object", + "required": [ + "enabled" + ], + "properties": { + "enabled": { + "type": "boolean" + } + } + }, + "password": { + "type": "object", + "required": [ + "enabled", + "enforced" + ], + "properties": { + "enabled": { + "type": "boolean" + }, + "enforced": { + "type": "boolean" + } + } + }, + "expire_date": { + "type": "object", + "required": [ + "enabled", + "enforced" + ], + "properties": { + "enabled": { + "type": "boolean" + }, + "enforced": { + "type": "boolean" + } + } + } + } + } + } + } + } + }, + "SystemtagsCapabilities": { + "type": "object", + "required": [ + "systemtags" + ], + "properties": { + "systemtags": { + "type": "object", + "required": [ + "enabled" + ], + "properties": { + "enabled": { + "type": "boolean", + "enum": [ + true + ] + } + } + } + } + }, + "ThemingBackground": { + "type": "object", + "required": [ + "backgroundImage", + "backgroundColor", + "primaryColor", + "version" + ], + "properties": { + "backgroundImage": { + "type": "string", + "nullable": true + }, + "backgroundColor": { + "type": "string" + }, + "primaryColor": { + "type": "string" + }, + "version": { + "type": "integer", + "format": "int64" + } + } + }, + "ThemingPublicCapabilities": { + "type": "object", + "required": [ + "theming" + ], + "properties": { + "theming": { + "type": "object", + "required": [ + "name", + "url", + "slogan", + "color", + "color-text", + "color-element", + "color-element-bright", + "color-element-dark", + "logo", + "background", + "background-text", + "background-plain", + "background-default", + "logoheader", + "favicon" + ], + "properties": { + "name": { + "type": "string" + }, + "url": { + "type": "string" + }, + "slogan": { + "type": "string" + }, + "color": { + "type": "string" + }, + "color-text": { + "type": "string" + }, + "color-element": { + "type": "string" + }, + "color-element-bright": { + "type": "string" + }, + "color-element-dark": { + "type": "string" + }, + "logo": { + "type": "string" + }, + "background": { + "type": "string" + }, + "background-text": { + "type": "string" + }, + "background-plain": { + "type": "boolean" + }, + "background-default": { + "type": "boolean" + }, + "logoheader": { + "type": "string" + }, + "favicon": { + "type": "string" + } + } + } + } + }, + "UpdatenotificationApp": { + "type": "object", + "required": [ + "appId", + "appName" + ], + "properties": { + "appId": { + "type": "string" + }, + "appName": { + "type": "string" + } + } + }, + "UserStatusCapabilities": { + "type": "object", + "required": [ + "user_status" + ], + "properties": { + "user_status": { + "type": "object", + "required": [ + "enabled", + "restore", + "supports_emoji" + ], + "properties": { + "enabled": { + "type": "boolean" + }, + "restore": { + "type": "boolean" + }, + "supports_emoji": { + "type": "boolean" + } + } + } + } + }, + "UserStatusClearAt": { + "type": "object", + "required": [ + "type", + "time" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "period", + "end-of" + ] + }, + "time": { + "anyOf": [ + { + "type": "integer", + "format": "int64" + }, + { + "$ref": "#/components/schemas/UserStatusClearAtTimeType" + } + ] + } + } + }, + "UserStatusClearAtTimeType": { + "type": "string", + "enum": [ + "day", + "week" + ] + }, + "UserStatusPredefined": { + "type": "object", + "required": [ + "id", + "icon", + "message", + "clearAt" + ], + "properties": { + "id": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "message": { + "type": "string" + }, + "clearAt": { + "$ref": "#/components/schemas/UserStatusClearAt", + "nullable": true + } + } + }, + "UserStatusPrivate": { + "allOf": [ + { + "$ref": "#/components/schemas/UserStatusPublic" + }, + { + "type": "object", + "required": [ + "messageId", + "messageIsPredefined", + "statusIsUserDefined" + ], + "properties": { + "messageId": { + "type": "string", + "nullable": true + }, + "messageIsPredefined": { + "type": "boolean" + }, + "statusIsUserDefined": { + "type": "boolean" + } + } + } + ] + }, + "UserStatusPublic": { + "type": "object", + "required": [ + "userId", + "message", + "icon", + "clearAt", + "status" + ], + "properties": { + "userId": { + "type": "string" + }, + "message": { + "type": "string", + "nullable": true + }, + "icon": { + "type": "string", + "nullable": true + }, + "clearAt": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "status": { + "$ref": "#/components/schemas/UserStatusType" + } + } + }, + "UserStatusType": { + "type": "string", + "enum": [ + "online", + "away", + "dnd", + "busy", + "offline", + "invisible" + ] + }, + "WeatherStatusCapabilities": { + "type": "object", + "required": [ + "weather_status" + ], + "properties": { + "weather_status": { + "type": "object", + "required": [ + "enabled" + ], + "properties": { + "enabled": { + "type": "boolean" + } + } + } + } + }, + "WeatherStatusForecast": { + "type": "object", + "required": [ + "time", + "data" + ], + "properties": { + "time": { + "type": "string" + }, + "data": { + "type": "object", + "required": [ + "instant", + "next_12_hours", + "next_1_hours", + "next_6_hours" + ], + "properties": { + "instant": { + "type": "object", + "required": [ + "details" + ], + "properties": { + "details": { + "type": "object", + "required": [ + "air_pressure_at_sea_level", + "air_temperature", + "cloud_area_fraction", + "relative_humidity", + "wind_from_direction", + "wind_speed" + ], + "properties": { + "air_pressure_at_sea_level": { + "type": "number" + }, + "air_temperature": { + "type": "number" + }, + "cloud_area_fraction": { + "type": "number" + }, + "relative_humidity": { + "type": "number" + }, + "wind_from_direction": { + "type": "number" + }, + "wind_speed": { + "type": "number" + } + } + } + } + }, + "next_12_hours": { + "type": "object", + "required": [ + "summary", + "details" + ], + "properties": { + "summary": { + "type": "object", + "required": [ + "symbol_code" + ], + "properties": { + "symbol_code": { + "type": "string" + } + } + }, + "details": { + "type": "object", + "properties": { + "precipitation_amount": { + "type": "number" + } + } + } + } + }, + "next_1_hours": { + "type": "object", + "required": [ + "summary", + "details" + ], + "properties": { + "summary": { + "type": "object", + "required": [ + "symbol_code" + ], + "properties": { + "symbol_code": { + "type": "string" + } + } + }, + "details": { + "type": "object", + "properties": { + "precipitation_amount": { + "type": "number" + } + } + } + } + }, + "next_6_hours": { + "type": "object", + "required": [ + "summary", + "details" + ], + "properties": { + "summary": { + "type": "object", + "required": [ + "symbol_code" + ], + "properties": { + "symbol_code": { + "type": "string" + } + } + }, + "details": { + "type": "object", + "properties": { + "precipitation_amount": { + "type": "number" + } + } + } + } + } + } + } + } + }, + "WeatherStatusLocation": { + "type": "object", + "properties": { + "lat": { + "type": "string" + }, + "lon": { + "type": "string" + }, + "address": { + "type": "string", + "nullable": true + } + } + }, + "WeatherStatusLocationWithMode": { + "allOf": [ + { + "$ref": "#/components/schemas/WeatherStatusLocation" + }, + { + "$ref": "#/components/schemas/WeatherStatusMode" + } + ] + }, + "WeatherStatusLocationWithSuccess": { + "allOf": [ + { + "$ref": "#/components/schemas/WeatherStatusLocation" + }, + { + "$ref": "#/components/schemas/WeatherStatusSuccess" + } + ] + }, + "WeatherStatusMode": { + "type": "object", + "required": [ + "mode" + ], + "properties": { + "mode": { + "type": "integer", + "format": "int64" + } + } + }, + "WeatherStatusSuccess": { + "type": "object", + "required": [ + "success" + ], + "properties": { + "success": { + "type": "boolean" + } + } + }, + "WebhookListenersWebhookInfo": { + "type": "object", + "required": [ + "id", + "userId", + "httpMethod", + "uri", + "authMethod" + ], + "properties": { + "id": { + "type": "string" + }, + "userId": { + "type": "string" + }, + "httpMethod": { + "type": "string" + }, + "uri": { + "type": "string" + }, + "event": { + "type": "string" + }, + "eventFilter": { + "type": "object", + "additionalProperties": { + "type": "object" + } + }, + "userIdFilter": { + "type": "string" + }, + "headers": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "authMethod": { + "type": "string" + }, + "authData": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + } + } + }, + "paths": { + "/ocs/v2.php/core/getapppassword": { + "get": { + "operationId": "core-full-app_password-get-app-password", + "summary": "Create app password", + "description": "This endpoint requires password confirmation", + "tags": [ + "core-full/app_password" + ], + "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": "App password 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": [ + "apppassword" + ], + "properties": { + "apppassword": { + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "403": { + "description": "Creating app password is not allowed", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/core/apppassword": { + "delete": { + "operationId": "core-full-app_password-delete-app-password", + "summary": "Delete app password", + "tags": [ + "core-full/app_password" + ], + "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": "App password deleted successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "403": { + "description": "Deleting app password is not allowed", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/core/apppassword/rotate": { + "post": { + "operationId": "core-full-app_password-rotate-app-password", + "summary": "Rotate app password", + "tags": [ + "core-full/app_password" + ], + "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": "App password 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": [ + "apppassword" + ], + "properties": { + "apppassword": { + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "403": { + "description": "Rotating app password is not allowed", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/core/apppassword/confirm": { + "put": { + "operationId": "core-full-app_password-confirm-user-password", + "summary": "Confirm the user password", + "tags": [ + "core-full/app_password" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "password" + ], + "properties": { + "password": { + "type": "string", + "description": "The password of the user" + } + } + } + } + } + }, + "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": "Password confirmation succeeded", + "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": [ + "lastLogin" + ], + "properties": { + "lastLogin": { + "type": "integer", + "format": "int64" + } + } + } + } + } + } + } + } + } + }, + "403": { + "description": "Password confirmation failed", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/core/autocomplete/get": { + "get": { + "operationId": "core-full-auto_complete-get", + "summary": "Autocomplete a query", + "tags": [ + "core-full/auto_complete" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "search", + "in": "query", + "description": "Text to search for", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "itemType", + "in": "query", + "description": "Type of the items to search for", + "schema": { + "type": "string", + "nullable": true + } + }, + { + "name": "itemId", + "in": "query", + "description": "ID of the items to search for", + "schema": { + "type": "string", + "nullable": true + } + }, + { + "name": "sorter", + "in": "query", + "description": "can be piped, top prio first, e.g.: \"commenters|share-recipients\"", + "schema": { + "type": "string", + "nullable": true + } + }, + { + "name": "shareTypes[]", + "in": "query", + "description": "Types of shares to search for", + "schema": { + "type": "array", + "default": [], + "items": { + "type": "integer", + "format": "int64" + } + } + }, + { + "name": "limit", + "in": "query", + "description": "Maximum number of results to return", + "schema": { + "type": "integer", + "format": "int64", + "default": 10 + } + }, + { + "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": "Autocomplete results 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/Core-fullAutocompleteResult" + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/collaboration/resources/collections/{collectionId}": { + "get": { + "operationId": "core-full-collaboration_resources-list-collection", + "summary": "Get a collection", + "tags": [ + "core-full/collaboration_resources" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "collectionId", + "in": "path", + "description": "ID of the collection", + "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": "Collection 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/Core-fullCollection" + } + } + } + } + } + } + } + }, + "404": { + "description": "Collection not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + }, + "post": { + "operationId": "core-full-collaboration_resources-add-resource", + "summary": "Add a resource to a collection", + "tags": [ + "core-full/collaboration_resources" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "resourceType", + "resourceId" + ], + "properties": { + "resourceType": { + "type": "string", + "description": "Name of the resource" + }, + "resourceId": { + "type": "string", + "description": "ID of the resource" + } + } + } + } + } + }, + "parameters": [ + { + "name": "collectionId", + "in": "path", + "description": "ID of the collection", + "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": "Collection 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/Core-fullCollection" + } + } + } + } + } + } + } + }, + "404": { + "description": "Collection not found or resource inaccessible", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + }, + "delete": { + "operationId": "core-full-collaboration_resources-remove-resource", + "summary": "Remove a resource from a collection", + "tags": [ + "core-full/collaboration_resources" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "collectionId", + "in": "path", + "description": "ID of the collection", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "resourceType", + "in": "query", + "description": "Name of the resource", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "resourceId", + "in": "query", + "description": "ID of the resource", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "Collection 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/Core-fullCollection" + } + } + } + } + } + } + } + }, + "404": { + "description": "Collection or resource not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + }, + "put": { + "operationId": "core-full-collaboration_resources-rename-collection", + "summary": "Rename a collection", + "tags": [ + "core-full/collaboration_resources" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "collectionName" + ], + "properties": { + "collectionName": { + "type": "string", + "description": "New name" + } + } + } + } + } + }, + "parameters": [ + { + "name": "collectionId", + "in": "path", + "description": "ID of the collection", + "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": "Collection 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/Core-fullCollection" + } + } + } + } + } + } + } + }, + "404": { + "description": "Collection not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/collaboration/resources/collections/search/{filter}": { + "get": { + "operationId": "core-full-collaboration_resources-search-collections", + "summary": "Search for collections", + "tags": [ + "core-full/collaboration_resources" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "filter", + "in": "path", + "description": "Filter collections", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "Collections 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/Core-fullCollection" + } + } + } + } + } + } + } + } + }, + "404": { + "description": "Collection not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/collaboration/resources/{resourceType}/{resourceId}": { + "get": { + "operationId": "core-full-collaboration_resources-get-collections-by-resource", + "summary": "Get collections by resource", + "tags": [ + "core-full/collaboration_resources" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "resourceType", + "in": "path", + "description": "Type of the resource", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "resourceId", + "in": "path", + "description": "ID of the resource", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "Collections 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/Core-fullCollection" + } + } + } + } + } + } + } + } + }, + "404": { + "description": "Resource not accessible", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/collaboration/resources/{baseResourceType}/{baseResourceId}": { + "post": { + "operationId": "core-full-collaboration_resources-create-collection-on-resource", + "summary": "Create a collection for a resource", + "tags": [ + "core-full/collaboration_resources" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string", + "description": "Name of the collection" + } + } + } + } + } + }, + "parameters": [ + { + "name": "baseResourceType", + "in": "path", + "description": "Type of the base resource", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "baseResourceId", + "in": "path", + "description": "ID of the base resource", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "Collection 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/Core-fullCollection" + } + } + } + } + } + } + } + }, + "400": { + "description": "Creating collection is not possible", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "404": { + "description": "Resource inaccessible", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/hovercard/v1/{userId}": { + "get": { + "operationId": "core-full-hover_card-get-user", + "summary": "Get the account details for a hovercard", + "tags": [ + "core-full/hover_card" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "userId", + "in": "path", + "description": "ID of the user", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "Account details 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": [ + "userId", + "displayName", + "actions" + ], + "properties": { + "userId": { + "type": "string" + }, + "displayName": { + "type": "string" + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Core-fullContactsAction" + } + } + } + } + } + } + } + } + } + } + }, + "404": { + "description": "Account not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/core/navigation/apps": { + "get": { + "operationId": "core-full-navigation-get-apps-navigation", + "summary": "Get the apps navigation", + "tags": [ + "core-full/navigation" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "absolute", + "in": "query", + "description": "Rewrite URLs to absolute ones", + "schema": { + "type": "integer", + "default": 0, + "enum": [ + 0, + 1 + ] + } + }, + { + "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": "Apps navigation 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/Core-fullNavigationEntry" + } + } + } + } + } + } + } + } + }, + "304": { + "description": "No apps navigation changed" + } + } + } + }, + "/ocs/v2.php/core/navigation/settings": { + "get": { + "operationId": "core-full-navigation-get-settings-navigation", + "summary": "Get the settings navigation", + "tags": [ + "core-full/navigation" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "absolute", + "in": "query", + "description": "Rewrite URLs to absolute ones", + "schema": { + "type": "integer", + "default": 0, + "enum": [ + 0, + 1 + ] + } + }, + { + "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": "Apps navigation 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/Core-fullNavigationEntry" + } + } + } + } + } + } + } + } + }, + "304": { + "description": "No apps navigation changed" + } + } + } + }, + "/ocs/v2.php/cloud/capabilities": { + "get": { + "operationId": "core-full-ocs-get-capabilities", + "summary": "Get the capabilities", + "tags": [ + "core-full/ocs" + ], + "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": "Capabilities 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": [ + "version", + "capabilities" + ], + "properties": { + "version": { + "type": "object", + "required": [ + "major", + "minor", + "micro", + "string", + "edition", + "extendedSupport" + ], + "properties": { + "major": { + "type": "integer", + "format": "int64" + }, + "minor": { + "type": "integer", + "format": "int64" + }, + "micro": { + "type": "integer", + "format": "int64" + }, + "string": { + "type": "string" + }, + "edition": { + "type": "string" + }, + "extendedSupport": { + "type": "boolean" + } + } + }, + "capabilities": { + "type": "object", + "additionalProperties": { + "type": "object" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/Core-fullCapabilities" + }, + { + "$ref": "#/components/schemas/Core-fullPublicCapabilities" + }, + { + "$ref": "#/components/schemas/CloudFederationApiCapabilities" + }, + { + "$ref": "#/components/schemas/CommentsCapabilities" + }, + { + "$ref": "#/components/schemas/DavCapabilities" + }, + { + "$ref": "#/components/schemas/FilesCapabilities" + }, + { + "$ref": "#/components/schemas/FilesSharingCapabilities" + }, + { + "$ref": "#/components/schemas/FilesTrashbinCapabilities" + }, + { + "$ref": "#/components/schemas/FilesVersionsCapabilities" + }, + { + "$ref": "#/components/schemas/ProvisioningApi-fullCapabilities" + }, + { + "$ref": "#/components/schemas/SharebymailCapabilities" + }, + { + "$ref": "#/components/schemas/SystemtagsCapabilities" + }, + { + "$ref": "#/components/schemas/ThemingPublicCapabilities" + }, + { + "$ref": "#/components/schemas/UserStatusCapabilities" + }, + { + "$ref": "#/components/schemas/WeatherStatusCapabilities" + } + ] + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/profile/{targetUserId}": { + "put": { + "operationId": "core-full-profile_api-set-visibility", + "summary": "Update the visibility of a parameter", + "description": "This endpoint requires password confirmation", + "tags": [ + "core-full/profile_api" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "paramId", + "visibility" + ], + "properties": { + "paramId": { + "type": "string", + "description": "ID of the parameter" + }, + "visibility": { + "type": "string", + "description": "New visibility" + } + } + } + } + } + }, + "parameters": [ + { + "name": "targetUserId", + "in": "path", + "description": "ID of the user", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "Visibility updated successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "400": { + "description": "Updating visibility is not possible", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "403": { + "description": "Not allowed to edit other users visibility", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "404": { + "description": "Account not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/references/extract": { + "post": { + "operationId": "core-full-reference_api-extract", + "summary": "Extract references from a text", + "tags": [ + "core-full/reference_api" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "text" + ], + "properties": { + "text": { + "type": "string", + "description": "Text to extract from" + }, + "resolve": { + "type": "boolean", + "default": false, + "description": "Resolve the references" + }, + "limit": { + "type": "integer", + "format": "int64", + "default": 1, + "description": "Maximum amount of references to extract" + } + } + } + } + } + }, + "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": "References 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": [ + "references" + ], + "properties": { + "references": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Core-fullReference", + "nullable": true + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/references/extractPublic": { + "post": { + "operationId": "core-full-reference_api-extract-public", + "summary": "Extract references from a text", + "tags": [ + "core-full/reference_api" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "text", + "sharingToken" + ], + "properties": { + "text": { + "type": "string", + "description": "Text to extract from" + }, + "sharingToken": { + "type": "string", + "description": "Token of the public share" + }, + "resolve": { + "type": "boolean", + "default": false, + "description": "Resolve the references" + }, + "limit": { + "type": "integer", + "format": "int64", + "default": 1, + "description": "Maximum amount of references to extract, limited to 15" + } + } + } + } + } + }, + "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": "References 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": [ + "references" + ], + "properties": { + "references": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Core-fullReference", + "nullable": true + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/references/resolve": { + "get": { + "operationId": "core-full-reference_api-resolve-one", + "summary": "Resolve a reference", + "tags": [ + "core-full/reference_api" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "reference", + "in": "query", + "description": "Reference to resolve", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "Reference 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": [ + "references" + ], + "properties": { + "references": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Core-fullReference", + "nullable": true + } + } + } + } + } + } + } + } + } + } + } + } + }, + "post": { + "operationId": "core-full-reference_api-resolve", + "summary": "Resolve multiple references", + "tags": [ + "core-full/reference_api" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "references" + ], + "properties": { + "references": { + "type": "array", + "description": "References to resolve", + "items": { + "type": "string" + } + }, + "limit": { + "type": "integer", + "format": "int64", + "default": 1, + "description": "Maximum amount of references to resolve" + } + } + } + } + } + }, + "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": "References 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": [ + "references" + ], + "properties": { + "references": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Core-fullReference", + "nullable": true + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/references/resolvePublic": { + "get": { + "operationId": "core-full-reference_api-resolve-one-public", + "summary": "Resolve from a public page", + "tags": [ + "core-full/reference_api" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "reference", + "in": "query", + "description": "Reference to resolve", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "sharingToken", + "in": "query", + "description": "Token of the public share", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "Reference 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": [ + "references" + ], + "properties": { + "references": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Core-fullReference", + "nullable": true + } + } + } + } + } + } + } + } + } + } + } + } + }, + "post": { + "operationId": "core-full-reference_api-resolve-public", + "summary": "Resolve multiple references from a public page", + "tags": [ + "core-full/reference_api" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "references", + "sharingToken" + ], + "properties": { + "references": { + "type": "array", + "description": "References to resolve", + "items": { + "type": "string" + } + }, + "sharingToken": { + "type": "string", + "description": "Token of the public share" + }, + "limit": { + "type": "integer", + "format": "int64", + "default": 1, + "description": "Maximum amount of references to resolve, limited to 15" + } + } + } + } + } + }, + "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": "References 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": [ + "references" + ], + "properties": { + "references": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Core-fullReference", + "nullable": true + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/references/providers": { + "get": { + "operationId": "core-full-reference_api-get-providers-info", + "summary": "Get the providers", + "tags": [ + "core-full/reference_api" + ], + "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": "Providers 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/Core-fullReferenceProvider" + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/references/provider/{providerId}": { + "put": { + "operationId": "core-full-reference_api-touch-provider", + "summary": "Touch a provider", + "tags": [ + "core-full/reference_api" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": false, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "timestamp": { + "type": "integer", + "format": "int64", + "nullable": true, + "description": "Timestamp of the last usage" + } + } + } + } + } + }, + "parameters": [ + { + "name": "providerId", + "in": "path", + "description": "ID of the provider", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "Provider touched", + "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" + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/taskprocessing/tasktypes": { + "get": { + "operationId": "core-full-task_processing_api-task-types", + "summary": "Returns all available TaskProcessing task types", + "tags": [ + "core-full/task_processing_api" + ], + "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": "Task types 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": [ + "types" + ], + "properties": { + "types": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Core-fullTaskProcessingTaskType" + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/taskprocessing/schedule": { + "post": { + "operationId": "core-full-task_processing_api-schedule", + "summary": "Schedules a task", + "tags": [ + "core-full/task_processing_api" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "input", + "type", + "appId" + ], + "properties": { + "input": { + "type": "object", + "description": "Task's input parameters", + "additionalProperties": { + "type": "object" + } + }, + "type": { + "type": "string", + "description": "Type of the task" + }, + "appId": { + "type": "string", + "description": "ID of the app that will execute the task" + }, + "customId": { + "type": "string", + "default": "", + "description": "An arbitrary identifier for the task" + }, + "webhookUri": { + "type": "string", + "nullable": true, + "description": "URI to be requested when the task finishes" + }, + "webhookMethod": { + "type": "string", + "nullable": true, + "description": "Method used for the webhook request (HTTP:GET, HTTP:POST, HTTP:PUT, HTTP:DELETE or AppAPI:APP_ID:GET, AppAPI:APP_ID:POST...)" + } + } + } + } + } + }, + "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": "Task scheduled 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": [ + "task" + ], + "properties": { + "task": { + "$ref": "#/components/schemas/Core-fullTaskProcessingTask" + } + } + } + } + } + } + } + } + } + }, + "500": { + "description": "", + "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": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "400": { + "description": "Scheduling task is not possible", + "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": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "412": { + "description": "Scheduling task is not possible", + "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": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "401": { + "description": "Cannot schedule task because it references files in its input that the user doesn't have access to", + "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": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/taskprocessing/task/{id}": { + "get": { + "operationId": "core-full-task_processing_api-get-task", + "summary": "Gets a task including status and result", + "description": "Tasks are removed 1 week after receiving their last update", + "tags": [ + "core-full/task_processing_api" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "The id of the task", + "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": "Task 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": [ + "task" + ], + "properties": { + "task": { + "$ref": "#/components/schemas/Core-fullTaskProcessingTask" + } + } + } + } + } + } + } + } + } + }, + "404": { + "description": "Task not found", + "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": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "500": { + "description": "", + "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": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + }, + "delete": { + "operationId": "core-full-task_processing_api-delete-task", + "summary": "Deletes a task", + "tags": [ + "core-full/task_processing_api" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "The id of the task", + "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": "Task deleted", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": { + "nullable": true + } + } + } + } + } + } + } + }, + "500": { + "description": "", + "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": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/taskprocessing/tasks/app/{appId}": { + "get": { + "operationId": "core-full-task_processing_api-list-tasks-by-app", + "summary": "Returns tasks for the current user filtered by the appId and optional customId", + "tags": [ + "core-full/task_processing_api" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "appId", + "in": "path", + "description": "ID of the app", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "customId", + "in": "query", + "description": "An arbitrary identifier for the task", + "schema": { + "type": "string", + "nullable": true + } + }, + { + "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": "Tasks 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": [ + "tasks" + ], + "properties": { + "tasks": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Core-fullTaskProcessingTask" + } + } + } + } + } + } + } + } + } + } + }, + "500": { + "description": "", + "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": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/taskprocessing/tasks": { + "get": { + "operationId": "core-full-task_processing_api-list-tasks", + "summary": "Returns tasks for the current user filtered by the optional taskType and optional customId", + "tags": [ + "core-full/task_processing_api" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "taskType", + "in": "query", + "description": "The task type to filter by", + "schema": { + "type": "string", + "nullable": true + } + }, + { + "name": "customId", + "in": "query", + "description": "An arbitrary identifier for the task", + "schema": { + "type": "string", + "nullable": true + } + }, + { + "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": "Tasks 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": [ + "tasks" + ], + "properties": { + "tasks": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Core-fullTaskProcessingTask" + } + } + } + } + } + } + } + } + } + } + }, + "500": { + "description": "", + "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": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/taskprocessing/tasks/{taskId}/file/{fileId}": { + "get": { + "operationId": "core-full-task_processing_api-get-file-contents", + "summary": "Returns the contents of a file referenced in a task", + "tags": [ + "core-full/task_processing_api" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "taskId", + "in": "path", + "description": "The id of the task", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "fileId", + "in": "path", + "description": "The file id of the file to retrieve", + "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": "File content returned", + "content": { + "*/*": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + }, + "500": { + "description": "", + "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": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "404": { + "description": "Task or file not found", + "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": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/taskprocessing/tasks/{taskId}/cancel": { + "post": { + "operationId": "core-full-task_processing_api-cancel-task", + "summary": "Cancels a task", + "tags": [ + "core-full/task_processing_api" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "taskId", + "in": "path", + "description": "The id of the task", + "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": "Task canceled 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": [ + "task" + ], + "properties": { + "task": { + "$ref": "#/components/schemas/Core-fullTaskProcessingTask" + } + } + } + } + } + } + } + } + } + }, + "500": { + "description": "", + "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": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "404": { + "description": "Task not found", + "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": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/teams/{teamId}/resources": { + "get": { + "operationId": "core-full-teams_api-resolve-one", + "summary": "Get all resources of a team", + "tags": [ + "core-full/teams_api" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "teamId", + "in": "path", + "description": "Unique id of the team", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "Resources 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": [ + "resources" + ], + "properties": { + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Core-fullTeamResource" + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/teams/resources/{providerId}/{resourceId}": { + "get": { + "operationId": "core-full-teams_api-list-teams", + "summary": "Get all teams of a resource", + "tags": [ + "core-full/teams_api" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "providerId", + "in": "path", + "description": "Identifier of the provider (e.g. deck, talk, collectives)", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "resourceId", + "in": "path", + "description": "Unique id of the resource to list teams for (e.g. deck board id)", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "Teams 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": [ + "teams" + ], + "properties": { + "teams": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Core-fullTeam" + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/textprocessing/tasktypes": { + "get": { + "operationId": "core-full-text_processing_api-task-types", + "summary": "This endpoint returns all available LanguageModel task types", + "tags": [ + "core-full/text_processing_api" + ], + "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": "Task types 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": [ + "types" + ], + "properties": { + "types": { + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "name", + "description" + ], + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/textprocessing/schedule": { + "post": { + "operationId": "core-full-text_processing_api-schedule", + "summary": "This endpoint allows scheduling a language model task", + "tags": [ + "core-full/text_processing_api" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "input", + "type", + "appId" + ], + "properties": { + "input": { + "type": "string", + "description": "Input text" + }, + "type": { + "type": "string", + "description": "Type of the task" + }, + "appId": { + "type": "string", + "description": "ID of the app that will execute the task" + }, + "identifier": { + "type": "string", + "default": "", + "description": "An arbitrary identifier for the task" + } + } + } + } + } + }, + "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": "Task scheduled 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": [ + "task" + ], + "properties": { + "task": { + "$ref": "#/components/schemas/Core-fullTextProcessingTask" + } + } + } + } + } + } + } + } + } + }, + "500": { + "description": "", + "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": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "400": { + "description": "Scheduling task is not possible", + "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": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "412": { + "description": "Scheduling task is not possible", + "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": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/textprocessing/task/{id}": { + "get": { + "operationId": "core-full-text_processing_api-get-task", + "summary": "This endpoint allows checking the status and results of a task. Tasks are removed 1 week after receiving their last update.", + "tags": [ + "core-full/text_processing_api" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "The id of the task", + "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": "Task 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": [ + "task" + ], + "properties": { + "task": { + "$ref": "#/components/schemas/Core-fullTextProcessingTask" + } + } + } + } + } + } + } + } + } + }, + "404": { + "description": "Task not found", + "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": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "500": { + "description": "", + "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": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + }, + "delete": { + "operationId": "core-full-text_processing_api-delete-task", + "summary": "This endpoint allows to delete a scheduled task for a user", + "tags": [ + "core-full/text_processing_api" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "The id of the task", + "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": "Task 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": [ + "task" + ], + "properties": { + "task": { + "$ref": "#/components/schemas/Core-fullTextProcessingTask" + } + } + } + } + } + } + } + } + } + }, + "404": { + "description": "Task not found", + "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": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "500": { + "description": "", + "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": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/textprocessing/tasks/app/{appId}": { + "get": { + "operationId": "core-full-text_processing_api-list-tasks-by-app", + "summary": "This endpoint returns a list of tasks of a user that are related with a specific appId and optionally with an identifier", + "tags": [ + "core-full/text_processing_api" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "appId", + "in": "path", + "description": "ID of the app", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "identifier", + "in": "query", + "description": "An arbitrary identifier for the task", + "schema": { + "type": "string", + "nullable": true + } + }, + { + "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": "Task list 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": [ + "tasks" + ], + "properties": { + "tasks": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Core-fullTextProcessingTask" + } + } + } + } + } + } + } + } + } + } + }, + "500": { + "description": "", + "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": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/text2image/is_available": { + "get": { + "operationId": "core-full-text_to_image_api-is-available", + "summary": "Check whether this feature is available", + "tags": [ + "core-full/text_to_image_api" + ], + "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": "Returns availability status", + "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": [ + "isAvailable" + ], + "properties": { + "isAvailable": { + "type": "boolean" + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/text2image/schedule": { + "post": { + "operationId": "core-full-text_to_image_api-schedule", + "summary": "This endpoint allows scheduling a text to image task", + "tags": [ + "core-full/text_to_image_api" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "input", + "appId" + ], + "properties": { + "input": { + "type": "string", + "description": "Input text" + }, + "appId": { + "type": "string", + "description": "ID of the app that will execute the task" + }, + "identifier": { + "type": "string", + "default": "", + "description": "An arbitrary identifier for the task" + }, + "numberOfImages": { + "type": "integer", + "format": "int64", + "default": 8, + "description": "The number of images to generate" + } + } + } + } + } + }, + "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": "Task scheduled 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": [ + "task" + ], + "properties": { + "task": { + "$ref": "#/components/schemas/Core-fullTextToImageTask" + } + } + } + } + } + } + } + } + } + }, + "412": { + "description": "Scheduling task is not possible", + "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": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "500": { + "description": "", + "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": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/text2image/task/{id}": { + "get": { + "operationId": "core-full-text_to_image_api-get-task", + "summary": "This endpoint allows checking the status and results of a task. Tasks are removed 1 week after receiving their last update.", + "tags": [ + "core-full/text_to_image_api" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "The id of the task", + "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": "Task 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": [ + "task" + ], + "properties": { + "task": { + "$ref": "#/components/schemas/Core-fullTextToImageTask" + } + } + } + } + } + } + } + } + } + }, + "404": { + "description": "Task not found", + "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": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "500": { + "description": "", + "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": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + }, + "delete": { + "operationId": "core-full-text_to_image_api-delete-task", + "summary": "This endpoint allows to delete a scheduled task for a user", + "tags": [ + "core-full/text_to_image_api" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "The id of the task", + "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": "Task 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": [ + "task" + ], + "properties": { + "task": { + "$ref": "#/components/schemas/Core-fullTextToImageTask" + } + } + } + } + } + } + } + } + } + }, + "404": { + "description": "Task not found", + "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": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "500": { + "description": "", + "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": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/text2image/task/{id}/image/{index}": { + "get": { + "operationId": "core-full-text_to_image_api-get-image", + "summary": "This endpoint allows downloading the resulting image of a task", + "tags": [ + "core-full/text_to_image_api" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "The id of the task", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "index", + "in": "path", + "description": "The index of the image to retrieve", + "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": "Image returned", + "content": { + "*/*": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + }, + "404": { + "description": "Task or image not found", + "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": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "500": { + "description": "", + "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": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/text2image/tasks/app/{appId}": { + "get": { + "operationId": "core-full-text_to_image_api-list-tasks-by-app", + "summary": "This endpoint returns a list of tasks of a user that are related with a specific appId and optionally with an identifier", + "tags": [ + "core-full/text_to_image_api" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "appId", + "in": "path", + "description": "ID of the app", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "identifier", + "in": "query", + "description": "An arbitrary identifier for the task", + "schema": { + "type": "string", + "nullable": true + } + }, + { + "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": "Task list 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": [ + "tasks" + ], + "properties": { + "tasks": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Core-fullTextToImageTask" + } + } + } + } + } + } + } + } + } + } + }, + "500": { + "description": "", + "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": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/translation/languages": { + "get": { + "operationId": "core-full-translation_api-languages", + "summary": "Get the list of supported languages", + "tags": [ + "core-full/translation_api" + ], + "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": "Supported languages 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": [ + "languages", + "languageDetection" + ], + "properties": { + "languages": { + "type": "array", + "items": { + "type": "object", + "required": [ + "from", + "fromLabel", + "to", + "toLabel" + ], + "properties": { + "from": { + "type": "string" + }, + "fromLabel": { + "type": "string" + }, + "to": { + "type": "string" + }, + "toLabel": { + "type": "string" + } + } + } + }, + "languageDetection": { + "type": "boolean" + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/translation/translate": { + "post": { + "operationId": "core-full-translation_api-translate", + "summary": "Translate a text", + "tags": [ + "core-full/translation_api" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "text", + "toLanguage" + ], + "properties": { + "text": { + "type": "string", + "description": "Text to be translated" + }, + "fromLanguage": { + "type": "string", + "nullable": true, + "description": "Language to translate from" + }, + "toLanguage": { + "type": "string", + "description": "Language to translate to" + } + } + } + } + } + }, + "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": "Translated text 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": [ + "text", + "from" + ], + "properties": { + "text": { + "type": "string" + }, + "from": { + "type": "string", + "nullable": true + } + } + } + } + } + } + } + } + } + }, + "400": { + "description": "Language not detected or unable to translate", + "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": [ + "message" + ], + "properties": { + "message": { + "type": "string" + }, + "from": { + "type": "string", + "nullable": true + } + } + } + } + } + } + } + } + } + }, + "412": { + "description": "Translating is not possible", + "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": [ + "message" + ], + "properties": { + "message": { + "type": "string" + }, + "from": { + "type": "string", + "nullable": true + } + } + } + } + } + } + } + } + } + }, + "500": { + "description": "", + "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": [ + "message" + ], + "properties": { + "message": { + "type": "string" + }, + "from": { + "type": "string", + "nullable": true + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/search/providers": { + "get": { + "operationId": "core-full-unified_search-get-providers", + "summary": "Get the providers for unified search", + "tags": [ + "core-full/unified_search" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "from", + "in": "query", + "description": "the url the user is currently at", + "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": "Providers 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/Core-fullUnifiedSearchProvider" + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/search/providers/{providerId}/search": { + "get": { + "operationId": "core-full-unified_search-search", + "summary": "Launch a search for a specific search provider.", + "description": "Additional filters are available for each provider. Send a request to /providers endpoint to list providers with their available filters.", + "tags": [ + "core-full/unified_search" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "providerId", + "in": "path", + "description": "ID of the provider", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "term", + "in": "query", + "description": "Term to search", + "schema": { + "type": "string", + "default": "" + } + }, + { + "name": "sortOrder", + "in": "query", + "description": "Order of entries", + "schema": { + "type": "integer", + "format": "int64", + "nullable": true + } + }, + { + "name": "limit", + "in": "query", + "description": "Maximum amount of entries, limited to 25", + "schema": { + "type": "integer", + "format": "int64", + "nullable": true + } + }, + { + "name": "cursor", + "in": "query", + "description": "Offset for searching", + "schema": { + "nullable": true, + "oneOf": [ + { + "type": "integer", + "format": "int64" + }, + { + "type": "string" + } + ] + } + }, + { + "name": "from", + "in": "query", + "description": "The current user URL", + "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": "Search entries 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/Core-fullUnifiedSearchResult" + } + } + } + } + } + } + } + }, + "400": { + "description": "Searching is not possible", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/core/whatsnew": { + "get": { + "operationId": "core-full-whats_new-get", + "summary": "Get the changes", + "tags": [ + "core-full/whats_new" + ], + "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": "Changes 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": [ + "changelogURL", + "product", + "version" + ], + "properties": { + "changelogURL": { + "type": "string" + }, + "product": { + "type": "string" + }, + "version": { + "type": "string" + }, + "whatsNew": { + "type": "object", + "required": [ + "regular", + "admin" + ], + "properties": { + "regular": { + "type": "array", + "items": { + "type": "string" + } + }, + "admin": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + }, + "204": { + "description": "No changes" + } + } + }, + "post": { + "operationId": "core-full-whats_new-dismiss", + "summary": "Dismiss the changes", + "tags": [ + "core-full/whats_new" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "version" + ], + "properties": { + "version": { + "type": "string", + "description": "Version to dismiss the changes for" + } + } + } + } + } + }, + "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": "Changes dismissed", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "500": { + "description": "", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } + } + } + } + }, + "/index.php/avatar/{userId}/{size}/dark": { + "get": { + "operationId": "core-full-avatar-get-avatar-dark", + "summary": "Get the dark avatar", + "tags": [ + "core-full/avatar" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "userId", + "in": "path", + "description": "ID of the user", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "size", + "in": "path", + "description": "Size of the avatar", + "required": true, + "schema": { + "type": "integer", + "format": "int64", + "enum": [ + 64, + 512 + ] + } + }, + { + "name": "guestFallback", + "in": "query", + "description": "Fallback to guest avatar if not found", + "schema": { + "type": "integer", + "default": 0, + "enum": [ + 0, + 1 + ] + } + } + ], + "responses": { + "200": { + "description": "Avatar returned", + "headers": { + "X-NC-IsCustomAvatar": { + "schema": { + "type": "integer", + "format": "int64" + } + } + }, + "content": { + "*/*": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + }, + "201": { + "description": "Avatar returned", + "headers": { + "X-NC-IsCustomAvatar": { + "schema": { + "type": "integer", + "format": "int64" + } + } + }, + "content": { + "*/*": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + }, + "404": { + "description": "Avatar not found", + "content": { + "application/json": { + "schema": [] + } + } + }, + "500": { + "description": "" + } + } + } + }, + "/index.php/avatar/{userId}/{size}": { + "get": { + "operationId": "core-full-avatar-get-avatar", + "summary": "Get the avatar", + "tags": [ + "core-full/avatar" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "userId", + "in": "path", + "description": "ID of the user", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "size", + "in": "path", + "description": "Size of the avatar", + "required": true, + "schema": { + "type": "integer", + "format": "int64", + "enum": [ + 64, + 512 + ] + } + }, + { + "name": "guestFallback", + "in": "query", + "description": "Fallback to guest avatar if not found", + "schema": { + "type": "integer", + "default": 0, + "enum": [ + 0, + 1 + ] + } + } + ], + "responses": { + "200": { + "description": "Avatar returned", + "headers": { + "X-NC-IsCustomAvatar": { + "schema": { + "type": "integer", + "format": "int64" + } + } + }, + "content": { + "*/*": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + }, + "201": { + "description": "Avatar returned", + "headers": { + "X-NC-IsCustomAvatar": { + "schema": { + "type": "integer", + "format": "int64" + } + } + }, + "content": { + "*/*": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + }, + "404": { + "description": "Avatar not found", + "content": { + "application/json": { + "schema": [] + } + } + }, + "500": { + "description": "" + } + } + } + }, + "/index.php/csrftoken": { + "get": { + "operationId": "core-full-csrf_token-index", + "summary": "Returns a new CSRF token.", + "tags": [ + "core-full/csrf_token" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "responses": { + "200": { + "description": "CSRF token returned", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "token" + ], + "properties": { + "token": { + "type": "string" + } + } + } + } + } + }, + "403": { + "description": "Strict cookie check failed", + "content": { + "application/json": { + "schema": [] + } + } + } + } + } + }, + "/index.php/login/v2/poll": { + "post": { + "operationId": "core-full-client_flow_login_v2-poll", + "summary": "Poll the login flow credentials", + "tags": [ + "core-full/client_flow_login_v2" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "token" + ], + "properties": { + "token": { + "type": "string", + "description": "Token of the flow" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "Login flow credentials returned", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Core-fullLoginFlowV2Credentials" + } + } + } + }, + "404": { + "description": "Login flow not found or completed", + "content": { + "application/json": { + "schema": [] + } + } + } + } + } + }, + "/index.php/login/v2": { + "post": { + "operationId": "core-full-client_flow_login_v2-init", + "summary": "Init a login flow", + "tags": [ + "core-full/client_flow_login_v2" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "responses": { + "200": { + "description": "Login flow init returned", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Core-fullLoginFlowV2" + } + } + } + } + } + } + }, + "/index.php/avatar/guest/{guestName}/{size}": { + "get": { + "operationId": "core-full-guest_avatar-get-avatar", + "summary": "Returns a guest avatar image response", + "tags": [ + "core-full/guest_avatar" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "guestName", + "in": "path", + "description": "The guest name, e.g. \"Albert\"", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "size", + "in": "path", + "description": "The desired avatar size, e.g. 64 for 64x64px", + "required": true, + "schema": { + "type": "integer", + "format": "int64", + "enum": [ + 64, + 512 + ] + } + }, + { + "name": "darkTheme", + "in": "query", + "description": "Return dark avatar", + "schema": { + "type": "integer", + "nullable": true, + "default": 0, + "enum": [ + 0, + 1 + ] + } + } + ], + "responses": { + "200": { + "description": "Custom avatar returned", + "headers": { + "X-NC-IsCustomAvatar": { + "schema": { + "type": "integer", + "format": "int64" + } + } + }, + "content": { + "*/*": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + }, + "201": { + "description": "Avatar returned", + "headers": { + "X-NC-IsCustomAvatar": { + "schema": { + "type": "integer", + "format": "int64" + } + } + }, + "content": { + "*/*": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + }, + "500": { + "description": "" + } + } + } + }, + "/index.php/avatar/guest/{guestName}/{size}/dark": { + "get": { + "operationId": "core-full-guest_avatar-get-avatar-dark", + "summary": "Returns a dark guest avatar image response", + "tags": [ + "core-full/guest_avatar" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "guestName", + "in": "path", + "description": "The guest name, e.g. \"Albert\"", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "size", + "in": "path", + "description": "The desired avatar size, e.g. 64 for 64x64px", + "required": true, + "schema": { + "type": "integer", + "format": "int64", + "enum": [ + 64, + 512 + ] + } + } + ], + "responses": { + "200": { + "description": "Custom avatar returned", + "headers": { + "X-NC-IsCustomAvatar": { + "schema": { + "type": "integer", + "format": "int64" + } + } + }, + "content": { + "*/*": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + }, + "201": { + "description": "Avatar returned", + "headers": { + "X-NC-IsCustomAvatar": { + "schema": { + "type": "integer", + "format": "int64" + } + } + }, + "content": { + "*/*": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + }, + "500": { + "description": "" + } + } + } + }, + "/index.php/login/confirm": { + "post": { + "operationId": "core-full-login-confirm-password", + "summary": "Confirm the user password", + "tags": [ + "core-full/login" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "password" + ], + "properties": { + "password": { + "type": "string", + "description": "The password of the user" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "Password confirmation succeeded", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "lastLogin" + ], + "properties": { + "lastLogin": { + "type": "integer", + "format": "int64" + } + } + } + } + } + }, + "403": { + "description": "Password confirmation failed", + "content": { + "application/json": { + "schema": [] + } + } + } + } + } + }, + "/index.php/ocm-provider": { + "get": { + "operationId": "core-full-ocm-discovery", + "summary": "generate a OCMProvider with local data and send it as DataResponse. This replaces the old PHP file ocm-provider/index.php", + "tags": [ + "core-full/ocm" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "responses": { + "200": { + "description": "OCM Provider details returned", + "headers": { + "X-NEXTCLOUD-OCM-PROVIDERS": { + "schema": { + "type": "boolean", + "enum": [ + true + ] + } + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "enabled", + "apiVersion", + "endPoint", + "resourceTypes" + ], + "properties": { + "enabled": { + "type": "boolean" + }, + "apiVersion": { + "type": "string" + }, + "endPoint": { + "type": "string" + }, + "resourceTypes": { + "type": "array", + "items": { + "type": "object", + "required": [ + "name", + "shareTypes", + "protocols" + ], + "properties": { + "name": { + "type": "string" + }, + "shareTypes": { + "type": "array", + "items": { + "type": "string" + } + }, + "protocols": { + "type": "object", + "required": [ + "webdav" + ], + "properties": { + "webdav": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + }, + "500": { + "description": "OCM not supported", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + }, + "/index.php/core/preview.png": { + "get": { + "operationId": "core-full-preview-get-preview", + "summary": "Get a preview by file path", + "tags": [ + "core-full/preview" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "file", + "in": "query", + "description": "Path of the file", + "schema": { + "type": "string", + "default": "" + } + }, + { + "name": "x", + "in": "query", + "description": "Width of the preview. A width of -1 will use the original image width.", + "schema": { + "type": "integer", + "format": "int64", + "default": 32 + } + }, + { + "name": "y", + "in": "query", + "description": "Height of the preview. A height of -1 will use the original image height.", + "schema": { + "type": "integer", + "format": "int64", + "default": 32 + } + }, + { + "name": "a", + "in": "query", + "description": "Preserve the aspect ratio", + "schema": { + "type": "integer", + "default": 0, + "enum": [ + 0, + 1 + ] + } + }, + { + "name": "forceIcon", + "in": "query", + "description": "Force returning an icon", + "schema": { + "type": "integer", + "default": 1, + "enum": [ + 0, + 1 + ] + } + }, + { + "name": "mode", + "in": "query", + "description": "How to crop the image", + "schema": { + "type": "string", + "default": "fill", + "enum": [ + "fill", + "cover" + ] + } + }, + { + "name": "mimeFallback", + "in": "query", + "description": "Whether to fallback to the mime icon if no preview is available", + "schema": { + "type": "integer", + "default": 0, + "enum": [ + 0, + 1 + ] + } + } + ], + "responses": { + "200": { + "description": "Preview returned", + "content": { + "*/*": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + }, + "400": { + "description": "Getting preview is not possible", + "content": { + "application/json": { + "schema": [] + } + } + }, + "403": { + "description": "Getting preview is not allowed", + "content": { + "application/json": { + "schema": [] + } + } + }, + "404": { + "description": "Preview not found", + "content": { + "application/json": { + "schema": [] + } + } + }, + "303": { + "description": "Redirect to the mime icon url if mimeFallback is true", + "headers": { + "Location": { + "schema": { + "type": "string" + } + } + } + } + } + } + }, + "/index.php/core/preview": { + "get": { + "operationId": "core-full-preview-get-preview-by-file-id", + "summary": "Get a preview by file ID", + "tags": [ + "core-full/preview" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "fileId", + "in": "query", + "description": "ID of the file", + "schema": { + "type": "integer", + "format": "int64", + "default": -1 + } + }, + { + "name": "x", + "in": "query", + "description": "Width of the preview. A width of -1 will use the original image width.", + "schema": { + "type": "integer", + "format": "int64", + "default": 32 + } + }, + { + "name": "y", + "in": "query", + "description": "Height of the preview. A height of -1 will use the original image height.", + "schema": { + "type": "integer", + "format": "int64", + "default": 32 + } + }, + { + "name": "a", + "in": "query", + "description": "Preserve the aspect ratio", + "schema": { + "type": "integer", + "default": 0, + "enum": [ + 0, + 1 + ] + } + }, + { + "name": "forceIcon", + "in": "query", + "description": "Force returning an icon", + "schema": { + "type": "integer", + "default": 1, + "enum": [ + 0, + 1 + ] + } + }, + { + "name": "mode", + "in": "query", + "description": "How to crop the image", + "schema": { + "type": "string", + "default": "fill", + "enum": [ + "fill", + "cover" + ] + } + }, + { + "name": "mimeFallback", + "in": "query", + "description": "Whether to fallback to the mime icon if no preview is available", + "schema": { + "type": "integer", + "default": 0, + "enum": [ + 0, + 1 + ] + } + } + ], + "responses": { + "200": { + "description": "Preview returned", + "content": { + "*/*": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + }, + "400": { + "description": "Getting preview is not possible", + "content": { + "application/json": { + "schema": [] + } + } + }, + "403": { + "description": "Getting preview is not allowed", + "content": { + "application/json": { + "schema": [] + } + } + }, + "404": { + "description": "Preview not found", + "content": { + "application/json": { + "schema": [] + } + } + }, + "303": { + "description": "Redirect to the mime icon url if mimeFallback is true", + "headers": { + "Location": { + "schema": { + "type": "string" + } + } + } + } + } + } + }, + "/index.php/core/mimeicon": { + "get": { + "operationId": "core-full-preview-get-mime-icon-url", + "summary": "Get a preview by mime", + "tags": [ + "core-full/preview" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "mime", + "in": "query", + "description": "Mime type", + "schema": { + "type": "string", + "default": "application/octet-stream" + } + } + ], + "responses": { + "303": { + "description": "The mime icon url", + "headers": { + "Location": { + "schema": { + "type": "string" + } + } + } + } + } + } + }, + "/index.php/core/references/preview/{referenceId}": { + "get": { + "operationId": "core-full-reference-preview", + "summary": "Get a preview for a reference", + "tags": [ + "core-full/reference" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "referenceId", + "in": "path", + "description": "the reference cache key", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Preview returned", + "content": { + "*/*": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + }, + "404": { + "description": "Reference not found", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + } + } + }, + "/index.php/core/wipe/check": { + "post": { + "operationId": "core-full-wipe-check-wipe", + "summary": "Check if the device should be wiped", + "tags": [ + "core-full/wipe" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "token" + ], + "properties": { + "token": { + "type": "string", + "description": "App password" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "Device should be wiped", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "wipe" + ], + "properties": { + "wipe": { + "type": "boolean" + } + } + } + } + } + }, + "404": { + "description": "Device should not be wiped", + "content": { + "application/json": { + "schema": [] + } + } + } + } + } + }, + "/index.php/core/wipe/success": { + "post": { + "operationId": "core-full-wipe-wipe-done", + "summary": "Finish the wipe", + "tags": [ + "core-full/wipe" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "token" + ], + "properties": { + "token": { + "type": "string", + "description": "App password" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "Wipe finished successfully", + "content": { + "application/json": { + "schema": [] + } + } + }, + "404": { + "description": "Device should not be wiped", + "content": { + "application/json": { + "schema": [] + } + } + } + } + } + }, + "/status.php": { + "get": { + "operationId": "core-full-get-status", + "responses": { + "200": { + "description": "Status returned", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Core-fullStatus" + } + } + } + } + }, + "tags": [ + "core-full" + ] + } + }, + "/ocs/v2.php/taskprocessing/tasks_provider/{taskId}/file/{fileId}": { + "get": { + "operationId": "core-full-task_processing_api-get-file-contents-ex-app", + "summary": "Returns the contents of a file referenced in a task(ExApp route version)", + "description": "This endpoint requires admin access", + "tags": [ + "core-full/task_processing_api" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "taskId", + "in": "path", + "description": "The id of the task", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "fileId", + "in": "path", + "description": "The file id of the file to retrieve", + "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": "File content returned", + "content": { + "*/*": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + }, + "500": { + "description": "", + "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": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "404": { + "description": "Task or file not found", + "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": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/taskprocessing/tasks_provider/{taskId}/file": { + "post": { + "operationId": "core-full-task_processing_api-set-file-contents-ex-app", + "summary": "Upload a file so it can be referenced in a task result (ExApp route version)", + "description": "Use field 'file' for the file upload\nThis endpoint requires admin access", + "tags": [ + "core-full/task_processing_api" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "taskId", + "in": "path", + "description": "The id of the task", + "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": { + "201": { + "description": "File created", + "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": [ + "fileId" + ], + "properties": { + "fileId": { + "type": "integer", + "format": "int64" + } + } + } + } + } + } + } + } + } + }, + "400": { + "description": "File upload failed or no file was uploaded", + "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": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "500": { + "description": "", + "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": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "404": { + "description": "Task not found", + "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": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/taskprocessing/tasks_provider/{taskId}/progress": { + "post": { + "operationId": "core-full-task_processing_api-set-progress", + "summary": "Sets the task progress", + "description": "This endpoint requires admin access", + "tags": [ + "core-full/task_processing_api" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "progress" + ], + "properties": { + "progress": { + "type": "number", + "format": "double", + "description": "The progress" + } + } + } + } + } + }, + "parameters": [ + { + "name": "taskId", + "in": "path", + "description": "The id of the task", + "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": "Progress 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": [ + "task" + ], + "properties": { + "task": { + "$ref": "#/components/schemas/Core-fullTaskProcessingTask" + } + } + } + } + } + } + } + } + } + }, + "500": { + "description": "", + "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": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "404": { + "description": "Task not found", + "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": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/taskprocessing/tasks_provider/{taskId}/result": { + "post": { + "operationId": "core-full-task_processing_api-set-result", + "summary": "Sets the task result", + "description": "This endpoint requires admin access", + "tags": [ + "core-full/task_processing_api" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": false, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "output": { + "type": "object", + "nullable": true, + "description": "The resulting task output, files are represented by their IDs", + "additionalProperties": { + "type": "object" + } + }, + "errorMessage": { + "type": "string", + "nullable": true, + "description": "An error message if the task failed" + } + } + } + } + } + }, + "parameters": [ + { + "name": "taskId", + "in": "path", + "description": "The id of the task", + "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": "Result 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": [ + "task" + ], + "properties": { + "task": { + "$ref": "#/components/schemas/Core-fullTaskProcessingTask" + } + } + } + } + } + } + } + } + } + }, + "500": { + "description": "", + "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": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "404": { + "description": "Task not found", + "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": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/taskprocessing/tasks_provider/next": { + "get": { + "operationId": "core-full-task_processing_api-get-next-scheduled-task", + "summary": "Returns the next scheduled task for the taskTypeId", + "description": "This endpoint requires admin access", + "tags": [ + "core-full/task_processing_api" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "providerIds[]", + "in": "query", + "description": "The ids of the providers", + "required": true, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "taskTypeIds[]", + "in": "query", + "description": "The ids of the task types", + "required": true, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "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": "Task 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": [ + "task", + "provider" + ], + "properties": { + "task": { + "$ref": "#/components/schemas/Core-fullTaskProcessingTask" + }, + "provider": { + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + }, + "204": { + "description": "No task found" + }, + "500": { + "description": "", + "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": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/twofactor/state": { + "get": { + "operationId": "core-full-two_factor_api-state", + "summary": "Get two factor authentication provider states", + "description": "This endpoint requires admin access", + "tags": [ + "core-full/two_factor_api" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "user", + "in": "query", + "description": "system user id", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "provider states", + "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": { + "type": "boolean" + } + } + } + } + } + } + } + } + }, + "404": { + "description": "user not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": { + "nullable": true + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/twofactor/enable": { + "post": { + "operationId": "core-full-two_factor_api-enable", + "summary": "Enable two factor authentication providers for specific user", + "description": "This endpoint requires admin access", + "tags": [ + "core-full/two_factor_api" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "user" + ], + "properties": { + "user": { + "type": "string", + "description": "system user identifier" + }, + "providers": { + "type": "array", + "default": [], + "description": "collection of TFA provider ids", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "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": "provider states", + "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": { + "type": "boolean" + } + } + } + } + } + } + } + } + }, + "404": { + "description": "user not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": { + "nullable": true + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/twofactor/disable": { + "post": { + "operationId": "core-full-two_factor_api-disable", + "summary": "Disable two factor authentication providers for specific user", + "description": "This endpoint requires admin access", + "tags": [ + "core-full/two_factor_api" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "user" + ], + "properties": { + "user": { + "type": "string", + "description": "system user identifier" + }, + "providers": { + "type": "array", + "default": [], + "description": "collection of TFA provider ids", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "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": "provider states", + "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": { + "type": "boolean" + } + } + } + } + } + } + } + } + }, + "404": { + "description": "user not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": { + "nullable": true + } + } + } + } + } + } + } + } + } + } + }, + "/index.php/ocm/shares": { + "post": { + "operationId": "cloud_federation_api-request_handler-add-share", + "summary": "Add share", + "tags": [ + "cloud_federation_api/request_handler" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "shareWith", + "name", + "providerId", + "owner", + "protocol", + "shareType", + "resourceType" + ], + "properties": { + "shareWith": { + "type": "string", + "description": "The user who the share will be shared with" + }, + "name": { + "type": "string", + "description": "The resource name (e.g. document.odt)" + }, + "description": { + "type": "string", + "nullable": true, + "description": "Share description" + }, + "providerId": { + "type": "string", + "description": "Resource UID on the provider side" + }, + "owner": { + "type": "string", + "description": "Provider specific UID of the user who owns the resource" + }, + "ownerDisplayName": { + "type": "string", + "nullable": true, + "description": "Display name of the user who shared the item" + }, + "sharedBy": { + "type": "string", + "nullable": true, + "description": "Provider specific UID of the user who shared the resource" + }, + "sharedByDisplayName": { + "type": "string", + "nullable": true, + "description": "Display name of the user who shared the resource" + }, + "protocol": { + "type": "object", + "description": "e,.g. ['name' => 'webdav', 'options' => ['username' => 'john', 'permissions' => 31]]", + "required": [ + "name", + "options" + ], + "properties": { + "name": { + "type": "array", + "items": { + "type": "string" + } + }, + "options": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "shareType": { + "type": "string", + "description": "'group' or 'user' share" + }, + "resourceType": { + "type": "string", + "description": "'file', 'calendar',..." + } + } + } + } + } + }, + "responses": { + "201": { + "description": "The notification was successfully received. The display name of the recipient might be returned in the body", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudFederationApiAddShare" + } + } + } + }, + "400": { + "description": "Bad request due to invalid parameters, e.g. when `shareWith` is not found or required properties are missing", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudFederationApiValidationError" + } + } + } + }, + "501": { + "description": "Share type or the resource type is not supported", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudFederationApiError" + } + } + } + } + } + } + }, + "/index.php/ocm/notifications": { + "post": { + "operationId": "cloud_federation_api-request_handler-receive-notification", + "summary": "Send a notification about an existing share", + "tags": [ + "cloud_federation_api/request_handler" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "notificationType", + "resourceType" + ], + "properties": { + "notificationType": { + "type": "string", + "description": "Notification type, e.g. SHARE_ACCEPTED" + }, + "resourceType": { + "type": "string", + "description": "calendar, file, contact,..." + }, + "providerId": { + "type": "string", + "nullable": true, + "description": "ID of the share" + }, + "notification": { + "type": "object", + "nullable": true, + "description": "The actual payload of the notification", + "additionalProperties": { + "type": "object" + } + } + } + } + } + } + }, + "responses": { + "201": { + "description": "The notification was successfully received", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + } + }, + "400": { + "description": "Bad request due to invalid parameters, e.g. when `type` is invalid or missing", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudFederationApiValidationError" + } + } + } + }, + "403": { + "description": "Getting resource is not allowed", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudFederationApiError" + } + } + } + }, + "501": { + "description": "The resource type is not supported", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudFederationApiError" + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/dashboard/api/v1/widget-items": { + "get": { + "operationId": "dashboard-dashboard_api-get-widget-items", + "summary": "Get the items for the widgets", + "tags": [ + "dashboard/dashboard_api" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "sinceIds", + "in": "query", + "description": "Array indexed by widget Ids, contains date/id from which we want the new items", + "schema": { + "type": "string" + } + }, + { + "name": "limit", + "in": "query", + "description": "Limit number of result items per widget", + "schema": { + "type": "integer", + "format": "int64", + "default": 7, + "minimum": 1, + "maximum": 30 + } + }, + { + "name": "widgets[]", + "in": "query", + "description": "Limit results to specific widgets", + "schema": { + "type": "array", + "default": [], + "items": { + "type": "string" + } + } + }, + { + "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": "Widget items 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": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DashboardWidgetItem" + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/dashboard/api/v2/widget-items": { + "get": { + "operationId": "dashboard-dashboard_api-get-widget-items-v2", + "summary": "Get the items for the widgets", + "tags": [ + "dashboard/dashboard_api" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "sinceIds", + "in": "query", + "description": "Array indexed by widget Ids, contains date/id from which we want the new items", + "schema": { + "type": "string" + } + }, + { + "name": "limit", + "in": "query", + "description": "Limit number of result items per widget, not more than 30 are allowed", + "schema": { + "type": "integer", + "format": "int64", + "default": 7, + "minimum": 1, + "maximum": 30 + } + }, + { + "name": "widgets[]", + "in": "query", + "description": "Limit results to specific widgets", + "schema": { + "type": "array", + "default": [], + "items": { + "type": "string" + } + } + }, + { + "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": "Widget items 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/DashboardWidgetItems" + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/dashboard/api/v1/widgets": { + "get": { + "operationId": "dashboard-dashboard_api-get-widgets", + "summary": "Get the widgets", + "tags": [ + "dashboard/dashboard_api" + ], + "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": "Widgets 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/DashboardWidget" + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/dashboard/api/v3/layout": { + "get": { + "operationId": "dashboard-dashboard_api-get-layout", + "summary": "Get the layout", + "tags": [ + "dashboard/dashboard_api" + ], + "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": "Layout 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": [ + "layout" + ], + "properties": { + "layout": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + }, + "post": { + "operationId": "dashboard-dashboard_api-update-layout", + "summary": "Update the layout", + "tags": [ + "dashboard/dashboard_api" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "layout" + ], + "properties": { + "layout": { + "type": "array", + "description": "The new layout", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "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": "Statuses 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": [ + "layout" + ], + "properties": { + "layout": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/dashboard/api/v3/statuses": { + "get": { + "operationId": "dashboard-dashboard_api-get-statuses", + "summary": "Get the statuses", + "tags": [ + "dashboard/dashboard_api" + ], + "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": "Statuses 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": [ + "statuses" + ], + "properties": { + "statuses": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + }, + "post": { + "operationId": "dashboard-dashboard_api-update-statuses", + "summary": "Update the statuses", + "tags": [ + "dashboard/dashboard_api" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "statuses" + ], + "properties": { + "statuses": { + "type": "array", + "description": "The new statuses", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "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": "Statuses 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": [ + "statuses" + ], + "properties": { + "statuses": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/dav/api/v1/direct": { + "post": { + "operationId": "dav-direct-get-url", + "summary": "Get a direct link to a file", + "tags": [ + "dav/direct" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "fileId", + "expirationTime" + ], + "properties": { + "fileId": { + "type": "integer", + "format": "int64", + "description": "ID of the file" + }, + "expirationTime": { + "type": "integer", + "format": "int64", + "description": "Duration until the link expires" + } + } + } + } + } + }, + "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": "Direct link 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": [ + "url" + ], + "properties": { + "url": { + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "404": { + "description": "File 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": "Getting direct link is not possible", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "403": { + "description": "Missing permissions to get direct link", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/dav/api/v1/events/upcoming": { + "get": { + "operationId": "dav-upcoming_events-get-events", + "summary": "Get information about upcoming events", + "tags": [ + "dav/upcoming_events" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "location", + "in": "query", + "description": "location/URL to filter by", + "schema": { + "type": "string", + "nullable": true + } + }, + { + "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": "Upcoming events", + "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": [ + "events" + ], + "properties": { + "events": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DavUpcomingEvent" + } + } + } + } + } + } + } + } + } + } + }, + "401": { + "description": "When not authenticated", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": { + "nullable": true + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/dav/api/v1/outOfOffice/{userId}/now": { + "get": { + "operationId": "dav-out_of_office-get-current-out-of-office-data", + "summary": "Get the currently configured out-of-office data of a user", + "tags": [ + "dav/out_of_office" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "userId", + "in": "path", + "description": "The user id to get out-of-office data for.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "Out-of-office data", + "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/DavCurrentOutOfOfficeData" + } + } + } + } + } + } + } + }, + "404": { + "description": "No out-of-office data was found", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": { + "nullable": true + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/dav/api/v1/outOfOffice/{userId}": { + "get": { + "operationId": "dav-out_of_office-get-out-of-office", + "summary": "Get the configured out-of-office data of a user.", + "tags": [ + "dav/out_of_office" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "userId", + "in": "path", + "description": "The user id to get out-of-office data for.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "Out-of-office data", + "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/DavOutOfOfficeData" + } + } + } + } + } + } + } + }, + "404": { + "description": "No out-of-office data was found", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": { + "nullable": true + } + } + } + } + } + } + } + } + } + }, + "post": { + "operationId": "dav-out_of_office-set-out-of-office", + "summary": "Set out-of-office absence", + "tags": [ + "dav/out_of_office" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "firstDay", + "lastDay", + "status", + "message" + ], + "properties": { + "firstDay": { + "type": "string", + "description": "First day of the absence in format `YYYY-MM-DD`" + }, + "lastDay": { + "type": "string", + "description": "Last day of the absence in format `YYYY-MM-DD`" + }, + "status": { + "type": "string", + "description": "Short text that is set as user status during the absence" + }, + "message": { + "type": "string", + "description": "Longer multiline message that is shown to others during the absence" + }, + "replacementUserId": { + "type": "string", + "nullable": true, + "description": "User id of the replacement user" + } + } + } + } + } + }, + "parameters": [ + { + "name": "userId", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "Absence data", + "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/DavOutOfOfficeData" + } + } + } + } + } + } + } + }, + "400": { + "description": "When validation fails, e.g. data range error or the first day is not before the last day", + "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": [ + "error" + ], + "properties": { + "error": { + "type": "string", + "enum": [ + "firstDay", + "statusLength" + ] + } + } + } + } + } + } + } + } + } + }, + "401": { + "description": "When the 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": { + "nullable": true + } + } + } + } + } + } + } + }, + "404": { + "description": "When the replacementUserId was provided but replacement user was not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": { + "nullable": true + } + } + } + } + } + } + } + } + } + }, + "delete": { + "operationId": "dav-out_of_office-clear-out-of-office", + "summary": "Clear the out-of-office", + "tags": [ + "dav/out_of_office" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "userId", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "When the absence was cleared successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": { + "nullable": true + } + } + } + } + } + } + } + }, + "401": { + "description": "When the 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": { + "nullable": true + } + } + } + } + } + } + } + } + } + } + }, + "/index.php/apps/federatedfilesharing/createFederatedShare": { + "post": { + "operationId": "federatedfilesharing-mount_public_link-create-federated-share", + "summary": "send federated share to a user of a public link", + "tags": [ + "federatedfilesharing/mount_public_link" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "shareWith", + "token" + ], + "properties": { + "shareWith": { + "type": "string", + "description": "Username to share with" + }, + "token": { + "type": "string", + "description": "Token of the share" + }, + "password": { + "type": "string", + "default": "", + "description": "Password of the share" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "Remote URL returned", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "remoteUrl" + ], + "properties": { + "remoteUrl": { + "type": "string" + } + } + } + } + } + }, + "400": { + "description": "Creating share is not possible", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/cloud/shares": { + "post": { + "operationId": "federatedfilesharing-request_handler-create-share", + "summary": "create a new share", + "tags": [ + "federatedfilesharing/request_handler" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": false, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "remote": { + "type": "string", + "nullable": true, + "description": "Address of the remote" + }, + "token": { + "type": "string", + "nullable": true, + "description": "Shared secret between servers" + }, + "name": { + "type": "string", + "nullable": true, + "description": "Name of the shared resource" + }, + "owner": { + "type": "string", + "nullable": true, + "description": "Display name of the receiver" + }, + "sharedBy": { + "type": "string", + "nullable": true, + "description": "Display name of the sender" + }, + "shareWith": { + "type": "string", + "nullable": true, + "description": "ID of the user that receives the share" + }, + "remoteId": { + "type": "integer", + "format": "int64", + "nullable": true, + "description": "ID of the remote" + }, + "sharedByFederatedId": { + "type": "string", + "nullable": true, + "description": "Federated ID of the sender" + }, + "ownerFederatedId": { + "type": "string", + "nullable": true, + "description": "Federated ID of the receiver" + } + } + } + } + } + }, + "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": "Share created successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/cloud/shares/{id}/reshare": { + "post": { + "operationId": "federatedfilesharing-request_handler-re-share", + "summary": "create re-share on behalf of another user", + "tags": [ + "federatedfilesharing/request_handler" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": false, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "token": { + "type": "string", + "nullable": true, + "description": "Shared secret between servers" + }, + "shareWith": { + "type": "string", + "nullable": true, + "description": "ID of the user that receives the share" + }, + "remoteId": { + "type": "integer", + "format": "int64", + "nullable": true, + "default": 0, + "description": "ID of the remote" + } + } + } + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "description": "ID of the share", + "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": "Remote share 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": [ + "token", + "remoteId" + ], + "properties": { + "token": { + "type": "string" + }, + "remoteId": { + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "400": { + "description": "Re-sharing is not possible", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/cloud/shares/{id}/permissions": { + "post": { + "operationId": "federatedfilesharing-request_handler-update-permissions", + "summary": "update share information to keep federated re-shares in sync", + "tags": [ + "federatedfilesharing/request_handler" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": false, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "token": { + "type": "string", + "nullable": true, + "description": "Shared secret between servers" + }, + "permissions": { + "type": "integer", + "format": "int64", + "nullable": true, + "description": "New permissions" + } + } + } + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "description": "ID of the share", + "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": "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": [] + } + } + } + } + } + } + }, + "400": { + "description": "Updating permissions is not possible", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/cloud/shares/{id}/accept": { + "post": { + "operationId": "federatedfilesharing-request_handler-accept-share", + "summary": "accept server-to-server share", + "tags": [ + "federatedfilesharing/request_handler" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": false, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "token": { + "type": "string", + "nullable": true, + "description": "Shared secret between servers" + } + } + } + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "description": "ID of the remote share", + "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": "Share accepted successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "500": { + "description": "", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } + } + } + } + }, + "/ocs/v2.php/cloud/shares/{id}/decline": { + "post": { + "operationId": "federatedfilesharing-request_handler-decline-share", + "summary": "decline server-to-server share", + "tags": [ + "federatedfilesharing/request_handler" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": false, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "token": { + "type": "string", + "nullable": true, + "description": "Shared secret between servers" + } + } + } + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "description": "ID of the remote share", + "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": "Share declined successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/cloud/shares/{id}/unshare": { + "post": { + "operationId": "federatedfilesharing-request_handler-unshare", + "summary": "remove server-to-server share if it was unshared by the owner", + "tags": [ + "federatedfilesharing/request_handler" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": false, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "token": { + "type": "string", + "nullable": true, + "description": "Shared secret between servers" + } + } + } + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "description": "ID of the share", + "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": "Share unshared successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/cloud/shares/{id}/revoke": { + "post": { + "operationId": "federatedfilesharing-request_handler-revoke", + "summary": "federated share was revoked, either by the owner or the re-sharer", + "tags": [ + "federatedfilesharing/request_handler" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": false, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "token": { + "type": "string", + "nullable": true, + "description": "Shared secret between servers" + } + } + } + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "description": "ID of the share", + "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": "Share revoked successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "400": { + "description": "Revoking the share is not possible", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/cloud/shares/{id}/move": { + "post": { + "operationId": "federatedfilesharing-request_handler-move", + "summary": "change the owner of a server-to-server share", + "tags": [ + "federatedfilesharing/request_handler" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": false, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "token": { + "type": "string", + "nullable": true, + "description": "Shared secret between servers" + }, + "remote": { + "type": "string", + "nullable": true, + "description": "Address of the remote" + }, + "remote_id": { + "type": "string", + "nullable": true, + "description": "ID of the remote" + } + } + } + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "description": "ID of the share", + "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": "Share moved 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": [ + "remote", + "owner" + ], + "properties": { + "remote": { + "type": "string" + }, + "owner": { + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "400": { + "description": "Moving share is not possible", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/federation/api/v1/shared-secret": { + "get": { + "operationId": "federation-full-ocs_authapi-get-shared-secret-legacy", + "summary": "Create shared secret and return it, for legacy end-points", + "tags": [ + "federation-full/ocs_authapi" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "url", + "in": "query", + "description": "URL of the server", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "token", + "in": "query", + "description": "Token of the server", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "Shared secret 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": [ + "sharedSecret" + ], + "properties": { + "sharedSecret": { + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "403": { + "description": "Getting shared secret is not allowed", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/federation/api/v1/request-shared-secret": { + "post": { + "operationId": "federation-full-ocs_authapi-request-shared-secret-legacy", + "summary": "Request received to ask remote server for a shared secret, for legacy end-points", + "tags": [ + "federation-full/ocs_authapi" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "url", + "token" + ], + "properties": { + "url": { + "type": "string", + "description": "URL of the server" + }, + "token": { + "type": "string", + "description": "Token of the server" + } + } + } + } + } + }, + "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": "Shared secret requested successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "403": { + "description": "Requesting shared secret is not allowed", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/cloud/shared-secret": { + "get": { + "operationId": "federation-full-ocs_authapi-get-shared-secret", + "summary": "Create shared secret and return it", + "tags": [ + "federation-full/ocs_authapi" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "url", + "in": "query", + "description": "URL of the server", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "token", + "in": "query", + "description": "Token of the server", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "Shared secret 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": [ + "sharedSecret" + ], + "properties": { + "sharedSecret": { + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "403": { + "description": "Getting shared secret is not allowed", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + }, + "post": { + "operationId": "federation-full-ocs_authapi-request-shared-secret", + "summary": "Request received to ask remote server for a shared secret", + "tags": [ + "federation-full/ocs_authapi" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "url", + "token" + ], + "properties": { + "url": { + "type": "string", + "description": "URL of the server" + }, + "token": { + "type": "string", + "description": "Token of the server" + } + } + } + } + } + }, + "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": "Shared secret requested successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "403": { + "description": "Requesting shared secret is not allowed", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/federation/trusted-servers": { + "post": { + "operationId": "federation-full-settings-add-server", + "summary": "Add server to the list of trusted Nextcloud servers", + "description": "This endpoint requires admin access", + "tags": [ + "federation-full/settings" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "url" + ], + "properties": { + "url": { + "type": "string", + "description": "The URL of the server to add" + } + } + } + } + } + }, + "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": "Server 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": [ + "id", + "message", + "url" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64" + }, + "message": { + "type": "string" + }, + "url": { + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "404": { + "description": "Server not found at the given URL", + "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": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "409": { + "description": "Server is already in the list of trusted servers", + "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": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + }, + "get": { + "operationId": "federation-full-settings-get-servers", + "summary": "List all trusted servers", + "description": "This endpoint requires admin access", + "tags": [ + "federation-full/settings" + ], + "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": "List of trusted servers", + "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": { + "type": "object", + "required": [ + "id", + "status", + "url" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64" + }, + "status": { + "type": "integer", + "format": "int64" + }, + "url": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/federation/trusted-servers/{id}": { + "delete": { + "operationId": "federation-full-settings-remove-server", + "summary": "Add server to the list of trusted Nextcloud servers", + "description": "This endpoint requires admin access", + "tags": [ + "federation-full/settings" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "The ID of the trusted server to remove", + "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": "Server 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": [ + "id" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64" + } + } + } + } + } + } + } + } + } + }, + "404": { + "description": "Server not found at the given ID", + "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": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/index.php/apps/files/api/v1/thumbnail/{x}/{y}/{file}": { + "get": { + "operationId": "files-api-get-thumbnail", + "summary": "Gets a thumbnail of the specified file", + "deprecated": true, + "tags": [ + "files/api" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "x", + "in": "path", + "description": "Width of the thumbnail", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "y", + "in": "path", + "description": "Height of the thumbnail", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "file", + "in": "path", + "description": "URL-encoded filename", + "required": true, + "schema": { + "type": "string", + "pattern": "^.+$" + } + } + ], + "responses": { + "200": { + "description": "Thumbnail returned", + "content": { + "*/*": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + }, + "400": { + "description": "Getting thumbnail is not possible", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string" + } + } + } + } + } + }, + "404": { + "description": "File not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/files/api/v1/directEditing": { + "get": { + "operationId": "files-direct_editing-info", + "summary": "Get the direct editing capabilities", + "tags": [ + "files/direct_editing" + ], + "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": "Direct editing capabilities 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": [ + "editors", + "creators" + ], + "properties": { + "editors": { + "type": "object", + "additionalProperties": { + "type": "object", + "required": [ + "id", + "name", + "mimetypes", + "optionalMimetypes", + "secure" + ], + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "mimetypes": { + "type": "array", + "items": { + "type": "string" + } + }, + "optionalMimetypes": { + "type": "array", + "items": { + "type": "string" + } + }, + "secure": { + "type": "boolean" + } + } + } + }, + "creators": { + "type": "object", + "additionalProperties": { + "type": "object", + "required": [ + "id", + "editor", + "name", + "extension", + "templates", + "mimetypes" + ], + "properties": { + "id": { + "type": "string" + }, + "editor": { + "type": "string" + }, + "name": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "templates": { + "type": "boolean" + }, + "mimetypes": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/files/api/v1/directEditing/templates/{editorId}/{creatorId}": { + "get": { + "operationId": "files-direct_editing-templates", + "summary": "Get the templates for direct editing", + "tags": [ + "files/direct_editing" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "editorId", + "in": "path", + "description": "ID of the editor", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "creatorId", + "in": "path", + "description": "ID of the creator", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "Templates 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": [ + "templates" + ], + "properties": { + "templates": { + "type": "object", + "additionalProperties": { + "type": "object", + "required": [ + "id", + "title", + "preview", + "extension", + "mimetype" + ], + "properties": { + "id": { + "type": "string" + }, + "title": { + "type": "string" + }, + "preview": { + "type": "string", + "nullable": true + }, + "extension": { + "type": "string" + }, + "mimetype": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + }, + "500": { + "description": "", + "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": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/files/api/v1/directEditing/open": { + "post": { + "operationId": "files-direct_editing-open", + "summary": "Open a file for direct editing", + "tags": [ + "files/direct_editing" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "path" + ], + "properties": { + "path": { + "type": "string", + "description": "Path of the file" + }, + "editorId": { + "type": "string", + "nullable": true, + "description": "ID of the editor" + }, + "fileId": { + "type": "integer", + "format": "int64", + "nullable": true, + "description": "ID of the file" + } + } + } + } + } + }, + "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": "URL for direct editing 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": [ + "url" + ], + "properties": { + "url": { + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "403": { + "description": "Opening file is not allowed", + "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": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "500": { + "description": "", + "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": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/files/api/v1/directEditing/create": { + "post": { + "operationId": "files-direct_editing-create", + "summary": "Create a file for direct editing", + "tags": [ + "files/direct_editing" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "path", + "editorId", + "creatorId" + ], + "properties": { + "path": { + "type": "string", + "description": "Path of the file" + }, + "editorId": { + "type": "string", + "description": "ID of the editor" + }, + "creatorId": { + "type": "string", + "description": "ID of the creator" + }, + "templateId": { + "type": "string", + "nullable": true, + "description": "ID of the template" + } + } + } + } + } + }, + "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": "URL for direct editing 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": [ + "url" + ], + "properties": { + "url": { + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "403": { + "description": "Opening file is not allowed", + "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": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "500": { + "description": "", + "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": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/files/api/v1/templates": { + "get": { + "operationId": "files-template-list", + "summary": "List the available templates", + "tags": [ + "files/template" + ], + "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": "Available templates 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/FilesTemplateFileCreatorWithTemplates" + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/files/api/v1/templates/create": { + "post": { + "operationId": "files-template-create", + "summary": "Create a template", + "tags": [ + "files/template" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "filePath" + ], + "properties": { + "filePath": { + "type": "string", + "description": "Path of the file" + }, + "templatePath": { + "type": "string", + "default": "", + "description": "Name of the template" + }, + "templateType": { + "type": "string", + "default": "user", + "description": "Type of the template" + }, + "templateFields": { + "type": "array", + "default": [], + "description": "Fields of the template", + "items": { + "$ref": "#/components/schemas/FilesTemplateField" + } + } + } + } + } + } + }, + "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": "Template created 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/FilesTemplateFile" + } + } + } + } + } + } + } + }, + "403": { + "description": "Creating template is not allowed", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/files/api/v1/templates/path": { + "post": { + "operationId": "files-template-path", + "summary": "Initialize the template directory", + "tags": [ + "files/template" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": false, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "templatePath": { + "type": "string", + "default": "", + "description": "Path of the template directory" + }, + "copySystemTemplates": { + "type": "boolean", + "default": false, + "description": "Whether to copy the system templates to the template directory" + } + } + } + } + } + }, + "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": "Template directory initialized 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": [ + "template_path", + "templates" + ], + "properties": { + "template_path": { + "type": "string" + }, + "templates": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FilesTemplateFileCreator" + } + } + } + } + } + } + } + } + } + } + }, + "403": { + "description": "Initializing the template directory is not allowed", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/files/api/v1/transferownership": { + "post": { + "operationId": "files-transfer_ownership-transfer", + "summary": "Transfer the ownership to another user", + "tags": [ + "files/transfer_ownership" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "recipient", + "path" + ], + "properties": { + "recipient": { + "type": "string", + "description": "Username of the recipient" + }, + "path": { + "type": "string", + "description": "Path of the file" + } + } + } + } + } + }, + "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": "Ownership transferred successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "400": { + "description": "Transferring ownership is not possible", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "403": { + "description": "Transferring ownership is not allowed", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/files/api/v1/transferownership/{id}": { + "post": { + "operationId": "files-transfer_ownership-accept", + "summary": "Accept an ownership transfer", + "tags": [ + "files/transfer_ownership" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "ID of the ownership transfer", + "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": "Ownership transfer accepted successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "403": { + "description": "Accepting ownership transfer is not allowed", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "404": { + "description": "Ownership transfer not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + }, + "delete": { + "operationId": "files-transfer_ownership-reject", + "summary": "Reject an ownership transfer", + "tags": [ + "files/transfer_ownership" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "ID of the ownership transfer", + "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": "Ownership transfer rejected successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "403": { + "description": "Rejecting ownership transfer is not allowed", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "404": { + "description": "Ownership transfer not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/files/api/v1/openlocaleditor": { + "post": { + "operationId": "files-open_local_editor-create", + "summary": "Create a local editor", + "tags": [ + "files/open_local_editor" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "path" + ], + "properties": { + "path": { + "type": "string", + "description": "Path of the file" + } + } + } + } + } + }, + "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": "Local editor 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": [ + "userId", + "pathHash", + "expirationTime", + "token" + ], + "properties": { + "userId": { + "type": "string", + "nullable": true + }, + "pathHash": { + "type": "string" + }, + "expirationTime": { + "type": "integer", + "format": "int64" + }, + "token": { + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/files/api/v1/openlocaleditor/{token}": { + "post": { + "operationId": "files-open_local_editor-validate", + "summary": "Validate a local editor", + "tags": [ + "files/open_local_editor" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "path" + ], + "properties": { + "path": { + "type": "string", + "description": "Path of the file" + } + } + } + } + } + }, + "parameters": [ + { + "name": "token", + "in": "path", + "description": "Token of the local editor", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "Local editor validated 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": [ + "userId", + "pathHash", + "expirationTime", + "token" + ], + "properties": { + "userId": { + "type": "string" + }, + "pathHash": { + "type": "string" + }, + "expirationTime": { + "type": "integer", + "format": "int64" + }, + "token": { + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "404": { + "description": "Local editor not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/files/api/v1/folder-tree": { + "get": { + "operationId": "files-api-get-folder-tree", + "summary": "Returns the folder tree of the user", + "tags": [ + "files/api" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "path", + "in": "query", + "description": "The path relative to the user folder", + "schema": { + "type": "string", + "default": "/" + } + }, + { + "name": "depth", + "in": "query", + "description": "The depth of the tree", + "schema": { + "type": "integer", + "format": "int64", + "default": 1 + } + }, + { + "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": "Folder tree returned successfully", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FilesFolderTree" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + }, + "400": { + "description": "Invalid folder path", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + }, + "404": { + "description": "Folder not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/files/api/v1/convert": { + "post": { + "operationId": "files-conversion_api-convert", + "summary": "Converts a file from one MIME type to another", + "tags": [ + "files/conversion_api" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "fileId", + "targetMimeType" + ], + "properties": { + "fileId": { + "type": "integer", + "format": "int64", + "description": "ID of the file to be converted" + }, + "targetMimeType": { + "type": "string", + "description": "The MIME type to which you want to convert the file" + }, + "destination": { + "type": "string", + "nullable": true, + "description": "The target path of the converted file. Written to a temporary file if left empty" + } + } + } + } + } + }, + "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": { + "201": { + "description": "File was converted and written to the destination or temporary file", + "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": [ + "path", + "fileId" + ], + "properties": { + "path": { + "type": "string" + }, + "fileId": { + "type": "integer", + "format": "int64" + } + } + } + } + } + } + } + } + } + }, + "404": { + "description": "The file to be converted was not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/files_external/api/v1/mounts": { + "get": { + "operationId": "files_external-api-get-user-mounts", + "summary": "Get the mount points visible for this user", + "tags": [ + "files_external/api" + ], + "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": "User mounts 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/FilesExternalMount" + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/files_reminders/api/v{version}/{fileId}": { + "get": { + "operationId": "files_reminders-api-get", + "summary": "Get a reminder", + "tags": [ + "files_reminders/api" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "version", + "in": "path", + "required": true, + "schema": { + "type": "string", + "pattern": "^1$" + } + }, + { + "name": "fileId", + "in": "path", + "description": "ID of the file", + "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": "Reminder 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": [ + "dueDate" + ], + "properties": { + "dueDate": { + "type": "string", + "nullable": true + } + } + } + } + } + } + } + } + } + }, + "401": { + "description": "Account not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + }, + "put": { + "operationId": "files_reminders-api-set", + "summary": "Set a reminder", + "tags": [ + "files_reminders/api" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "dueDate" + ], + "properties": { + "dueDate": { + "type": "string", + "description": "ISO 8601 formatted date time string" + } + } + } + } + } + }, + "parameters": [ + { + "name": "version", + "in": "path", + "required": true, + "schema": { + "type": "string", + "pattern": "^1$" + } + }, + { + "name": "fileId", + "in": "path", + "description": "ID of the file", + "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": "Reminder updated", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "201": { + "description": "Reminder created successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "400": { + "description": "Creating reminder is not possible", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "401": { + "description": "Account not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "404": { + "description": "File not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + }, + "delete": { + "operationId": "files_reminders-api-remove", + "summary": "Remove a reminder", + "tags": [ + "files_reminders/api" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "version", + "in": "path", + "required": true, + "schema": { + "type": "string", + "pattern": "^1$" + } + }, + { + "name": "fileId", + "in": "path", + "description": "ID of the file", + "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": "Reminder deleted successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "401": { + "description": "Account not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "404": { + "description": "Reminder not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/index.php/s/{token}/preview": { + "get": { + "operationId": "files_sharing-public_preview-direct-link", + "summary": "Get a direct link preview for a shared file", + "tags": [ + "files_sharing/public_preview" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "token", + "in": "path", + "description": "Token of the share", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Preview returned", + "content": { + "*/*": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + }, + "400": { + "description": "Getting preview is not possible", + "content": { + "application/json": { + "schema": [] + } + } + }, + "403": { + "description": "Getting preview is not allowed", + "content": { + "application/json": { + "schema": [] + } + } + }, + "404": { + "description": "Share or preview not found", + "content": { + "application/json": { + "schema": [] + } + } + } + } + } + }, + "/index.php/apps/files_sharing/publicpreview/{token}": { + "get": { + "operationId": "files_sharing-public_preview-get-preview", + "summary": "Get a preview for a shared file", + "tags": [ + "files_sharing/public_preview" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "token", + "in": "path", + "description": "Token of the share", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "file", + "in": "query", + "description": "File in the share", + "schema": { + "type": "string", + "default": "" + } + }, + { + "name": "x", + "in": "query", + "description": "Width of the preview", + "schema": { + "type": "integer", + "format": "int64", + "default": 32 + } + }, + { + "name": "y", + "in": "query", + "description": "Height of the preview", + "schema": { + "type": "integer", + "format": "int64", + "default": 32 + } + }, + { + "name": "a", + "in": "query", + "description": "Whether to not crop the preview", + "schema": { + "type": "integer", + "default": 0, + "enum": [ + 0, + 1 + ] + } + } + ], + "responses": { + "200": { + "description": "Preview returned", + "content": { + "*/*": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + }, + "400": { + "description": "Getting preview is not possible", + "content": { + "application/json": { + "schema": [] + } + } + }, + "403": { + "description": "Getting preview is not allowed", + "content": { + "application/json": { + "schema": [] + } + } + }, + "404": { + "description": "Share or preview not found", + "content": { + "application/json": { + "schema": [] + } + } + } + } + } + }, + "/index.php/apps/files_sharing/shareinfo": { + "post": { + "operationId": "files_sharing-share_info-info", + "summary": "Get the info about a share", + "tags": [ + "files_sharing/share_info" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "t" + ], + "properties": { + "t": { + "type": "string", + "description": "Token of the share" + }, + "password": { + "type": "string", + "nullable": true, + "description": "Password of the share" + }, + "dir": { + "type": "string", + "nullable": true, + "description": "Subdirectory to get info about" + }, + "depth": { + "type": "integer", + "format": "int64", + "default": -1, + "description": "Maximum depth to get info about" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "Share info returned", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FilesSharingShareInfo" + } + } + } + }, + "403": { + "description": "Getting share info is not allowed", + "content": { + "application/json": { + "schema": [] + } + } + }, + "404": { + "description": "Share not found", + "content": { + "application/json": { + "schema": [] + } + } + } + } + } + }, + "/ocs/v2.php/apps/files_sharing/api/v1/shares": { + "get": { + "operationId": "files_sharing-shareapi-get-shares", + "summary": "Get shares of the current user", + "tags": [ + "files_sharing/shareapi" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "shared_with_me", + "in": "query", + "description": "Only get shares with the current user", + "schema": { + "type": "string", + "default": "false" + } + }, + { + "name": "reshares", + "in": "query", + "description": "Only get shares by the current user and reshares", + "schema": { + "type": "string", + "default": "false" + } + }, + { + "name": "subfiles", + "in": "query", + "description": "Only get all shares in a folder", + "schema": { + "type": "string", + "default": "false" + } + }, + { + "name": "path", + "in": "query", + "description": "Get shares for a specific path", + "schema": { + "type": "string", + "default": "" + } + }, + { + "name": "include_tags", + "in": "query", + "description": "Include tags in the share", + "schema": { + "type": "string", + "default": "false" + } + }, + { + "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": "Shares 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/FilesSharingShare" + } + } + } + } + } + } + } + } + }, + "404": { + "description": "The folder was not found or is inaccessible", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + }, + "post": { + "operationId": "files_sharing-shareapi-create-share", + "summary": "Create a share", + "tags": [ + "files_sharing/shareapi" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": false, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "path": { + "type": "string", + "nullable": true, + "description": "Path of the share" + }, + "permissions": { + "type": "integer", + "format": "int64", + "nullable": true, + "description": "Permissions for the share" + }, + "shareType": { + "type": "integer", + "format": "int64", + "default": -1, + "description": "Type of the share" + }, + "shareWith": { + "type": "string", + "nullable": true, + "description": "The entity this should be shared with" + }, + "publicUpload": { + "type": "string", + "nullable": true, + "enum": [ + "true", + "false" + ], + "description": "If public uploading is allowed (deprecated)" + }, + "password": { + "type": "string", + "default": "", + "description": "Password for the share" + }, + "sendPasswordByTalk": { + "type": "string", + "nullable": true, + "description": "Send the password for the share over Talk" + }, + "expireDate": { + "type": "string", + "nullable": true, + "description": "The expiry date of the share in the user's timezone at 00:00. If $expireDate is not supplied or set to `null`, the system default will be used." + }, + "note": { + "type": "string", + "default": "", + "description": "Note for the share" + }, + "label": { + "type": "string", + "default": "", + "description": "Label for the share (only used in link and email)" + }, + "attributes": { + "type": "string", + "nullable": true, + "description": "Additional attributes for the share" + }, + "sendMail": { + "type": "string", + "nullable": true, + "enum": [ + "false", + "true" + ], + "description": "Send a mail to the recipient" + } + } + } + } + } + }, + "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": "Share created", + "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/FilesSharingShare" + } + } + } + } + } + } + } + }, + "400": { + "description": "Unknown share type", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "403": { + "description": "Creating the share is not allowed", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "404": { + "description": "Creating the share failed", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/files_sharing/api/v1/shares/inherited": { + "get": { + "operationId": "files_sharing-shareapi-get-inherited-shares", + "summary": "Get all shares relative to a file, including parent folders shares rights", + "tags": [ + "files_sharing/shareapi" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "path", + "in": "query", + "description": "Path all shares will be relative to", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "Shares 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/FilesSharingShare" + } + } + } + } + } + } + } + } + }, + "500": { + "description": "", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "The given path is invalid", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/files_sharing/api/v1/shares/pending": { + "get": { + "operationId": "files_sharing-shareapi-pending-shares", + "summary": "Get all shares that are still pending", + "tags": [ + "files_sharing/shareapi" + ], + "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": "Pending shares 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/FilesSharingShare" + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/files_sharing/api/v1/shares/{id}": { + "get": { + "operationId": "files_sharing-shareapi-get-share", + "summary": "Get a specific share by id", + "tags": [ + "files_sharing/shareapi" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "ID of the share", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "include_tags", + "in": "query", + "description": "Include tags in the share", + "schema": { + "type": "integer", + "default": 0, + "enum": [ + 0, + 1 + ] + } + }, + { + "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": "Share 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/FilesSharingShare" + } + } + } + } + } + } + } + } + }, + "404": { + "description": "Share not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + }, + "put": { + "operationId": "files_sharing-shareapi-update-share", + "summary": "Update a share", + "tags": [ + "files_sharing/shareapi" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": false, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "permissions": { + "type": "integer", + "format": "int64", + "nullable": true, + "description": "New permissions" + }, + "password": { + "type": "string", + "nullable": true, + "description": "New password" + }, + "sendPasswordByTalk": { + "type": "string", + "nullable": true, + "description": "New condition if the password should be send over Talk" + }, + "publicUpload": { + "type": "string", + "nullable": true, + "description": "New condition if public uploading is allowed" + }, + "expireDate": { + "type": "string", + "nullable": true, + "description": "New expiry date" + }, + "note": { + "type": "string", + "nullable": true, + "description": "New note" + }, + "label": { + "type": "string", + "nullable": true, + "description": "New label" + }, + "hideDownload": { + "type": "string", + "nullable": true, + "description": "New condition if the download should be hidden" + }, + "attributes": { + "type": "string", + "nullable": true, + "description": "New additional attributes" + }, + "sendMail": { + "type": "string", + "nullable": true, + "description": "if the share should be send by mail. Considering the share already exists, no mail will be send after the share is updated. You will have to use the sendMail action to send the mail." + }, + "token": { + "type": "string", + "nullable": true, + "description": "New token" + } + } + } + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "description": "ID of the share", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "Share updated 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/FilesSharingShare" + } + } + } + } + } + } + } + }, + "400": { + "description": "Share could not be updated because the requested changes are invalid", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "403": { + "description": "Missing permissions to update the share", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "404": { + "description": "Share not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + }, + "delete": { + "operationId": "files_sharing-shareapi-delete-share", + "summary": "Delete a share", + "tags": [ + "files_sharing/shareapi" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "ID of the share", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "Share deleted successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "404": { + "description": "Share not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "403": { + "description": "Missing permissions to delete the share", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/files_sharing/api/v1/shares/{id}/send-email": { + "post": { + "operationId": "files_sharing-shareapi-send-share-email", + "summary": "Send a mail notification again for a share. The mail_send option must be enabled for the given share.", + "tags": [ + "files_sharing/shareapi" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": false, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "password": { + "type": "string", + "default": "", + "description": "the password to check against. Necessary for password protected shares." + } + } + } + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "description": "the share ID", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "OCS-APIRequest", + "in": "header", + "description": "Required to be true for the API request to pass", + "required": true, + "schema": { + "type": "boolean", + "default": true + } + } + ], + "responses": { + "404": { + "description": "Share not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "403": { + "description": "You are not allowed to send mail notifications", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "400": { + "description": "Invalid request or wrong password", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "200": { + "description": "The email notification was sent successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/files_sharing/api/v1/shares/pending/{id}": { + "post": { + "operationId": "files_sharing-shareapi-accept-share", + "summary": "Accept a share", + "tags": [ + "files_sharing/shareapi" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "ID of the share", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "Share accepted successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "404": { + "description": "Share 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": "Share could not be accepted", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/files_sharing/api/v1/deletedshares": { + "get": { + "operationId": "files_sharing-deleted_shareapi-index", + "summary": "Get a list of all deleted shares", + "tags": [ + "files_sharing/deleted_shareapi" + ], + "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": "Deleted shares 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/FilesSharingDeletedShare" + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/files_sharing/api/v1/deletedshares/{id}": { + "post": { + "operationId": "files_sharing-deleted_shareapi-undelete", + "summary": "Undelete a deleted share", + "tags": [ + "files_sharing/deleted_shareapi" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "ID of the share", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "Share undeleted successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "404": { + "description": "Share not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/files_sharing/api/v1/sharees": { + "get": { + "operationId": "files_sharing-shareesapi-search", + "summary": "Search for sharees", + "tags": [ + "files_sharing/shareesapi" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "search", + "in": "query", + "description": "Text to search for", + "schema": { + "type": "string", + "default": "" + } + }, + { + "name": "itemType", + "in": "query", + "description": "Limit to specific item types", + "schema": { + "type": "string", + "nullable": true + } + }, + { + "name": "page", + "in": "query", + "description": "Page offset for searching", + "schema": { + "type": "integer", + "format": "int64", + "default": 1 + } + }, + { + "name": "perPage", + "in": "query", + "description": "Limit amount of search results per page", + "schema": { + "type": "integer", + "format": "int64", + "default": 200 + } + }, + { + "name": "shareType", + "in": "query", + "description": "Limit to specific share types", + "schema": { + "nullable": true, + "oneOf": [ + { + "type": "integer", + "format": "int64" + }, + { + "type": "array", + "items": { + "type": "integer", + "format": "int64" + } + } + ] + } + }, + { + "name": "lookup", + "in": "query", + "description": "If a global lookup should be performed too", + "schema": { + "type": "integer", + "default": 0, + "enum": [ + 0, + 1 + ] + } + }, + { + "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": "Sharees search result returned", + "headers": { + "Link": { + "schema": { + "type": "string" + } + } + }, + "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/FilesSharingShareesSearchResult" + } + } + } + } + } + } + } + }, + "400": { + "description": "Invalid search parameters", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/files_sharing/api/v1/sharees_recommended": { + "get": { + "operationId": "files_sharing-shareesapi-find-recommended", + "summary": "Find recommended sharees", + "tags": [ + "files_sharing/shareesapi" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "itemType", + "in": "query", + "description": "Limit to specific item types", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "shareType", + "in": "query", + "description": "Limit to specific share types", + "schema": { + "nullable": true, + "oneOf": [ + { + "type": "integer", + "format": "int64" + }, + { + "type": "array", + "items": { + "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": "Recommended sharees 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/FilesSharingShareesRecommendedResult" + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/files_sharing/api/v1/remote_shares": { + "get": { + "operationId": "files_sharing-remote-get-shares", + "summary": "Get a list of accepted remote shares", + "tags": [ + "files_sharing/remote" + ], + "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": "Accepted remote shares 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/FilesSharingRemoteShare" + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/files_sharing/api/v1/remote_shares/pending": { + "get": { + "operationId": "files_sharing-remote-get-open-shares", + "summary": "Get list of pending remote shares", + "tags": [ + "files_sharing/remote" + ], + "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": "Pending remote shares 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/FilesSharingRemoteShare" + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/files_sharing/api/v1/remote_shares/pending/{id}": { + "post": { + "operationId": "files_sharing-remote-accept-share", + "summary": "Accept a remote share", + "tags": [ + "files_sharing/remote" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "ID of the share", + "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": "Share accepted successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "404": { + "description": "Share not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + }, + "delete": { + "operationId": "files_sharing-remote-decline-share", + "summary": "Decline a remote share", + "tags": [ + "files_sharing/remote" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "ID of the share", + "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": "Share declined successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "404": { + "description": "Share not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/files_sharing/api/v1/remote_shares/{id}": { + "get": { + "operationId": "files_sharing-remote-get-share", + "summary": "Get info of a remote share", + "tags": [ + "files_sharing/remote" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "ID of the share", + "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": "Share 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/FilesSharingRemoteShare" + } + } + } + } + } + } + } + }, + "404": { + "description": "Share not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + }, + "delete": { + "operationId": "files_sharing-remote-unshare", + "summary": "Unshare a remote share", + "tags": [ + "files_sharing/remote" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "ID of the share", + "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": "Share unshared successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "404": { + "description": "Share not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "403": { + "description": "Unsharing is not possible", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/files_sharing/api/v1/token": { + "get": { + "operationId": "files_sharing-shareapi-generate-token", + "summary": "Get a unique share token", + "tags": [ + "files_sharing/shareapi" + ], + "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": "Token generated 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": [ + "token" + ], + "properties": { + "token": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/index.php/apps/files_trashbin/preview": { + "get": { + "operationId": "files_trashbin-preview-get-preview", + "summary": "Get the preview for a file", + "tags": [ + "files_trashbin/preview" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "fileId", + "in": "query", + "description": "ID of the file", + "schema": { + "type": "integer", + "format": "int64", + "default": -1 + } + }, + { + "name": "x", + "in": "query", + "description": "Width of the preview", + "schema": { + "type": "integer", + "format": "int64", + "default": 32 + } + }, + { + "name": "y", + "in": "query", + "description": "Height of the preview", + "schema": { + "type": "integer", + "format": "int64", + "default": 32 + } + }, + { + "name": "a", + "in": "query", + "description": "Whether to not crop the preview", + "schema": { + "type": "integer", + "default": 0, + "enum": [ + 0, + 1 + ] + } + } + ], + "responses": { + "200": { + "description": "Preview returned", + "content": { + "*/*": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + }, + "400": { + "description": "Getting preview is not possible", + "content": { + "application/json": { + "schema": [] + } + } + }, + "404": { + "description": "Preview not found", + "content": { + "application/json": { + "schema": [] + } + } + } + } + } + }, + "/index.php/apps/files_versions/preview": { + "get": { + "operationId": "files_versions-preview-get-preview", + "summary": "Get the preview for a file version", + "tags": [ + "files_versions/preview" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "file", + "in": "query", + "description": "Path of the file", + "schema": { + "type": "string", + "default": "" + } + }, + { + "name": "x", + "in": "query", + "description": "Width of the preview", + "schema": { + "type": "integer", + "format": "int64", + "default": 44 + } + }, + { + "name": "y", + "in": "query", + "description": "Height of the preview", + "schema": { + "type": "integer", + "format": "int64", + "default": 44 + } + }, + { + "name": "version", + "in": "query", + "description": "Version of the file to get the preview for", + "schema": { + "type": "string", + "default": "" + } + } + ], + "responses": { + "200": { + "description": "Preview returned", + "content": { + "*/*": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + }, + "400": { + "description": "Getting preview is not possible", + "content": { + "application/json": { + "schema": [] + } + } + }, + "404": { + "description": "Preview not found", + "content": { + "application/json": { + "schema": [] + } + } + } + } + } + }, + "/index.php/apps/oauth2/authorize": { + "get": { + "operationId": "oauth2-login_redirector-authorize", + "summary": "Authorize the user", + "tags": [ + "oauth2/login_redirector" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "client_id", + "in": "query", + "description": "Client ID", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "state", + "in": "query", + "description": "State of the flow", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "response_type", + "in": "query", + "description": "Response type for the flow", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Client not found", + "content": { + "text/html": { + "schema": { + "type": "string" + } + } + } + }, + "303": { + "description": "Redirect to login URL", + "headers": { + "Location": { + "schema": { + "type": "string" + } + } + } + } + } + } + }, + "/index.php/apps/oauth2/api/v1/token": { + "post": { + "operationId": "oauth2-oauth_api-get-token", + "summary": "Get a token", + "tags": [ + "oauth2/oauth_api" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "grant_type" + ], + "properties": { + "grant_type": { + "type": "string", + "description": "Token type that should be granted" + }, + "code": { + "type": "string", + "nullable": true, + "description": "Code of the flow" + }, + "refresh_token": { + "type": "string", + "nullable": true, + "description": "Refresh token" + }, + "client_id": { + "type": "string", + "nullable": true, + "description": "Client ID" + }, + "client_secret": { + "type": "string", + "nullable": true, + "description": "Client secret" + } + } + } + } + } + }, + "responses": { + "500": { + "description": "", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } + }, + "200": { + "description": "Token returned", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "access_token", + "token_type", + "expires_in", + "refresh_token", + "user_id" + ], + "properties": { + "access_token": { + "type": "string" + }, + "token_type": { + "type": "string" + }, + "expires_in": { + "type": "integer", + "format": "int64" + }, + "refresh_token": { + "type": "string" + }, + "user_id": { + "type": "string" + } + } + } + } + } + }, + "400": { + "description": "Getting token is not possible", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "error" + ], + "properties": { + "error": { + "type": "string" + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/cloud/apps": { + "get": { + "operationId": "provisioning_api-full-apps-get-apps", + "summary": "Get a list of installed apps", + "description": "This endpoint requires admin access", + "tags": [ + "provisioning_api-full/apps" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "filter", + "in": "query", + "description": "Filter for enabled or disabled apps", + "schema": { + "type": "string", + "nullable": true + } + }, + { + "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": "Installed apps 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": [ + "apps" + ], + "properties": { + "apps": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/cloud/apps/{app}": { + "get": { + "operationId": "provisioning_api-full-apps-get-app-info", + "summary": "Get the app info for an app", + "description": "This endpoint requires admin access", + "tags": [ + "provisioning_api-full/apps" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "app", + "in": "path", + "description": "ID of the app", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "App info 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": { + "type": "object", + "nullable": true + } + } + } + } + } + } + } + } + } + } + }, + "post": { + "operationId": "provisioning_api-full-apps-enable", + "summary": "Enable an app", + "description": "This endpoint requires admin access\nThis endpoint requires password confirmation", + "tags": [ + "provisioning_api-full/apps" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "app", + "in": "path", + "description": "ID of the app", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "App enabled successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + }, + "delete": { + "operationId": "provisioning_api-full-apps-disable", + "summary": "Disable an app", + "description": "This endpoint requires admin access\nThis endpoint requires password confirmation", + "tags": [ + "provisioning_api-full/apps" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "app", + "in": "path", + "description": "ID of the app", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "App disabled successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/cloud/groups/{groupId}/subadmins": { + "get": { + "operationId": "provisioning_api-full-groups-get-sub-admins-of-group", + "summary": "Get the list of user IDs that are a subadmin of the group", + "description": "This endpoint requires admin access", + "tags": [ + "provisioning_api-full/groups" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "groupId", + "in": "path", + "description": "ID of the group", + "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": "Sub admins 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": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/cloud/groups": { + "post": { + "operationId": "provisioning_api-full-groups-add-group", + "summary": "Create a new group", + "description": "This endpoint requires admin access\nThis endpoint requires password confirmation", + "tags": [ + "provisioning_api-full/groups" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "groupid" + ], + "properties": { + "groupid": { + "type": "string", + "description": "ID of the group" + }, + "displayname": { + "type": "string", + "default": "", + "description": "Display name of the group" + } + } + } + } + } + }, + "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": "Group created successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + }, + "get": { + "operationId": "provisioning_api-full-groups-get-groups", + "summary": "Get a list of groups", + "tags": [ + "provisioning_api-full/groups" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "search", + "in": "query", + "description": "Text to search for", + "schema": { + "type": "string", + "default": "" + } + }, + { + "name": "limit", + "in": "query", + "description": "Limit the amount of groups returned", + "schema": { + "type": "integer", + "format": "int64", + "nullable": true + } + }, + { + "name": "offset", + "in": "query", + "description": "Offset for searching for groups", + "schema": { + "type": "integer", + "format": "int64", + "default": 0 + } + }, + { + "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": "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": "object", + "required": [ + "groups" + ], + "properties": { + "groups": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/cloud/groups/{groupId}": { + "put": { + "operationId": "provisioning_api-full-groups-update-group", + "summary": "Update a group", + "description": "This endpoint requires admin access\nThis endpoint requires password confirmation", + "tags": [ + "provisioning_api-full/groups" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "key", + "value" + ], + "properties": { + "key": { + "type": "string", + "description": "Key to update, only 'displayname'" + }, + "value": { + "type": "string", + "description": "New value for the key" + } + } + } + } + } + }, + "parameters": [ + { + "name": "groupId", + "in": "path", + "description": "ID of the group", + "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 updated successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + }, + "delete": { + "operationId": "provisioning_api-full-groups-delete-group", + "summary": "Delete a group", + "description": "This endpoint requires admin access\nThis endpoint requires password confirmation", + "tags": [ + "provisioning_api-full/groups" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "groupId", + "in": "path", + "description": "ID of the group", + "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 deleted successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + }, + "get": { + "operationId": "provisioning_api-full-groups-get-group", + "summary": "Get a list of users in the specified group", + "deprecated": true, + "tags": [ + "provisioning_api-full/groups" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "groupId", + "in": "path", + "description": "ID of the group", + "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 users 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" + ], + "properties": { + "users": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/cloud/users/recent": { + "get": { + "operationId": "provisioning_api-full-users-get-last-logged-in-users", + "summary": "Gets the list of users sorted by lastLogin, from most recent to least recent", + "description": "This endpoint requires admin access", + "tags": [ + "provisioning_api-full/users" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "search", + "in": "query", + "description": "Text to search for", + "schema": { + "type": "string", + "default": "" + } + }, + { + "name": "limit", + "in": "query", + "description": "Limit the amount of users returned", + "schema": { + "type": "integer", + "format": "int64", + "nullable": true + } + }, + { + "name": "offset", + "in": "query", + "description": "Offset", + "schema": { + "type": "integer", + "format": "int64", + "default": 0 + } + }, + { + "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": "Users details returned based on last logged in information", + "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" + ], + "properties": { + "users": { + "type": "object", + "additionalProperties": { + "anyOf": [ + { + "$ref": "#/components/schemas/ProvisioningApi-fullUserDetails" + }, + { + "type": "object", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "string" + } + } + } + ] + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/cloud/users/{userId}/subadmins": { + "get": { + "operationId": "provisioning_api-full-users-get-user-sub-admin-groups", + "summary": "Get the groups a user is a subadmin of", + "description": "This endpoint requires admin access", + "tags": [ + "provisioning_api-full/users" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "userId", + "in": "path", + "description": "ID if the user", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "User subadmin 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": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + }, + "post": { + "operationId": "provisioning_api-full-users-add-sub-admin", + "summary": "Make a user a subadmin of a group", + "description": "This endpoint requires admin access\nThis endpoint requires password confirmation", + "tags": [ + "provisioning_api-full/users" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "groupid" + ], + "properties": { + "groupid": { + "type": "string", + "description": "ID of the group" + } + } + } + } + } + }, + "parameters": [ + { + "name": "userId", + "in": "path", + "description": "ID of the user", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "User added as group subadmin successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + }, + "delete": { + "operationId": "provisioning_api-full-users-remove-sub-admin", + "summary": "Remove a user from the subadmins of a group", + "description": "This endpoint requires admin access\nThis endpoint requires password confirmation", + "tags": [ + "provisioning_api-full/users" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "userId", + "in": "path", + "description": "ID of the user", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "groupid", + "in": "query", + "description": "ID of the group", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "User removed as group subadmin successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/provisioning_api/api/v1/config/apps": { + "get": { + "operationId": "provisioning_api-full-app_config-get-apps", + "summary": "Get a list of apps", + "description": "This endpoint requires admin access", + "tags": [ + "provisioning_api-full/app_config" + ], + "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": "Apps 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": [ + "data" + ], + "properties": { + "data": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/provisioning_api/api/v1/config/apps/{app}": { + "get": { + "operationId": "provisioning_api-full-app_config-get-keys", + "summary": "Get the config keys of an app", + "description": "This endpoint requires admin access", + "tags": [ + "provisioning_api-full/app_config" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "app", + "in": "path", + "description": "ID of the app", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "Keys 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": [ + "data" + ], + "properties": { + "data": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + }, + "403": { + "description": "App is not allowed", + "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": [ + "data" + ], + "properties": { + "data": { + "type": "object", + "required": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/provisioning_api/api/v1/config/apps/{app}/{key}": { + "get": { + "operationId": "provisioning_api-full-app_config-get-value", + "summary": "Get a the config value of an app", + "description": "This endpoint requires admin access", + "tags": [ + "provisioning_api-full/app_config" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "app", + "in": "path", + "description": "ID of the app", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "key", + "in": "path", + "description": "Key", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "defaultValue", + "in": "query", + "description": "Default returned value if the value is empty", + "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": "Value 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": [ + "data" + ], + "properties": { + "data": { + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "403": { + "description": "App is not allowed", + "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": [ + "data" + ], + "properties": { + "data": { + "type": "object", + "required": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "delete": { + "operationId": "provisioning_api-full-app_config-delete-key", + "summary": "Delete a config key of an app", + "description": "This endpoint requires admin access\nThis endpoint requires password confirmation", + "tags": [ + "provisioning_api-full/app_config" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "app", + "in": "path", + "description": "ID of the app", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "key", + "in": "path", + "description": "Key to delete", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "Key deleted successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "403": { + "description": "App or key is not allowed", + "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": [ + "data" + ], + "properties": { + "data": { + "type": "object", + "required": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "post": { + "operationId": "provisioning_api-full-app_config-set-value", + "summary": "Update the config value of an app", + "description": "This endpoint requires password confirmation", + "tags": [ + "provisioning_api-full/app_config" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "value" + ], + "properties": { + "value": { + "type": "string", + "description": "New value for the key" + } + } + } + } + } + }, + "parameters": [ + { + "name": "app", + "in": "path", + "description": "ID of the app", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "key", + "in": "path", + "description": "Key to update", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "Value updated successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "403": { + "description": "App or key is not allowed", + "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": [ + "data" + ], + "properties": { + "data": { + "type": "object", + "required": [ + "message" + ], + "properties": { + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/cloud/groups/details": { + "get": { + "operationId": "provisioning_api-full-groups-get-groups-details", + "summary": "Get a list of groups details", + "tags": [ + "provisioning_api-full/groups" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "search", + "in": "query", + "description": "Text to search for", + "schema": { + "type": "string", + "default": "" + } + }, + { + "name": "limit", + "in": "query", + "description": "Limit the amount of groups returned", + "schema": { + "type": "integer", + "format": "int64", + "nullable": true + } + }, + { + "name": "offset", + "in": "query", + "description": "Offset for searching for groups", + "schema": { + "type": "integer", + "format": "int64", + "default": 0 + } + }, + { + "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": "Groups details 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": [ + "groups" + ], + "properties": { + "groups": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProvisioningApi-fullGroupDetails" + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/cloud/groups/{groupId}/users": { + "get": { + "operationId": "provisioning_api-full-groups-get-group-users", + "summary": "Get a list of users in the specified group", + "tags": [ + "provisioning_api-full/groups" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "groupId", + "in": "path", + "description": "ID of the group", + "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": "User IDs 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" + ], + "properties": { + "users": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + }, + "404": { + "description": "Group not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "403": { + "description": "Missing permissions to get users in the group", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/cloud/groups/{groupId}/users/details": { + "get": { + "operationId": "provisioning_api-full-groups-get-group-users-details", + "summary": "Get a list of users details in the specified group", + "tags": [ + "provisioning_api-full/groups" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "groupId", + "in": "path", + "description": "ID of the group", + "required": true, + "schema": { + "type": "string", + "pattern": "^.+$" + } + }, + { + "name": "search", + "in": "query", + "description": "Text to search for", + "schema": { + "type": "string", + "default": "" + } + }, + { + "name": "limit", + "in": "query", + "description": "Limit the amount of groups returned", + "schema": { + "type": "integer", + "format": "int64", + "nullable": true + } + }, + { + "name": "offset", + "in": "query", + "description": "Offset for searching for groups", + "schema": { + "type": "integer", + "format": "int64", + "default": 0 + } + }, + { + "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 users details 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" + ], + "properties": { + "users": { + "type": "object", + "additionalProperties": { + "anyOf": [ + { + "$ref": "#/components/schemas/ProvisioningApi-fullUserDetails" + }, + { + "type": "object", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "string" + } + } + } + ] + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/cloud/users": { + "get": { + "operationId": "provisioning_api-full-users-get-users", + "summary": "Get a list of users", + "tags": [ + "provisioning_api-full/users" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "search", + "in": "query", + "description": "Text to search for", + "schema": { + "type": "string", + "default": "" + } + }, + { + "name": "limit", + "in": "query", + "description": "Limit the amount of groups returned", + "schema": { + "type": "integer", + "format": "int64", + "nullable": true + } + }, + { + "name": "offset", + "in": "query", + "description": "Offset for searching for groups", + "schema": { + "type": "integer", + "format": "int64", + "default": 0 + } + }, + { + "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": "Users 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" + ], + "properties": { + "users": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + }, + "post": { + "operationId": "provisioning_api-full-users-add-user", + "summary": "Create a new user", + "description": "This endpoint requires password confirmation", + "tags": [ + "provisioning_api-full/users" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "userid" + ], + "properties": { + "userid": { + "type": "string", + "description": "ID of the user" + }, + "password": { + "type": "string", + "default": "", + "description": "Password of the user" + }, + "displayName": { + "type": "string", + "default": "", + "description": "Display name of the user" + }, + "email": { + "type": "string", + "default": "", + "description": "Email of the user" + }, + "groups": { + "type": "array", + "default": [], + "description": "Groups of the user", + "items": { + "type": "string" + } + }, + "subadmin": { + "type": "array", + "default": [], + "description": "Groups where the user is subadmin", + "items": { + "type": "string" + } + }, + "quota": { + "type": "string", + "default": "", + "description": "Quota of the user" + }, + "language": { + "type": "string", + "default": "", + "description": "Language of the user" + }, + "manager": { + "type": "string", + "nullable": true, + "description": "Manager of the user" + } + } + } + } + } + }, + "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": "User 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": [ + "id" + ], + "properties": { + "id": { + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "403": { + "description": "Missing permissions to make user subadmin", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/cloud/users/details": { + "get": { + "operationId": "provisioning_api-full-users-get-users-details", + "summary": "Get a list of users and their details", + "tags": [ + "provisioning_api-full/users" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "search", + "in": "query", + "description": "Text to search for", + "schema": { + "type": "string", + "default": "" + } + }, + { + "name": "limit", + "in": "query", + "description": "Limit the amount of groups returned", + "schema": { + "type": "integer", + "format": "int64", + "nullable": true + } + }, + { + "name": "offset", + "in": "query", + "description": "Offset for searching for groups", + "schema": { + "type": "integer", + "format": "int64", + "default": 0 + } + }, + { + "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": "Users details 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" + ], + "properties": { + "users": { + "type": "object", + "additionalProperties": { + "anyOf": [ + { + "$ref": "#/components/schemas/ProvisioningApi-fullUserDetails" + }, + { + "type": "object", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "string" + } + } + } + ] + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/cloud/users/disabled": { + "get": { + "operationId": "provisioning_api-full-users-get-disabled-users-details", + "summary": "Get the list of disabled users and their details", + "tags": [ + "provisioning_api-full/users" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "search", + "in": "query", + "description": "Text to search for", + "schema": { + "type": "string", + "default": "" + } + }, + { + "name": "limit", + "in": "query", + "description": "Limit the amount of users returned", + "schema": { + "type": "integer", + "format": "int64", + "nullable": true + } + }, + { + "name": "offset", + "in": "query", + "description": "Offset", + "schema": { + "type": "integer", + "format": "int64", + "default": 0 + } + }, + { + "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": "Disabled users details 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" + ], + "properties": { + "users": { + "type": "object", + "additionalProperties": { + "anyOf": [ + { + "$ref": "#/components/schemas/ProvisioningApi-fullUserDetails" + }, + { + "type": "object", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "string" + } + } + } + ] + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/cloud/users/search/by-phone": { + "post": { + "operationId": "provisioning_api-full-users-search-by-phone-numbers", + "summary": "Search users by their phone numbers", + "tags": [ + "provisioning_api-full/users" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "location", + "search" + ], + "properties": { + "location": { + "type": "string", + "description": "Location of the phone number (for country code)" + }, + "search": { + "type": "object", + "description": "Phone numbers to search for", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + } + }, + "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": "Users 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": { + "type": "string" + } + } + } + } + } + } + } + } + }, + "400": { + "description": "Invalid location", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/cloud/users/{userId}": { + "get": { + "operationId": "provisioning_api-full-users-get-user", + "summary": "Get the details of a user", + "tags": [ + "provisioning_api-full/users" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "userId", + "in": "path", + "description": "ID of the user", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "User 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/ProvisioningApi-fullUserDetails" + } + } + } + } + } + } + } + } + } + }, + "put": { + "operationId": "provisioning_api-full-users-edit-user", + "summary": "Update a value of the user's details", + "description": "This endpoint requires password confirmation", + "tags": [ + "provisioning_api-full/users" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "key", + "value" + ], + "properties": { + "key": { + "type": "string", + "description": "Key that will be updated" + }, + "value": { + "type": "string", + "description": "New value for the key" + } + } + } + } + } + }, + "parameters": [ + { + "name": "userId", + "in": "path", + "description": "ID of the user", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "User value edited successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + }, + "delete": { + "operationId": "provisioning_api-full-users-delete-user", + "summary": "Delete a user", + "description": "This endpoint requires password confirmation", + "tags": [ + "provisioning_api-full/users" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "userId", + "in": "path", + "description": "ID of the user", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "User deleted successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/cloud/user": { + "get": { + "operationId": "provisioning_api-full-users-get-current-user", + "summary": "Get the details of the current user", + "tags": [ + "provisioning_api-full/users" + ], + "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": "Current user 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/ProvisioningApi-fullUserDetails" + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/cloud/user/fields": { + "get": { + "operationId": "provisioning_api-full-users-get-editable-fields", + "summary": "Get a list of fields that are editable for the current user", + "tags": [ + "provisioning_api-full/users" + ], + "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": "Editable fields 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": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/cloud/user/fields/{userId}": { + "get": { + "operationId": "provisioning_api-full-users-get-editable-fields-for-user", + "summary": "Get a list of fields that are editable for a user", + "tags": [ + "provisioning_api-full/users" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "userId", + "in": "path", + "description": "ID of the user", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "Editable fields for user 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": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/cloud/users/{userId}/{collectionName}": { + "put": { + "operationId": "provisioning_api-full-users-edit-user-multi-value", + "summary": "Update multiple values of the user's details", + "description": "This endpoint requires password confirmation", + "tags": [ + "provisioning_api-full/users" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "key", + "value" + ], + "properties": { + "key": { + "type": "string", + "description": "Key that will be updated" + }, + "value": { + "type": "string", + "description": "New value for the key" + } + } + } + } + } + }, + "parameters": [ + { + "name": "userId", + "in": "path", + "description": "ID of the user", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "collectionName", + "in": "path", + "description": "Collection to update", + "required": true, + "schema": { + "type": "string", + "pattern": "^(?!enable$|disable$)[a-zA-Z0-9_]*$" + } + }, + { + "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": "User values edited successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/cloud/users/{userId}/wipe": { + "post": { + "operationId": "provisioning_api-full-users-wipe-user-devices", + "summary": "Wipe all devices of a user", + "description": "This endpoint requires password confirmation", + "tags": [ + "provisioning_api-full/users" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "userId", + "in": "path", + "description": "ID of the user", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "Wiped all user devices successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/cloud/users/{userId}/enable": { + "put": { + "operationId": "provisioning_api-full-users-enable-user", + "summary": "Enable a user", + "description": "This endpoint requires password confirmation", + "tags": [ + "provisioning_api-full/users" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "userId", + "in": "path", + "description": "ID of the user", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "User enabled successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/cloud/users/{userId}/disable": { + "put": { + "operationId": "provisioning_api-full-users-disable-user", + "summary": "Disable a user", + "description": "This endpoint requires password confirmation", + "tags": [ + "provisioning_api-full/users" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "userId", + "in": "path", + "description": "ID of the user", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "User disabled successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/cloud/users/{userId}/groups": { + "get": { + "operationId": "provisioning_api-full-users-get-users-groups", + "summary": "Get a list of groups the user belongs to", + "tags": [ + "provisioning_api-full/users" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "userId", + "in": "path", + "description": "ID of the user", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "Users 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": "object", + "required": [ + "groups" + ], + "properties": { + "groups": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + }, + "post": { + "operationId": "provisioning_api-full-users-add-to-group", + "summary": "Add a user to a group", + "description": "This endpoint requires password confirmation", + "tags": [ + "provisioning_api-full/users" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": false, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "groupid": { + "type": "string", + "default": "", + "description": "ID of the group" + } + } + } + } + } + }, + "parameters": [ + { + "name": "userId", + "in": "path", + "description": "ID of the user", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "User added to group successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + }, + "delete": { + "operationId": "provisioning_api-full-users-remove-from-group", + "summary": "Remove a user from a group", + "description": "This endpoint requires password confirmation", + "tags": [ + "provisioning_api-full/users" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "userId", + "in": "path", + "description": "ID of the user", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "groupid", + "in": "query", + "description": "ID of the group", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "User removed from group successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/cloud/users/{userId}/welcome": { + "post": { + "operationId": "provisioning_api-full-users-resend-welcome-message", + "summary": "Resend the welcome message", + "description": "This endpoint requires password confirmation", + "tags": [ + "provisioning_api-full/users" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "userId", + "in": "path", + "description": "ID if the user", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "Resent welcome message successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/provisioning_api/api/v1/config/users/{appId}/{configKey}": { + "post": { + "operationId": "provisioning_api-full-preferences-set-preference", + "summary": "Update a preference value of an app", + "tags": [ + "provisioning_api-full/preferences" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "configValue" + ], + "properties": { + "configValue": { + "type": "string", + "description": "New value" + } + } + } + } + } + }, + "parameters": [ + { + "name": "appId", + "in": "path", + "description": "ID of the app", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "configKey", + "in": "path", + "description": "Key of the preference", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "Preference updated successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "400": { + "description": "Preference invalid", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + }, + "delete": { + "operationId": "provisioning_api-full-preferences-delete-preference", + "summary": "Delete a preference for an app", + "tags": [ + "provisioning_api-full/preferences" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "appId", + "in": "path", + "description": "ID of the app", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "configKey", + "in": "path", + "description": "Key to delete", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "Preference deleted successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "400": { + "description": "Preference invalid", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/provisioning_api/api/v1/config/users/{appId}": { + "post": { + "operationId": "provisioning_api-full-preferences-set-multiple-preferences", + "summary": "Update multiple preference values of an app", + "tags": [ + "provisioning_api-full/preferences" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "configs" + ], + "properties": { + "configs": { + "type": "object", + "description": "Key-value pairs of the preferences", + "additionalProperties": { + "type": "string" + } + } + } + } + } + } + }, + "parameters": [ + { + "name": "appId", + "in": "path", + "description": "ID of the app", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "Preferences updated successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "400": { + "description": "Preference invalid", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + }, + "delete": { + "operationId": "provisioning_api-full-preferences-delete-multiple-preference", + "summary": "Delete multiple preferences for an app", + "tags": [ + "provisioning_api-full/preferences" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "appId", + "in": "path", + "description": "ID of the app", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "configKeys[]", + "in": "query", + "description": "Keys to delete", + "required": true, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "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": "Preferences deleted successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "400": { + "description": "Preference invalid", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/index.php/settings/admin/log/download": { + "get": { + "operationId": "settings-full-log_settings-download", + "summary": "download logfile", + "description": "This endpoint requires admin access", + "tags": [ + "settings-full/log_settings" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "responses": { + "200": { + "description": "Logfile returned", + "headers": { + "Content-Disposition": { + "schema": { + "type": "string", + "enum": [ + "attachment; filename=\"nextcloud.log\"" + ] + } + } + }, + "content": { + "application/octet-stream": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + } + } + } + }, + "/ocs/v2.php/settings/api/declarative/value": { + "post": { + "operationId": "settings-full-declarative_settings-set-value", + "summary": "Sets a declarative settings value", + "tags": [ + "settings-full/declarative_settings" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "app", + "formId", + "fieldId", + "value" + ], + "properties": { + "app": { + "type": "string", + "description": "ID of the app" + }, + "formId": { + "type": "string", + "description": "ID of the form" + }, + "fieldId": { + "type": "string", + "description": "ID of the field" + }, + "value": { + "type": "object", + "description": "Value to be saved" + } + } + } + } + } + }, + "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": "Value set successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": { + "nullable": true + } + } + } + } + } + } + } + }, + "500": { + "description": "Not logged in or not an admin user", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } + }, + "400": { + "description": "Invalid arguments to save value", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/settings/api/declarative/forms": { + "get": { + "operationId": "settings-full-declarative_settings-get-forms", + "summary": "Gets all declarative forms with the values prefilled.", + "tags": [ + "settings-full/declarative_settings" + ], + "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": "Forms 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/Settings-fullDeclarativeForm" + } + } + } + } + } + } + } + } + }, + "500": { + "description": "", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } + } + } + } + }, + "/index.php/apps/theming/theme/{themeId}.css": { + "get": { + "operationId": "theming-theming-get-theme-stylesheet", + "summary": "Get the CSS stylesheet for a theme", + "tags": [ + "theming/theming" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "themeId", + "in": "path", + "description": "ID of the theme", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "plain", + "in": "query", + "description": "Let the browser decide the CSS priority", + "schema": { + "type": "integer", + "default": 0, + "enum": [ + 0, + 1 + ] + } + }, + { + "name": "withCustomCss", + "in": "query", + "description": "Include custom CSS", + "schema": { + "type": "integer", + "default": 0, + "enum": [ + 0, + 1 + ] + } + } + ], + "responses": { + "200": { + "description": "Stylesheet returned", + "content": { + "text/css": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + }, + "404": { + "description": "Theme not found", + "content": { + "text/html": { + "schema": { + "type": "string" + } + } + } + } + } + } + }, + "/index.php/apps/theming/image/{key}": { + "get": { + "operationId": "theming-theming-get-image", + "summary": "Get an image", + "tags": [ + "theming/theming" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "key", + "in": "path", + "description": "Key of the image", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "useSvg", + "in": "query", + "description": "Return image as SVG", + "schema": { + "type": "integer", + "default": 1, + "enum": [ + 0, + 1 + ] + } + } + ], + "responses": { + "200": { + "description": "Image returned", + "content": { + "*/*": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + }, + "404": { + "description": "Image not found", + "content": { + "text/html": { + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } + } + } + } + }, + "/index.php/apps/theming/manifest/{app}": { + "get": { + "operationId": "theming-theming-get-manifest", + "summary": "Get the manifest for an app", + "tags": [ + "theming/theming" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "app", + "in": "path", + "description": "ID of the app", + "required": true, + "schema": { + "type": "string", + "default": "core" + } + } + ], + "responses": { + "200": { + "description": "Manifest returned", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "name", + "short_name", + "start_url", + "theme_color", + "background_color", + "description", + "icons", + "display_override", + "display" + ], + "properties": { + "name": { + "type": "string" + }, + "short_name": { + "type": "string" + }, + "start_url": { + "type": "string" + }, + "theme_color": { + "type": "string" + }, + "background_color": { + "type": "string" + }, + "description": { + "type": "string" + }, + "icons": { + "type": "array", + "items": { + "type": "object", + "required": [ + "src", + "type", + "sizes" + ], + "properties": { + "src": { + "type": "string", + "minLength": 1 + }, + "type": { + "type": "string" + }, + "sizes": { + "type": "string" + } + } + } + }, + "display_override": { + "type": "array", + "items": { + "type": "string" + } + }, + "display": { + "type": "string" + } + } + } + } + } + }, + "404": { + "description": "App not found", + "content": { + "application/json": { + "schema": { + "type": "object" + } + } + } + } + } + } + }, + "/index.php/apps/theming/favicon/{app}": { + "get": { + "operationId": "theming-icon-get-favicon", + "summary": "Return a 32x32 favicon as png", + "tags": [ + "theming/icon" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "app", + "in": "path", + "description": "ID of the app", + "required": true, + "schema": { + "type": "string", + "default": "core" + } + } + ], + "responses": { + "200": { + "description": "Favicon returned", + "content": { + "image/x-icon": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + }, + "404": { + "description": "Favicon not found", + "content": { + "text/html": { + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } + } + } + } + }, + "/index.php/apps/theming/icon/{app}": { + "get": { + "operationId": "theming-icon-get-touch-icon", + "summary": "Return a 512x512 icon for touch devices", + "tags": [ + "theming/icon" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "app", + "in": "path", + "description": "ID of the app", + "required": true, + "schema": { + "type": "string", + "default": "core" + } + } + ], + "responses": { + "200": { + "description": "Touch icon returned", + "content": { + "image/png": { + "schema": { + "type": "string", + "format": "binary" + } + }, + "image/x-icon": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + }, + "404": { + "description": "Touch icon not found", + "content": { + "text/html": { + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } + } + } + } + }, + "/index.php/apps/theming/img/{app}/{image}": { + "get": { + "operationId": "theming-icon-get-themed-icon", + "summary": "Get a themed icon", + "tags": [ + "theming/icon" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "app", + "in": "path", + "description": "ID of the app", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "image file name (svg required)", + "required": true, + "schema": { + "type": "string", + "pattern": "^.+$" + } + } + ], + "responses": { + "200": { + "description": "Themed icon returned", + "content": { + "image/svg+xml": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + }, + "404": { + "description": "Themed icon not found", + "content": { + "text/html": { + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } + } + } + } + }, + "/index.php/apps/theming/background": { + "get": { + "operationId": "theming-user_theme-get-background", + "summary": "Get the background image", + "tags": [ + "theming/user_theme" + ], + "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": "Background image returned", + "content": { + "*/*": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + }, + "404": { + "description": "Background image not found", + "content": { + "text/html": { + "schema": { + "type": "string" + } + } + } + } + } + } + }, + "/index.php/apps/theming/background/{type}": { + "post": { + "operationId": "theming-user_theme-set-background", + "summary": "Set the background", + "tags": [ + "theming/user_theme" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": false, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "value": { + "type": "string", + "default": "", + "description": "Path of the background image" + }, + "color": { + "type": "string", + "nullable": true, + "description": "Color for the background" + } + } + } + } + } + }, + "parameters": [ + { + "name": "type", + "in": "path", + "description": "Type of background", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "Background set successfully", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThemingBackground" + } + } + } + }, + "400": { + "description": "Setting background is not possible", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "error" + ], + "properties": { + "error": { + "type": "string" + } + } + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "error" + ], + "properties": { + "error": { + "type": "string" + } + } + } + } + } + } + } + } + }, + "/index.php/apps/theming/background/custom": { + "delete": { + "operationId": "theming-user_theme-delete-background", + "summary": "Delete the background", + "tags": [ + "theming/user_theme" + ], + "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": "Background deleted successfully", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThemingBackground" + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/theming/api/v1/theme/{themeId}/enable": { + "put": { + "operationId": "theming-user_theme-enable-theme", + "summary": "Enable theme", + "tags": [ + "theming/user_theme" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "themeId", + "in": "path", + "description": "the theme ID", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "Theme enabled successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "400": { + "description": "Enabling theme is not possible", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "500": { + "description": "", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/theming/api/v1/theme/{themeId}": { + "delete": { + "operationId": "theming-user_theme-disable-theme", + "summary": "Disable theme", + "tags": [ + "theming/user_theme" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "themeId", + "in": "path", + "description": "the theme ID", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "Theme disabled successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "400": { + "description": "Disabling theme is not possible", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "500": { + "description": "", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/updatenotification/api/{apiVersion}/applist/{newVersion}": { + "get": { + "operationId": "updatenotification-api-get-app-list", + "summary": "List available updates for apps", + "description": "This endpoint requires admin access", + "tags": [ + "updatenotification/api" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "apiVersion", + "in": "path", + "required": true, + "schema": { + "type": "string", + "enum": [ + "v1" + ], + "default": "v1" + } + }, + { + "name": "newVersion", + "in": "path", + "description": "Server version to check updates for", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "Apps 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": [ + "missing", + "available" + ], + "properties": { + "missing": { + "type": "array", + "items": { + "$ref": "#/components/schemas/UpdatenotificationApp" + } + }, + "available": { + "type": "array", + "items": { + "$ref": "#/components/schemas/UpdatenotificationApp" + } + } + } + } + } + } + } + } + } + } + }, + "404": { + "description": "New versions not found", + "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": [ + "appstore_disabled" + ], + "properties": { + "appstore_disabled": { + "type": "boolean" + }, + "already_on_latest": { + "type": "boolean" + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/updatenotification/api/{apiVersion}/changelog/{appId}": { + "get": { + "operationId": "updatenotification-api-get-app-changelog-entry", + "summary": "Get changelog entry for an app", + "description": "This endpoint requires admin access", + "tags": [ + "updatenotification/api" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "apiVersion", + "in": "path", + "required": true, + "schema": { + "type": "string", + "enum": [ + "v1" + ], + "default": "v1" + } + }, + { + "name": "appId", + "in": "path", + "description": "App to search changelog entry for", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "version", + "in": "query", + "description": "The version to search the changelog entry for (defaults to the latest installed)", + "schema": { + "type": "string", + "nullable": true + } + }, + { + "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": "Changelog entry 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": [ + "appName", + "content", + "version" + ], + "properties": { + "appName": { + "type": "string" + }, + "content": { + "type": "string" + }, + "version": { + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "404": { + "description": "No changelog found", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": { + "type": "object" + } + } + } + } + } + } + } + }, + "400": { + "description": "The `version` parameter is not a valid version format", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": { + "type": "object" + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/user_ldap/api/v1/config": { + "post": { + "operationId": "user_ldap-configapi-create", + "summary": "Create a new (empty) configuration and return the resulting prefix", + "description": "This endpoint requires admin access", + "tags": [ + "user_ldap/configapi" + ], + "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": "Config created 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": [ + "configID" + ], + "properties": { + "configID": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/user_ldap/api/v1/config/{configID}": { + "get": { + "operationId": "user_ldap-configapi-show", + "summary": "Get a configuration", + "description": "Output can look like this: <?xml version=\"1.0\"?> <ocs> <meta> <status>ok</status> <statuscode>200</statuscode> <message>OK</message> </meta> <data> <ldapHost>ldaps://my.ldap.server</ldapHost> <ldapPort>7770</ldapPort> <ldapBackupHost></ldapBackupHost> <ldapBackupPort></ldapBackupPort> <ldapBase>ou=small,dc=my,dc=ldap,dc=server</ldapBase> <ldapBaseUsers>ou=users,ou=small,dc=my,dc=ldap,dc=server</ldapBaseUsers> <ldapBaseGroups>ou=small,dc=my,dc=ldap,dc=server</ldapBaseGroups> <ldapAgentName>cn=root,dc=my,dc=ldap,dc=server</ldapAgentName> <ldapAgentPassword>clearTextWithShowPassword=1</ldapAgentPassword> <ldapTLS>1</ldapTLS> <turnOffCertCheck>0</turnOffCertCheck> <ldapIgnoreNamingRules/> <ldapUserDisplayName>displayname</ldapUserDisplayName> <ldapUserDisplayName2>uid</ldapUserDisplayName2> <ldapUserFilterObjectclass>inetOrgPerson</ldapUserFilterObjectclass> <ldapUserFilterGroups></ldapUserFilterGroups> <ldapUserFilter>(&(objectclass=nextcloudUser)(nextcloudEnabled=TRUE))</ldapUserFilter> <ldapUserFilterMode>1</ldapUserFilterMode> <ldapGroupFilter>(&(|(objectclass=nextcloudGroup)))</ldapGroupFilter> <ldapGroupFilterMode>0</ldapGroupFilterMode> <ldapGroupFilterObjectclass>nextcloudGroup</ldapGroupFilterObjectclass> <ldapGroupFilterGroups></ldapGroupFilterGroups> <ldapGroupDisplayName>cn</ldapGroupDisplayName> <ldapGroupMemberAssocAttr>memberUid</ldapGroupMemberAssocAttr> <ldapLoginFilter>(&(|(objectclass=inetOrgPerson))(uid=%uid))</ldapLoginFilter> <ldapLoginFilterMode>0</ldapLoginFilterMode> <ldapLoginFilterEmail>0</ldapLoginFilterEmail> <ldapLoginFilterUsername>1</ldapLoginFilterUsername> <ldapLoginFilterAttributes></ldapLoginFilterAttributes> <ldapQuotaAttribute></ldapQuotaAttribute> <ldapQuotaDefault></ldapQuotaDefault> <ldapEmailAttribute>mail</ldapEmailAttribute> <ldapCacheTTL>20</ldapCacheTTL> <ldapUuidUserAttribute>auto</ldapUuidUserAttribute> <ldapUuidGroupAttribute>auto</ldapUuidGroupAttribute> <ldapOverrideMainServer></ldapOverrideMainServer> <ldapConfigurationActive>1</ldapConfigurationActive> <ldapAttributesForUserSearch>uid;sn;givenname</ldapAttributesForUserSearch> <ldapAttributesForGroupSearch></ldapAttributesForGroupSearch> <ldapExperiencedAdmin>0</ldapExperiencedAdmin> <homeFolderNamingRule></homeFolderNamingRule> <hasMemberOfFilterSupport></hasMemberOfFilterSupport> <useMemberOfToDetectMembership>1</useMemberOfToDetectMembership> <ldapExpertUsernameAttr>uid</ldapExpertUsernameAttr> <ldapExpertUUIDUserAttr>uid</ldapExpertUUIDUserAttr> <ldapExpertUUIDGroupAttr></ldapExpertUUIDGroupAttr> <lastJpegPhotoLookup>0</lastJpegPhotoLookup> <ldapNestedGroups>0</ldapNestedGroups> <ldapPagingSize>500</ldapPagingSize> <turnOnPasswordChange>1</turnOnPasswordChange> <ldapDynamicGroupMemberURL></ldapDynamicGroupMemberURL> </data> </ocs>\nThis endpoint requires admin access", + "tags": [ + "user_ldap/configapi" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "configID", + "in": "path", + "description": "ID of the config", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "showPassword", + "in": "query", + "description": "Whether to show the password", + "schema": { + "type": "integer", + "default": 0, + "enum": [ + 0, + 1 + ] + } + }, + { + "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": "Config 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": { + "type": "object" + } + } + } + } + } + } + } + } + }, + "404": { + "description": "Config not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + }, + "put": { + "operationId": "user_ldap-configapi-modify", + "summary": "Modify a configuration", + "description": "This endpoint requires admin access", + "tags": [ + "user_ldap/configapi" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "configData" + ], + "properties": { + "configData": { + "type": "object", + "description": "New config", + "additionalProperties": { + "type": "object" + } + } + } + } + } + } + }, + "parameters": [ + { + "name": "configID", + "in": "path", + "description": "ID of the config", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "Config returned", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "400": { + "description": "Modifying config is not possible", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "404": { + "description": "Config not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + }, + "delete": { + "operationId": "user_ldap-configapi-delete", + "summary": "Delete a LDAP configuration", + "description": "This endpoint requires admin access", + "tags": [ + "user_ldap/configapi" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "configID", + "in": "path", + "description": "ID of the config", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "Config deleted successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "404": { + "description": "Config not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/user_status/api/v1/heartbeat": { + "put": { + "operationId": "user_status-heartbeat-heartbeat", + "summary": "Keep the status alive", + "tags": [ + "user_status/heartbeat" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "status" + ], + "properties": { + "status": { + "type": "string", + "description": "Only online, away" + } + } + } + } + } + }, + "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": "Status successfully updated", + "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/UserStatusPrivate" + } + } + } + } + } + } + } + }, + "400": { + "description": "Invalid status to update", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "204": { + "description": "User has no status to keep alive" + } + } + } + }, + "/ocs/v2.php/apps/user_status/api/v1/predefined_statuses": { + "get": { + "operationId": "user_status-predefined_status-find-all", + "summary": "Get all predefined messages", + "tags": [ + "user_status/predefined_status" + ], + "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": "Predefined statuses 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/UserStatusPredefined" + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/user_status/api/v1/statuses": { + "get": { + "operationId": "user_status-statuses-find-all", + "summary": "Find statuses of users", + "tags": [ + "user_status/statuses" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "limit", + "in": "query", + "description": "Maximum number of statuses to find", + "schema": { + "type": "integer", + "format": "int64", + "nullable": true + } + }, + { + "name": "offset", + "in": "query", + "description": "Offset for finding statuses", + "schema": { + "type": "integer", + "format": "int64", + "nullable": true, + "minimum": 0 + } + }, + { + "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": "Statuses 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/UserStatusPublic" + } + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/user_status/api/v1/statuses/{userId}": { + "get": { + "operationId": "user_status-statuses-find", + "summary": "Find the status of a user", + "tags": [ + "user_status/statuses" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "userId", + "in": "path", + "description": "ID of the user", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "Status 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/UserStatusPublic" + } + } + } + } + } + } + } + }, + "404": { + "description": "The user was not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/user_status/api/v1/user_status": { + "get": { + "operationId": "user_status-user_status-get-status", + "summary": "Get the status of the current user", + "tags": [ + "user_status/user_status" + ], + "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": "The status was found 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/UserStatusPrivate" + } + } + } + } + } + } + } + }, + "404": { + "description": "The user was not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/user_status/api/v1/user_status/status": { + "put": { + "operationId": "user_status-user_status-set-status", + "summary": "Update the status type of the current user", + "tags": [ + "user_status/user_status" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "statusType" + ], + "properties": { + "statusType": { + "type": "string", + "description": "The new status type" + } + } + } + } + } + }, + "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": "The status was updated 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/UserStatusPrivate" + } + } + } + } + } + } + } + }, + "400": { + "description": "The status type is invalid", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/user_status/api/v1/user_status/message/predefined": { + "put": { + "operationId": "user_status-user_status-set-predefined-message", + "summary": "Set the message to a predefined message for the current user", + "tags": [ + "user_status/user_status" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "messageId" + ], + "properties": { + "messageId": { + "type": "string", + "description": "ID of the predefined message" + }, + "clearAt": { + "type": "integer", + "format": "int64", + "nullable": true, + "description": "When the message should be cleared" + } + } + } + } + } + }, + "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": "The message was updated 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/UserStatusPrivate" + } + } + } + } + } + } + } + }, + "400": { + "description": "The clearAt or message-id is invalid", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/user_status/api/v1/user_status/message/custom": { + "put": { + "operationId": "user_status-user_status-set-custom-message", + "summary": "Set the message to a custom message for the current user", + "tags": [ + "user_status/user_status" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": false, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "statusIcon": { + "type": "string", + "nullable": true, + "description": "Icon of the status" + }, + "message": { + "type": "string", + "nullable": true, + "description": "Message of the status" + }, + "clearAt": { + "type": "integer", + "format": "int64", + "nullable": true, + "description": "When the message should be cleared" + } + } + } + } + } + }, + "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": "The message was updated 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/UserStatusPrivate" + } + } + } + } + } + } + } + }, + "400": { + "description": "The clearAt or icon is invalid or the message is too long", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "404": { + "description": "No status for the current user", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/user_status/api/v1/user_status/message": { + "delete": { + "operationId": "user_status-user_status-clear-message", + "summary": "Clear the message of the current user", + "tags": [ + "user_status/user_status" + ], + "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": "Message cleared successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/user_status/api/v1/user_status/revert/{messageId}": { + "delete": { + "operationId": "user_status-user_status-revert-status", + "summary": "Revert the status to the previous status", + "tags": [ + "user_status/user_status" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "messageId", + "in": "path", + "description": "ID of the message to delete", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "Status reverted", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": { + "anyOf": [ + { + "$ref": "#/components/schemas/UserStatusPrivate" + }, + { + "type": "array", + "maxItems": 0 + } + ] + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/weather_status/api/v1/mode": { + "put": { + "operationId": "weather_status-weather_status-set-mode", + "summary": "Change the weather status mode. There are currently 2 modes: - ask the browser - use the user defined address", + "tags": [ + "weather_status/weather_status" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "mode" + ], + "properties": { + "mode": { + "type": "integer", + "format": "int64", + "description": "New mode" + } + } + } + } + } + }, + "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": "Weather status mode updated", + "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/WeatherStatusSuccess" + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/weather_status/api/v1/use-personal": { + "put": { + "operationId": "weather_status-weather_status-use-personal-address", + "summary": "Try to use the address set in user personal settings as weather location", + "tags": [ + "weather_status/weather_status" + ], + "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": "Address updated", + "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/WeatherStatusLocationWithSuccess" + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/weather_status/api/v1/location": { + "get": { + "operationId": "weather_status-weather_status-get-location", + "summary": "Get stored user location", + "tags": [ + "weather_status/weather_status" + ], + "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": "Location 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/WeatherStatusLocationWithMode" + } + } + } + } + } + } + } + } + } + }, + "put": { + "operationId": "weather_status-weather_status-set-location", + "summary": "Set address and resolve it to get coordinates or directly set coordinates and get address with reverse geocoding", + "tags": [ + "weather_status/weather_status" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": false, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "address": { + "type": "string", + "nullable": true, + "description": "Any approximative or exact address" + }, + "lat": { + "type": "number", + "format": "double", + "nullable": true, + "description": "Latitude in decimal degree format" + }, + "lon": { + "type": "number", + "format": "double", + "nullable": true, + "description": "Longitude in decimal degree format" + } + } + } + } + } + }, + "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": "Location updated", + "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/WeatherStatusLocationWithSuccess" + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/weather_status/api/v1/forecast": { + "get": { + "operationId": "weather_status-weather_status-get-forecast", + "summary": "Get forecast for current location", + "tags": [ + "weather_status/weather_status" + ], + "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": "Forecast returned", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WeatherStatusForecast" + } + }, + { + "type": "object", + "required": [ + "error" + ], + "properties": { + "error": { + "type": "string" + } + } + } + ] + } + } + } + } + } + } + } + }, + "404": { + "description": "Forecast not found", + "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/WeatherStatusSuccess" + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/weather_status/api/v1/favorites": { + "get": { + "operationId": "weather_status-weather_status-get-favorites", + "summary": "Get favorites list", + "tags": [ + "weather_status/weather_status" + ], + "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": "Favorites 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": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + }, + "put": { + "operationId": "weather_status-weather_status-set-favorites", + "summary": "Set favorites list", + "tags": [ + "weather_status/weather_status" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "favorites" + ], + "properties": { + "favorites": { + "type": "array", + "description": "Favorite addresses", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "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": "Favorites updated", + "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/WeatherStatusSuccess" + } + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/webhook_listeners/api/v1/webhooks": { + "get": { + "operationId": "webhook_listeners-webhooks-index", + "summary": "List registered webhooks", + "description": "This endpoint requires admin access", + "tags": [ + "webhook_listeners/webhooks" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "uri", + "in": "query", + "description": "The callback URI to filter by", + "schema": { + "type": "string", + "nullable": true + } + }, + { + "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": "Webhook registrations 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/WebhookListenersWebhookInfo" + } + } + } + } + } + } + } + } + } + } + }, + "post": { + "operationId": "webhook_listeners-webhooks-create", + "summary": "Register a new webhook", + "description": "This endpoint requires admin access", + "tags": [ + "webhook_listeners/webhooks" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "httpMethod", + "uri", + "event" + ], + "properties": { + "httpMethod": { + "type": "string", + "description": "HTTP method to use to contact the webhook" + }, + "uri": { + "type": "string", + "description": "Webhook URI endpoint" + }, + "event": { + "type": "string", + "description": "Event class name to listen to" + }, + "eventFilter": { + "type": "object", + "nullable": true, + "description": "Mongo filter to apply to the serialized data to decide if firing", + "additionalProperties": { + "type": "object" + } + }, + "userIdFilter": { + "type": "string", + "nullable": true, + "description": "User id to filter on. The webhook will only be called by requests from this user. Empty or null means no filtering." + }, + "headers": { + "type": "object", + "nullable": true, + "description": "Array of headers to send", + "additionalProperties": { + "type": "string" + } + }, + "authMethod": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "headers" + ], + "description": "Authentication method to use" + }, + "authData": { + "type": "object", + "nullable": true, + "description": "Array of data for authentication", + "additionalProperties": { + "type": "object" + } + } + } + } + } + } + }, + "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": "Webhook registration 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/WebhookListenersWebhookInfo" + } + } + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "403": { + "description": "Insufficient permissions", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/webhook_listeners/api/v1/webhooks/{id}": { + "get": { + "operationId": "webhook_listeners-webhooks-show", + "summary": "Get details on a registered webhook", + "description": "This endpoint requires admin access", + "tags": [ + "webhook_listeners/webhooks" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "id of the webhook", + "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": "Webhook registration 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/WebhookListenersWebhookInfo" + } + } + } + } + } + } + } + }, + "404": { + "description": "Webhook not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + }, + "post": { + "operationId": "webhook_listeners-webhooks-update", + "summary": "Update an existing webhook registration", + "description": "This endpoint requires admin access", + "tags": [ + "webhook_listeners/webhooks" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "httpMethod", + "uri", + "event" + ], + "properties": { + "httpMethod": { + "type": "string", + "description": "HTTP method to use to contact the webhook" + }, + "uri": { + "type": "string", + "description": "Webhook URI endpoint" + }, + "event": { + "type": "string", + "description": "Event class name to listen to" + }, + "eventFilter": { + "type": "object", + "nullable": true, + "description": "Mongo filter to apply to the serialized data to decide if firing", + "additionalProperties": { + "type": "object" + } + }, + "userIdFilter": { + "type": "string", + "nullable": true, + "description": "User id to filter on. The webhook will only be called by requests from this user. Empty or null means no filtering." + }, + "headers": { + "type": "object", + "nullable": true, + "description": "Array of headers to send", + "additionalProperties": { + "type": "string" + } + }, + "authMethod": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "headers" + ], + "description": "Authentication method to use" + }, + "authData": { + "type": "object", + "nullable": true, + "description": "Array of data for authentication", + "additionalProperties": { + "type": "object" + } + } + } + } + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "description": "id of the webhook", + "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": "Webhook registration 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/WebhookListenersWebhookInfo" + } + } + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "403": { + "description": "Insufficient permissions", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + }, + "delete": { + "operationId": "webhook_listeners-webhooks-destroy", + "summary": "Remove an existing webhook registration", + "description": "This endpoint requires admin access", + "tags": [ + "webhook_listeners/webhooks" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "id", + "in": "path", + "description": "id of the webhook", + "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": "Boolean returned whether something was deleted", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": { + "type": "boolean" + } + } + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "403": { + "description": "Insufficient permissions", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + }, + "/ocs/v2.php/apps/webhook_listeners/api/v1/webhooks/byappid/{appid}": { + "delete": { + "operationId": "webhook_listeners-webhooks-delete-by-app-id", + "summary": "Remove all existing webhook registration mapped to an AppAPI app id", + "description": "This endpoint requires admin access", + "tags": [ + "webhook_listeners/webhooks" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "appid", + "in": "path", + "description": "id of the app, as in the EX-APP-ID for creation", + "required": true, + "schema": { + "type": "string" + } + }, + { + "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": "Integer number of registrations deleted", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": { + "type": "integer", + "format": "int64" + } + } + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + }, + "403": { + "description": "Insufficient permissions", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": [] + } + } + } + } + } + } + } + } + } + } + } +} |