{ "openapi": "3.0.3", "info": { "title": "settings-full", "version": "0.0.1", "description": "Nextcloud settings", "license": { "name": "agpl" } }, "components": { "securitySchemes": { "basic_auth": { "type": "http", "scheme": "basic" }, "bearer_auth": { "type": "http", "scheme": "bearer" } }, "schemas": { "DeclarativeForm": { "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/DeclarativeFormField" } } } }, "DeclarativeFormField": { "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" } } ] } } }, "OCSMeta": { "type": "object", "required": [ "status", "statuscode" ], "properties": { "status": { "type": "string" }, "statuscode": { "type": "integer" }, "message": { "type": "string" }, "totalitems": { "type": "string" }, "itemsperpage": { "type": "string" } } } } }, "paths": { "/index.php/settings/admin/log/download": { "get": { "operationId": "log_settings-download", "summary": "download logfile", "description": "This endpoint requires admin access", "tags": [ "log_settings" ], "security": [ { "bearer_auth": [] }, { "basic_auth": [] } ], "responses": { "200": { "description": "Logfile returned", "headers": { "Content-Disposition": { "schema": { "type": "string" } } }, "content": { "application/octet-stream": { "schema": { "type": "string", "format": "binary" } } } } } } }, "/ocs/v2.php/settings/api/declarative/value": { "post": { "operationId": "declarative_settings-set-value", "summary": "Sets a declarative settings value", "tags": [ "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": "declarative_settings-get-forms", "summary": "Gets all declarative forms with the values prefilled.", "tags": [ "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/DeclarativeForm" } } } } } } } } }, "500": { "description": "", "content": { "text/plain": { "schema": { "type": "string" } } } } } } } }, "tags": [] }