diff --git a/packages/nextcloud/lib/src/api/core.openapi.json b/packages/nextcloud/lib/src/api/core.openapi.json index 5b814421..22c308fd 100644 --- a/packages/nextcloud/lib/src/api/core.openapi.json +++ b/packages/nextcloud/lib/src/api/core.openapi.json @@ -1205,6 +1205,14 @@ } } } + }, + "404": { + "description": "Avatar not found", + "content": { + "application/json": { + "schema": {} + } + } } } } @@ -1265,6 +1273,14 @@ } } } + }, + "404": { + "description": "Avatar not found", + "content": { + "application/json": { + "schema": {} + } + } } } } @@ -1316,6 +1332,20 @@ } } } + }, + "201": { + "description": "Avatar returned", + "content": { + "*/*": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + }, + "500": { + "description": "" } } } @@ -1377,6 +1407,20 @@ } } } + }, + "201": { + "description": "Avatar returned", + "content": { + "*/*": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + }, + "500": { + "description": "" } } } @@ -1418,6 +1462,14 @@ } } } + }, + "404": { + "description": "Login flow not found or completed", + "content": { + "application/json": { + "schema": {} + } + } } } } @@ -1546,6 +1598,40 @@ } } } + }, + "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" + } + } + } } } } @@ -1643,6 +1729,40 @@ } } } + }, + "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" + } + } + } } } } @@ -1685,6 +1805,16 @@ } } } + }, + "404": { + "description": "Reference not found", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } } } } @@ -1734,6 +1864,14 @@ } } } + }, + "404": { + "description": "Device should not be wiped", + "content": { + "application/json": { + "schema": {} + } + } } } } @@ -1773,6 +1911,14 @@ "schema": {} } } + }, + "404": { + "description": "Device should not be wiped", + "content": { + "application/json": { + "schema": {} + } + } } } } @@ -1993,6 +2139,34 @@ } } } + }, + "304": { + "description": "No apps navigation changed", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": {} + } + } + } + } + } + } } } } @@ -2065,6 +2239,34 @@ } } } + }, + "304": { + "description": "No apps navigation changed", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": {} + } + } + } + } + } + } } } } @@ -2283,6 +2485,34 @@ } } } + }, + "204": { + "description": "No changes", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": {} + } + } + } + } + } + } } } }, @@ -2348,6 +2578,16 @@ } } } + }, + "500": { + "description": "", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } } } } @@ -2416,6 +2656,16 @@ } } } + }, + "403": { + "description": "Creating app password is not allowed", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } } } } @@ -2484,6 +2734,16 @@ } } } + }, + "403": { + "description": "Rotating app password is not allowed", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } } } } @@ -2542,6 +2802,16 @@ } } } + }, + "403": { + "description": "Deleting app password is not allowed", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } } } } @@ -2630,6 +2900,34 @@ } } } + }, + "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": {} + } + } + } + } + } + } } } } @@ -2702,19 +3000,47 @@ } } } - } - } - } - }, - "/ocs/v2.php/collaboration/resources/collections/{collectionId}": { - "get": { - "operationId": "collaboration_resources-list-collection", - "summary": "Get a collection", - "tags": [ - "collaboration_resources" - ], - "security": [ - { + }, + "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/collections/{collectionId}": { + "get": { + "operationId": "collaboration_resources-list-collection", + "summary": "Get a collection", + "tags": [ + "collaboration_resources" + ], + "security": [ + { "bearer_auth": [] }, { @@ -2772,6 +3098,62 @@ } } } + }, + "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": {} + } + } + } + } + } + } } } }, @@ -2849,6 +3231,62 @@ } } } + }, + "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": {} + } + } + } + } + } + } } } }, @@ -2935,6 +3373,62 @@ } } } + }, + "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": {} + } + } + } + } + } + } } } }, @@ -3021,6 +3515,62 @@ } } } + }, + "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": {} + } + } + } + } + } + } } } } @@ -3067,11 +3617,44 @@ "type": "string", "default": "true" } - } - ], - "responses": { - "200": { - "description": "Collections returned", + } + ], + "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/Collection" + } + } + } + } + } + } + } + } + }, + "404": { + "description": "Resource not accessible", "content": { "application/json": { "schema": { @@ -3090,12 +3673,7 @@ "meta": { "$ref": "#/components/schemas/OCSMeta" }, - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Collection" - } - } + "data": {} } } } @@ -3189,6 +3767,90 @@ } } } + }, + "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": {} + } + } + } + } + } + } } } } @@ -3711,6 +4373,36 @@ } } } + }, + "400": { + "description": "Updating visibility is not possible", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } + }, + "403": { + "description": "Not allowed to edit other users visibility", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "User not found", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } } } } @@ -3913,6 +4605,36 @@ } } } + }, + "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": { + "nullable": true + } + } + } + } + } + } + } } } } @@ -4065,11 +4787,138 @@ "type": "string", "default": "true" } - } - ], - "responses": { - "200": { - "description": "Translated text returned", + } + ], + "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": { @@ -4091,11 +4940,10 @@ "data": { "type": "object", "required": [ - "text", - "from" + "message" ], "properties": { - "text": { + "message": { "type": "string" }, "from": { @@ -4303,6 +5151,82 @@ } } } + }, + "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" + } + } + } + } + } + } + } + } + } } } } @@ -4382,6 +5306,82 @@ } } } + }, + "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" + } + } + } + } + } + } + } + } + } } } }, @@ -4458,6 +5458,82 @@ } } } + }, + "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" + } + } + } + } + } + } + } + } + } } } } @@ -4547,6 +5623,44 @@ } } } + }, + "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" + } + } + } + } + } + } + } + } + } } } } diff --git a/packages/nextcloud/lib/src/api/dav.openapi.json b/packages/nextcloud/lib/src/api/dav.openapi.json index 249f504c..f13186a8 100644 --- a/packages/nextcloud/lib/src/api/dav.openapi.json +++ b/packages/nextcloud/lib/src/api/dav.openapi.json @@ -153,6 +153,36 @@ } } } + }, + "404": { + "description": "File not found", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } + }, + "400": { + "description": "Getting direct link is not possible", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } + }, + "403": { + "description": "Missing permissions to get direct link", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } } } } diff --git a/packages/nextcloud/lib/src/api/files.openapi.json b/packages/nextcloud/lib/src/api/files.openapi.json index 9ebb0241..af094fb1 100644 --- a/packages/nextcloud/lib/src/api/files.openapi.json +++ b/packages/nextcloud/lib/src/api/files.openapi.json @@ -299,6 +299,36 @@ } } } + }, + "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" + } + } + } + } + } } } } @@ -590,6 +620,44 @@ } } } + }, + "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" + } + } + } + } + } + } + } + } + } } } } @@ -686,6 +754,82 @@ } } } + }, + "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" + } + } + } + } + } + } + } + } + } } } } @@ -790,6 +934,82 @@ } } } + }, + "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" + } + } + } + } + } + } + } + } + } } } } @@ -940,6 +1160,16 @@ } } } + }, + "403": { + "description": "Creating template is not allowed", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } } } } @@ -1033,6 +1263,16 @@ } } } + }, + "403": { + "description": "Initializing the template directory is not allowed", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } } } } @@ -1109,6 +1349,62 @@ } } } + }, + "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": {} + } + } + } + } + } + } } } } @@ -1177,6 +1473,62 @@ } } } + }, + "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": {} + } + } + } + } + } + } } } }, @@ -1243,6 +1595,62 @@ } } } + }, + "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": {} + } + } + } + } + } + } } } } @@ -1334,6 +1742,34 @@ } } } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": {} + } + } + } + } + } + } } } } @@ -1433,6 +1869,34 @@ } } } + }, + "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": {} + } + } + } + } + } + } } } } diff --git a/packages/nextcloud/lib/src/api/files_reminders.openapi.json b/packages/nextcloud/lib/src/api/files_reminders.openapi.json index b0d30739..be0d54de 100644 --- a/packages/nextcloud/lib/src/api/files_reminders.openapi.json +++ b/packages/nextcloud/lib/src/api/files_reminders.openapi.json @@ -132,6 +132,34 @@ } } } + }, + "401": { + "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": {} + } + } + } + } + } + } } } }, @@ -216,6 +244,118 @@ } } } + }, + "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": "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": {} + } + } + } + } + } + } + }, + "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": {} + } + } + } + } + } + } } } }, @@ -291,6 +431,62 @@ } } } + }, + "401": { + "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": {} + } + } + } + } + } + } + }, + "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": {} + } + } + } + } + } + } } } } diff --git a/packages/nextcloud/lib/src/api/files_sharing.openapi.json b/packages/nextcloud/lib/src/api/files_sharing.openapi.json index 3a52ca30..49362d39 100644 --- a/packages/nextcloud/lib/src/api/files_sharing.openapi.json +++ b/packages/nextcloud/lib/src/api/files_sharing.openapi.json @@ -1335,6 +1335,90 @@ } } } + }, + "400": { + "description": "Getting preview 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": "Getting preview 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": "Share or preview not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": {} + } + } + } + } + } + } } } } @@ -1424,6 +1508,90 @@ } } } + }, + "400": { + "description": "Getting preview 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": "Getting preview 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": "Share or preview not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": {} + } + } + } + } + } + } } } } @@ -1493,6 +1661,22 @@ } } } + }, + "403": { + "description": "Getting share info is not allowed", + "content": { + "application/json": { + "schema": {} + } + } + }, + "404": { + "description": "Share not found", + "content": { + "application/json": { + "schema": {} + } + } } } } @@ -1601,6 +1785,16 @@ } } } + }, + "404": { + "description": "The folder was not found or is inaccessible", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } } } }, @@ -1760,6 +1954,36 @@ } } } + }, + "400": { + "description": "Unknown share type", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } + }, + "403": { + "description": "Creating the share is not allowed", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Creating the share failed", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } } } } @@ -1832,6 +2056,26 @@ } } } + }, + "500": { + "description": "", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "The given path is invalid", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } } } } @@ -1973,6 +2217,16 @@ } } } + }, + "404": { + "description": "Share not found", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } } } }, @@ -2122,6 +2376,36 @@ } } } + }, + "400": { + "description": "Share could not be updated because the requested changes are invalid", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } + }, + "403": { + "description": "Missing permissions to update the share", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } + }, + "404": { + "description": "Share not found", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } } } }, @@ -2187,6 +2471,26 @@ } } } + }, + "404": { + "description": "Share not found", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } + }, + "403": { + "description": "Missing permissions to delete the share", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } } } } @@ -2254,6 +2558,26 @@ } } } + }, + "404": { + "description": "Share not found", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } + }, + "400": { + "description": "Share could not be accepted", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } } } } @@ -2384,6 +2708,16 @@ } } } + }, + "404": { + "description": "Share not found", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } } } } @@ -2525,6 +2859,16 @@ } } } + }, + "400": { + "description": "Invalid search parameters", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } } } } @@ -2815,6 +3159,16 @@ } } } + }, + "404": { + "description": "Share not found", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } } } }, @@ -2881,6 +3235,16 @@ } } } + }, + "404": { + "description": "Share not found", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } } } } @@ -2951,6 +3315,16 @@ } } } + }, + "404": { + "description": "Share not found", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } } } }, @@ -3017,6 +3391,26 @@ } } } + }, + "404": { + "description": "Share not found", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } + }, + "403": { + "description": "Unsharing is not possible", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } } } } diff --git a/packages/nextcloud/lib/src/api/files_trashbin.openapi.json b/packages/nextcloud/lib/src/api/files_trashbin.openapi.json index e6b1a8d3..7e39ae5e 100644 --- a/packages/nextcloud/lib/src/api/files_trashbin.openapi.json +++ b/packages/nextcloud/lib/src/api/files_trashbin.openapi.json @@ -110,6 +110,22 @@ } } } + }, + "400": { + "description": "Getting preview is not possible", + "content": { + "application/json": { + "schema": {} + } + } + }, + "404": { + "description": "Preview not found", + "content": { + "application/json": { + "schema": {} + } + } } } } diff --git a/packages/nextcloud/lib/src/api/files_versions.openapi.json b/packages/nextcloud/lib/src/api/files_versions.openapi.json index e5fcd987..9442014d 100644 --- a/packages/nextcloud/lib/src/api/files_versions.openapi.json +++ b/packages/nextcloud/lib/src/api/files_versions.openapi.json @@ -117,6 +117,22 @@ } } } + }, + "400": { + "description": "Getting preview is not possible", + "content": { + "application/json": { + "schema": {} + } + } + }, + "404": { + "description": "Preview not found", + "content": { + "application/json": { + "schema": {} + } + } } } } diff --git a/packages/nextcloud/lib/src/api/provisioning_api.openapi.json b/packages/nextcloud/lib/src/api/provisioning_api.openapi.json index f679397f..de9ea418 100644 --- a/packages/nextcloud/lib/src/api/provisioning_api.openapi.json +++ b/packages/nextcloud/lib/src/api/provisioning_api.openapi.json @@ -1174,6 +1174,26 @@ } } } + }, + "404": { + "description": "Group not found", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } + }, + "403": { + "description": "Missing permissions to get users in the group", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } } } } @@ -1860,6 +1880,16 @@ } } } + }, + "403": { + "description": "Missing permissions to make user subadmin", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } } } } @@ -2067,6 +2097,34 @@ } } } + }, + "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": {} + } + } + } + } + } + } } } } @@ -3446,6 +3504,52 @@ } } } + }, + "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" + } + } + } + } + } + } + } + } + } + } + } } } } @@ -3542,6 +3646,52 @@ } } } + }, + "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" + } + } + } + } + } + } + } + } + } + } + } } } }, @@ -3625,6 +3775,52 @@ } } } + }, + "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" + } + } + } + } + } + } + } + } + } + } + } } } }, @@ -3700,6 +3896,52 @@ } } } + }, + "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" + } + } + } + } + } + } + } + } + } + } + } } } } @@ -3785,6 +4027,34 @@ } } } + }, + "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": {} + } + } + } + } + } + } } } }, @@ -3859,6 +4129,34 @@ } } } + }, + "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": {} + } + } + } + } + } + } } } } @@ -3943,6 +4241,34 @@ } } } + }, + "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": {} + } + } + } + } + } + } } } }, @@ -4020,6 +4346,34 @@ } } } + }, + "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": {} + } + } + } + } + } + } } } } diff --git a/packages/nextcloud/lib/src/api/theming.openapi.json b/packages/nextcloud/lib/src/api/theming.openapi.json index 0ad5e284..db15aff8 100644 --- a/packages/nextcloud/lib/src/api/theming.openapi.json +++ b/packages/nextcloud/lib/src/api/theming.openapi.json @@ -196,6 +196,16 @@ } } } + }, + "404": { + "description": "Theme not found", + "content": { + "text/html": { + "schema": { + "type": "string" + } + } + } } } } @@ -247,6 +257,26 @@ } } } + }, + "404": { + "description": "Image not found", + "content": { + "text/html": { + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } } } } @@ -387,6 +417,26 @@ } } } + }, + "404": { + "description": "Favicon not found", + "content": { + "text/html": { + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } } } } @@ -430,6 +480,26 @@ } } } + }, + "404": { + "description": "Touch icon not found", + "content": { + "text/html": { + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } } } } @@ -482,6 +552,26 @@ } } } + }, + "404": { + "description": "Themed icon not found", + "content": { + "text/html": { + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } } } } @@ -523,6 +613,16 @@ } } } + }, + "404": { + "description": "Background image not found", + "content": { + "text/html": { + "schema": { + "type": "string" + } + } + } } } } @@ -590,6 +690,42 @@ } } } + }, + "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" + } + } + } + } + } } } } @@ -697,6 +833,26 @@ } } } + }, + "400": { + "description": "Enabling theme is not possible", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } } } } @@ -764,6 +920,26 @@ } } } + }, + "400": { + "description": "Disabling theme is not possible", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } } } } diff --git a/packages/nextcloud/lib/src/api/updatenotification.openapi.json b/packages/nextcloud/lib/src/api/updatenotification.openapi.json index 049bdc19..820f1426 100644 --- a/packages/nextcloud/lib/src/api/updatenotification.openapi.json +++ b/packages/nextcloud/lib/src/api/updatenotification.openapi.json @@ -159,6 +159,47 @@ } } } + }, + "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" + } + } + } + } + } + } + } + } + } } } } diff --git a/packages/nextcloud/lib/src/api/user_status.openapi.json b/packages/nextcloud/lib/src/api/user_status.openapi.json index da99184d..8cd090dd 100644 --- a/packages/nextcloud/lib/src/api/user_status.openapi.json +++ b/packages/nextcloud/lib/src/api/user_status.openapi.json @@ -344,6 +344,16 @@ } } } + }, + "404": { + "description": "The user was not found", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } } } } @@ -404,6 +414,16 @@ } } } + }, + "404": { + "description": "The user was not found", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } } } } @@ -473,6 +493,16 @@ } } } + }, + "400": { + "description": "The status type is invalid", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } } } } @@ -552,6 +582,16 @@ } } } + }, + "400": { + "description": "The clearAt or message-id is invalid", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } } } } @@ -640,6 +680,16 @@ } } } + }, + "400": { + "description": "The clearAt or icon is invalid or the message is too long", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } } } } @@ -904,6 +954,90 @@ } } } + }, + "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", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": {} + } + } + } + } + } + } } } } diff --git a/packages/nextcloud/lib/src/api/weather_status.openapi.json b/packages/nextcloud/lib/src/api/weather_status.openapi.json index 606f3881..2269e3f0 100644 --- a/packages/nextcloud/lib/src/api/weather_status.openapi.json +++ b/packages/nextcloud/lib/src/api/weather_status.openapi.json @@ -728,6 +728,44 @@ } } } + }, + "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": { + "type": "object", + "required": [ + "success" + ], + "properties": { + "success": { + "type": "boolean" + } + } + } + } + } + } + } + } + } } } } diff --git a/tool/generate-specs.sh b/tool/generate-specs.sh index 006c19fa..67cf7e3e 100755 --- a/tool/generate-specs.sh +++ b/tool/generate-specs.sh @@ -34,7 +34,7 @@ for path in \ codename="$(echo $path | sed "s/^apps\///")" ( cd external/nextcloud-server - composer exec generate-spec -- "$path" "../../packages/nextcloud/lib/src/api/$codename.openapi.json" --first-status-code --first-content-type --openapi-version 3.1.0 + composer exec generate-spec -- "$path" "../../packages/nextcloud/lib/src/api/$codename.openapi.json" --first-content-type --openapi-version 3.1.0 ) done