You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
nextcloud/apps/files_external/openapi.json

239 lines
7.9 KiB
JSON

{
"openapi": "3.0.3",
"info": {
"title": "files_external",
"version": "0.0.1",
"description": "Adds basic external storage support",
"license": {
"name": "agpl"
}
},
"components": {
"securitySchemes": {
"basic_auth": {
"type": "http",
"scheme": "basic"
},
"bearer_auth": {
"type": "http",
"scheme": "bearer"
}
},
"schemas": {
"Mount": {
"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/StorageConfig"
}
}
},
"OCSMeta": {
"type": "object",
"required": [
"status",
"statuscode"
],
"properties": {
"status": {
"type": "string"
},
"statuscode": {
"type": "integer"
},
"message": {
"type": "string"
},
"totalitems": {
"type": "string"
},
"itemsperpage": {
"type": "string"
}
}
},
"StorageConfig": {
"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"
}
}
}
}
},
"paths": {
"/ocs/v2.php/apps/files_external/api/v1/mounts": {
"get": {
"operationId": "api-get-user-mounts",
"summary": "Get the mount points visible for this user",
"tags": [
"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/Mount"
}
}
}
}
}
}
}
}
}
}
}
}
},
"tags": []
}