nextcloud/apps/dav/openapi.json
jld3103 d7926807ea
Fix OCS-APIRequest header for OpenAPI
Signed-off-by: jld3103 <jld3103yt@gmail.com>
2023-09-27 10:22:20 +02:00

192 lines
6.7 KiB
JSON

{
"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",
"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": {
"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"
}
}
}
}
}
}
}
},
"tags": []
}