diff options
Diffstat (limited to 'apps/dav/openapi.json')
-rw-r--r-- | apps/dav/openapi.json | 251 |
1 files changed, 251 insertions, 0 deletions
diff --git a/apps/dav/openapi.json b/apps/dav/openapi.json new file mode 100644 index 00000000000..21a4500db09 --- /dev/null +++ b/apps/dav/openapi.json @@ -0,0 +1,251 @@ +{ + "openapi": "3.0.3", + "info": { + "title": "dav", + "version": "0.0.1", + "description": "WebDAV endpoint", + "license": { + "name": "agpl" + } + }, + "components": { + "securitySchemes": { + "basic_auth": { + "type": "http", + "scheme": "basic" + }, + "bearer_auth": { + "type": "http", + "scheme": "bearer" + } + }, + "schemas": { + "Capabilities": { + "type": "object", + "required": [ + "dav" + ], + "properties": { + "dav": { + "type": "object", + "required": [ + "chunking" + ], + "properties": { + "chunking": { + "type": "string" + }, + "bulkupload": { + "type": "string" + } + } + } + } + }, + "OCSMeta": { + "type": "object", + "required": [ + "status", + "statuscode" + ], + "properties": { + "status": { + "type": "string" + }, + "statuscode": { + "type": "integer" + }, + "message": { + "type": "string" + }, + "totalitems": { + "type": "string" + }, + "itemsperpage": { + "type": "string" + } + } + } + } + }, + "paths": { + "/ocs/v2.php/apps/dav/api/v1/direct": { + "post": { + "operationId": "direct-get-url", + "summary": "Get a direct link to a file", + "tags": [ + "direct" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "fileId", + "in": "query", + "description": "ID of the file", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "expirationTime", + "in": "query", + "description": "Duration until the link expires", + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "OCS-APIRequest", + "in": "header", + "required": true, + "schema": { + "type": "string", + "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": { + "text/plain": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": { + "type": "string" + } + } + } + } + } + } + } + }, + "400": { + "description": "Getting direct link is not possible", + "content": { + "text/plain": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": { + "type": "string" + } + } + } + } + } + } + } + }, + "403": { + "description": "Missing permissions to get direct link", + "content": { + "text/plain": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + }, + "tags": [] +}
\ No newline at end of file |