A framework for building convergent cross-platform Nextcloud clients using Flutter.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

1371 lines
44 KiB

{
"openapi": "3.1.0",
"info": {
"title": "Core",
"version": "25.0.1",
"description": "Core functionality of Nextcloud",
"license": {
"name": "agpl",
"identifier": " AGPL-3.0"
}
},
"servers": [
{
"url": "https://{hostname}:{port}",
"variables": {
"hostname": {
"default": "localhost"
},
"port": {
"default": "8080"
}
}
}
],
"security": [
{
"basic_auth": []
}
],
"tags": [
{
"name": "core"
}
],
"components": {
"schemas": {
"OCSMeta": {
"type": "object",
"required": [
"status",
"statuscode"
],
"properties": {
"status": {
"type": "string"
},
"statuscode": {
"type": "integer"
},
"message": {
"type": "string"
},
"totalitems": {
"type": "string"
},
"itemsperpage": {
"type": "string"
}
}
},
"EmptyOCS": {
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {
"type": "array"
}
}
}
}
},
"CoreServerStatus": {
"type": "object",
"required": [
"installed",
"maintenance",
"needsDbUpgrade",
"version",
"versionstring",
"edition",
"productname",
"extendedSupport"
],
"properties": {
"installed": {
"type": "boolean"
},
"maintenance": {
"type": "boolean"
},
"needsDbUpgrade": {
"type": "boolean"
},
"version": {
"type": "string"
},
"versionstring": {
"type": "string"
},
"edition": {
"type": "string"
},
"productname": {
"type": "string"
},
"extendedSupport": {
"type": "boolean"
}
}
},
"CoreServerCapabilities": {
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {
"type": "object",
"required": [
"version",
"capabilities"
],
"properties": {
"version": {
"type": "object",
"required": [
"major",
"minor",
"micro",
"string",
"edition",
"extendedSupport"
],
"properties": {
"major": {
"type": "integer"
},
"minor": {
"type": "integer"
},
"micro": {
"type": "integer"
},
"string": {
"type": "string"
},
"edition": {
"type": "string"
},
"extendedSupport": {
"type": "boolean"
}
}
},
"capabilities": {
"type": "object",
"additionalProperties": true,
"required": [
"core",
"bruteforce",
"metadataAvailable",
"files",
"ocm",
"dav"
],
"properties": {
"core": {
"type": "object",
"required": [
"pollinterval",
"webdav-root",
"reference-api",
"reference-regex"
],
"properties": {
"pollinterval": {
"type": "integer"
},
"webdav-root": {
"type": "string"
},
"reference-api": {
"type": "boolean"
},
"reference-regex": {
"type": "string"
}
}
},
"bruteforce": {
"type": "object",
"required": [
"delay"
],
"properties": {
"delay": {
"type": "integer"
}
}
},
"metadataAvailable": {
"type": "object",
"required": [
"size",
"gps"
],
"properties": {
"size": {
"type": "array",
"items": {
"type": "string"
}
},
"gps": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"files": {
"type": "object",
"required": [
"bigfilechunking",
"blacklisted_files",
"directEditing",
"comments",
"undelete",
"versioning"
],
"properties": {
"bigfilechunking": {
"type": "boolean"
},
"blacklisted_files": {
"type": "array",
"items": {
"type": "string"
}
},
"directEditing": {
"type": "object",
"required": [
"url",
"etag"
],
"properties": {
"url": {
"type": "string"
},
"etag": {
"type": "string"
}
}
},
"comments": {
"type": "boolean"
},
"undelete": {
"type": "boolean"
},
"versioning": {
"type": "boolean"
}
}
},
"activity": {
"type": "object",
"required": [
"apiv2"
],
"properties": {
"apiv2": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"circles": {
"type": "object",
"required": [
"version",
"status",
"settings",
"circle",
"member"
],
"properties": {
"version": {
"type": "string"
},
"status": {
"type": "object",
"required": [
"globalScale"
],
"properties": {
"globalScale": {
"type": "boolean"
}
}
},
"settings": {
"type": "object",
"required": [
"frontendEnabled",
"allowedCircles",
"allowedUserTypes",
"membersLimit"
],
"properties": {
"frontendEnabled": {
"type": "boolean"
},
"allowedCircles": {
"type": "integer"
},
"allowedUserTypes": {
"type": "integer"
},
"membersLimit": {
"type": "integer"
}
}
},
"circle": {
"type": "object",
"required": [
"constants",
"config"
],
"properties": {
"constants": {
"type": "object",
"required": [
"flags",
"source"
],
"properties": {
"flags": {
"type": "object"
},
"source": {
"type": "object",
"required": [
"core",
"extra"
],
"properties": {
"core": {
"type": "object"
},
"extra": {
"type": "object"
}
}
}
}
},
"config": {
"type": "object",
"required": [
"coreFlags",
"systemFlags"
],
"properties": {
"coreFlags": {
"type": "array",
"items": {
"type": "integer"
}
},
"systemFlags": {
"type": "array",
"items": {
"type": "integer"
}
}
}
}
}
},
"member": {
"type": "object",
"required": [
"constants",
"type"
],
"properties": {
"constants": {
"type": "object",
"required": [
"level"
],
"properties": {
"level": {
"type": "object"
}
}
},
"type": {
"type": "object"
}
}
}
}
},
"ocm": {
"type": "object",
"required": [
"enabled",
"apiVersion",
"endPoint",
"resourceTypes"
],
"properties": {
"enabled": {
"type": "boolean"
},
"apiVersion": {
"type": "string"
},
"endPoint": {
"type": "string"
},
"resourceTypes": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"shareTypes",
"protocols"
],
"properties": {
"name": {
"type": "string"
},
"shareTypes": {
"type": "array",
"items": {
"type": "string"
}
},
"protocols": {
"type": "object",
"required": [
"webdav"
],
"properties": {
"webdav": {
"type": "string"
}
}
}
}
}
}
}
},
"dav": {
"type": "object",
"required": [
"chunking"
],
"properties": {
"bulkupload": {
"type": "string"
},
"chunking": {
"type": "string"
}
}
},
"files_sharing": {
"type": "object",
"required": [
"api_enabled",
"public",
"resharing",
"user",
"group_sharing",
"group",
"default_permissions",
"federation",
"sharee",
"sharebymail"
],
"properties": {
"api_enabled": {
"type": "boolean"
},
"public": {
"type": "object",
"required": [
"enabled",
"password",
"expire_date",
"multiple_links",
"expire_date_internal",
"expire_date_remote",
"send_mail",
"upload",
"upload_files_drop"
],
"properties": {
"enabled": {
"type": "boolean"
},
"password": {
"type": "object",
"required": [
"enforced",
"askForOptionalPassword"
],
"properties": {
"enforced": {
"type": "boolean"
},
"askForOptionalPassword": {
"type": "boolean"
}
}
},
"expire_date": {
"type": "object",
"required": [
"enabled"
],
"properties": {
"enabled": {
"type": "boolean"
}
}
},
"multiple_links": {
"type": "boolean"
},
"expire_date_internal": {
"type": "object",
"required": [
"enabled"
],
"properties": {
"enabled": {
"type": "boolean"
}
}
},
"expire_date_remote": {
"type": "object",
"required": [
"enabled"
],
"properties": {
"enabled": {
"type": "boolean"
}
}
},
"send_mail": {
"type": "boolean"
},
"upload": {
"type": "boolean"
},
"upload_files_drop": {
"type": "boolean"
}
}
},
"resharing": {
"type": "boolean"
},
"user": {
"type": "object",
"required": [
"send_mail",
"expire_date"
],
"properties": {
"send_mail": {
"type": "boolean"
},
"expire_date": {
"type": "object",
"required": [
"enabled"
],
"properties": {
"enabled": {
"type": "boolean"
}
}
}
}
},
"group_sharing": {
"type": "boolean"
},
"group": {
"type": "object",
"required": [
"enabled",
"expire_date"
],
"properties": {
"enabled": {
"type": "boolean"
},
"expire_date": {
"type": "object",
"required": [
"enabled"
],
"properties": {
"enabled": {
"type": "boolean"
}
}
}
}
},
"default_permissions": {
"type": "integer"
},
"federation": {
"type": "object",
"required": [
"outgoing",
"incoming",
"expire_date",
"expire_date_supported"
],
"properties": {
"outgoing": {
"type": "boolean"
},
"incoming": {
"type": "boolean"
},
"expire_date": {
"type": "object",
"required": [
"enabled"
],
"properties": {
"enabled": {
"type": "boolean"
}
}
},
"expire_date_supported": {
"type": "object",
"required": [
"enabled"
],
"properties": {
"enabled": {
"type": "boolean"
}
}
}
}
},
"sharee": {
"type": "object",
"required": [
"query_lookup_default",
"always_show_unique"
],
"properties": {
"query_lookup_default": {
"type": "boolean"
},
"always_show_unique": {
"type": "boolean"
}
}
},
"sharebymail": {
"type": "object",
"required": [
"enabled",
"send_password_by_mail",
"upload_files_drop",
"password",
"expire_date"
],
"properties": {
"enabled": {
"type": "boolean"
},
"send_password_by_mail": {
"type": "boolean"
},
"upload_files_drop": {
"type": "object",
"required": [
"enabled"
],
"properties": {
"enabled": {
"type": "boolean"
}
}
},
"password": {
"type": "object",
"required": [
"enabled",
"enforced"
],
"properties": {
"enabled": {
"type": "boolean"
},
"enforced": {
"type": "boolean"
}
}
},
"expire_date": {
"type": "object",
"required": [
"enabled",
"enforced"
],
"properties": {
"enabled": {
"type": "boolean"
},
"enforced": {
"type": "boolean"
}
}
}
}
}
}
},
"notes": {
"type": "object",
"required": [
"api_version",
"version"
],
"properties": {
"api_version": {
"type": "array",
"items": {
"type": "string"
}
},
"version": {
"type": "string"
}
}
},
"notifications": {
"type": "object",
"required": [
"ocs-endpoints",
"push",
"admin-notifications"
],
"properties": {
"ocs-endpoints": {
"type": "array",
"items": {
"type": "string"
}
},
"push": {
"type": "array",
"items": {
"type": "string"
}
},
"admin-notifications": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"password_policy": {
"type": "object",
"required": [
"minLength",
"enforceNonCommonPassword",
"enforceNumericCharacters",
"enforceSpecialCharacters",
"enforceUpperLowerCase",
"api"
],
"properties": {
"minLength": {
"type": "integer"
},
"enforceNonCommonPassword": {
"type": "boolean"
},
"enforceNumericCharacters": {
"type": "boolean"
},
"enforceSpecialCharacters": {
"type": "boolean"
},
"enforceUpperLowerCase": {
"type": "boolean"
},
"api": {
"type": "object",
"required": [
"generate",
"validate"
],
"properties": {
"generate": {
"type": "string"
},
"validate": {
"type": "string"
}
}
}
}
},
"provisioning_api": {
"type": "object",
"required": [
"version",
"AccountPropertyScopesVersion",
"AccountPropertyScopesFederatedEnabled",
"AccountPropertyScopesPublishedEnabled"
],
"properties": {
"version": {
"type": "string"
},
"AccountPropertyScopesVersion": {
"type": "integer"
},
"AccountPropertyScopesFederatedEnabled": {
"type": "boolean"
},
"AccountPropertyScopesPublishedEnabled": {
"type": "boolean"
}
}
},
"theming": {
"type": "object",
"required": [
"name",
"url",
"slogan",
"color",
"color-text",
"color-element",
"color-element-bright",
"color-element-dark",
"logo",
"background",
"background-plain",
"background-default",
"logoheader",
"favicon"
],
"properties": {
"name": {
"type": "string"
},
"url": {
"type": "string"
},
"slogan": {
"type": "string"
},
"color": {
"type": "string"
},
"color-text": {
"type": "string"
},
"color-element": {
"type": "string"
},
"color-element-bright": {
"type": "string"
},
"color-element-dark": {
"type": "string"
},
"logo": {
"type": "string"
},
"background": {
"type": "string"
},
"background-plain": {
"type": "boolean"
},
"background-default": {
"type": "boolean"
},
"logoheader": {
"type": "string"
},
"favicon": {
"type": "string"
}
}
},
"user_status": {
"type": "object",
"required": [
"enabled",
"supports_emoji"
],
"properties": {
"enabled": {
"type": "boolean"
},
"supports_emoji": {
"type": "boolean"
}
}
},
"weather_status": {
"type": "object",
"required": [
"enabled"
],
"properties": {
"enabled": {
"type": "boolean"
}
}
}
}
}
}
}
}
}
}
},
"CoreNavigationApps": {
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"order",
"href",
"icon",
"type",
"name",
"active",
"classes",
"unread"
],
"properties": {
"id": {
"type": "string"
},
"order": {
"description": "Should always be an integer, but there is a bug. See https://github.com/nextcloud/server/issues/32828",
"oneOf": [
{
"type": "integer"
},
{
"type": "string"
}
]
},
"href": {
"type": "string"
},
"icon": {
"type": "string"
},
"type": {
"type": "string"
},
"name": {
"type": "string"
},
"active": {
"type": "boolean"
},
"classes": {
"type": "string"
},
"unread": {
"type": "integer"
}
}
}
}
}
}
}
},
"CoreLoginFlowInit": {
"type": "object",
"required": [
"poll",
"login"
],
"properties": {
"poll": {
"type": "object",
"required": [
"token",
"endpoint"
],
"properties": {
"token": {
"type": "string"
},
"endpoint": {
"type": "string"
}
}
},
"login": {
"type": "string"
}
}
},
"CoreLoginFlowResult": {
"type": "object",
"required": [
"server",
"loginName",
"appPassword"
],
"properties": {
"server": {
"type": "string"
},
"loginName": {
"type": "string"
},
"appPassword": {
"type": "string"
}
}
}
},
"securitySchemes": {
"basic_auth": {
"type": "http",
"scheme": "basic"
}
}
},
"paths": {
"/status.php": {
"get": {
"operationId": "get-status",
"tags": [
"core"
],
"responses": {
"200": {
"description": "Status of the Nextcloud instance",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CoreServerStatus"
}
}
}
}
}
}
},
"/ocs/v2.php/cloud/capabilities": {
"get": {
"operationId": "get-capabilities",
"tags": [
"core"
],
"responses": {
"200": {
"description": "Capabilities of the Nextcloud instance",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CoreServerCapabilities"
}
}
}
}
}
}
},
"/ocs/v2.php/core/navigation/apps": {
"get": {
"operationId": "get-navigation-apps",
"tags": [
"core"
],
"responses": {
"200": {
"description": "Navigation apps of the Nextcloud instance",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CoreNavigationApps"
}
}
}
}
}
}
},
"/index.php/login/v2": {
"post": {
"operationId": "init-login-flow",
"tags": [
"core"
],
"responses": {
"200": {
"description": "Login flow init",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CoreLoginFlowInit"
}
}
}
}
}
}
},
"/index.php/login/v2/poll": {
"post": {
"operationId": "get-login-flow-result",
"tags": [
"core"
],
"parameters": [
{
"name": "token",
"in": "query",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Login flow result",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CoreLoginFlowResult"
}
}
}
}
}
}
},
"/index.php/core/preview.png": {
"parameters": [
{
"name": "file",
"in": "query",
"required": false,
"schema": {
"type": "string",
"default": ""
}
},
{
"name": "x",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"default": 32
}
},
{
"name": "y",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"default": 32
}
},
{
"name": "a",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"default": 0
}
},
{
"name": "forceIcon",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"default": 1
}
},
{
"name": "mode",
"in": "query",
"required": false,
"schema": {
"type": "string",
"default": "fill"
}
}
],
"get": {
"operationId": "get-preview",
"tags": [
"core"
],
"responses": {
"200": {
"description": "Preview image of a file",
"content": {
"image/png": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
}
}
}
},
"/index.php/avatar/{userId}/{size}/dark": {
"parameters": [
{
"name": "userId",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "size",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
}
],
"get": {
"operationId": "get-dark-avatar",
"tags": [
"core"
],
"responses": {
"200": {
"description": "",
"content": {
"image/png": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
}
}
}
},
"/index.php/avatar/{userId}/{size}": {
"parameters": [
{
"name": "userId",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "size",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
}
],
"get": {
"operationId": "get-avatar",
"tags": [
"core"
],
"responses": {
"200": {
"description": "",
"content": {
"image/png": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
}
}
}
}
}
}