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.
 
 

1318 lines
41 KiB

{
"openapi": "3.1.0",
"info": {
"title": "Core",
"version": "25.0.2",
"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"
}
}
}
}
},
"ServerStatus": {
"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"
}
}
},
"ServerCapabilities": {
"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",
"properties": {
"major": {
"type": "integer"
},
"minor": {
"type": "integer"
},
"micro": {
"type": "integer"
},
"string": {
"type": "string"
},
"edition": {
"type": "string"
},
"extendedSupport": {
"type": "boolean"
}
}
},
"capabilities": {
"type": "object",
"additionalProperties": true,
"properties": {
"core": {
"type": "object",
"additionalProperties": true,
"properties": {
"pollinterval": {
"type": "integer"
},
"webdav-root": {
"type": "string"
},
"reference-api": {
"type": "boolean"
},
"reference-regex": {
"type": "string"
}
}
},
"bruteforce": {
"type": "object",
"additionalProperties": true,
"properties": {
"delay": {
"type": "integer"
}
}
},
"metadataAvailable": {
"type": "object",
"additionalProperties": true,
"properties": {
"size": {
"type": "array",
"items": {
"type": "string"
}
},
"gps": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"files": {
"type": "object",
"additionalProperties": true,
"properties": {
"bigfilechunking": {
"type": "boolean"
},
"blacklisted_files": {
"type": "array",
"items": {
"type": "string"
}
},
"directEditing": {
"type": "object",
"additionalProperties": true,
"properties": {
"url": {
"type": "string"
},
"etag": {
"type": "string"
}
}
},
"comments": {
"type": "boolean"
},
"undelete": {
"type": "boolean"
},
"versioning": {
"type": "boolean"
}
}
},
"activity": {
"type": "object",
"additionalProperties": true,
"properties": {
"apiv2": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"circles": {
"type": "object",
"additionalProperties": true,
"properties": {
"version": {
"type": "string"
},
"status": {
"type": "object",
"additionalProperties": true,
"properties": {
"globalScale": {
"type": "boolean"
}
}
},
"settings": {
"type": "object",
"additionalProperties": true,
"properties": {
"frontendEnabled": {
"type": "boolean"
},
"allowedCircles": {
"type": "integer"
},
"allowedUserTypes": {
"type": "integer"
},
"membersLimit": {
"type": "integer"
}
}
},
"circle": {
"type": "object",
"additionalProperties": true,
"properties": {
"constants": {
"type": "object",
"additionalProperties": true,
"properties": {
"flags": {
"type": "object"
},
"source": {
"type": "object",
"additionalProperties": true,
"properties": {
"core": {
"type": "object"
},
"extra": {
"type": "object"
}
}
}
}
},
"config": {
"type": "object",
"additionalProperties": true,
"properties": {
"coreFlags": {
"type": "array",
"items": {
"type": "integer"
}
},
"systemFlags": {
"type": "array",
"items": {
"type": "integer"
}
}
}
}
}
},
"member": {
"type": "object",
"additionalProperties": true,
"properties": {
"constants": {
"type": "object",
"additionalProperties": true,
"properties": {
"level": {
"type": "object"
}
}
},
"type": {
"type": "object"
}
}
}
}
},
"ocm": {
"type": "object",
"additionalProperties": true,
"properties": {
"enabled": {
"type": "boolean"
},
"apiVersion": {
"type": "string"
},
"endPoint": {
"type": "string"
},
"resourceTypes": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true,
"properties": {
"name": {
"type": "string"
},
"shareTypes": {
"type": "array",
"items": {
"type": "string"
}
},
"protocols": {
"type": "object",
"additionalProperties": true,
"properties": {
"webdav": {
"type": "string"
}
}
}
}
}
}
}
},
"dav": {
"type": "object",
"additionalProperties": true,
"properties": {
"bulkupload": {
"type": "string"
},
"chunking": {
"type": "string"
}
}
},
"files_sharing": {
"type": "object",
"additionalProperties": true,
"properties": {
"api_enabled": {
"type": "boolean"
},
"public": {
"type": "object",
"additionalProperties": true,
"properties": {
"enabled": {
"type": "boolean"
},
"password": {
"type": "object",
"additionalProperties": true,
"properties": {
"enforced": {
"type": "boolean"
},
"askForOptionalPassword": {
"type": "boolean"
}
}
},
"expire_date": {
"type": "object",
"additionalProperties": true,
"properties": {
"enabled": {
"type": "boolean"
}
}
},
"multiple_links": {
"type": "boolean"
},
"expire_date_internal": {
"type": "object",
"additionalProperties": true,
"properties": {
"enabled": {
"type": "boolean"
}
}
},
"expire_date_remote": {
"type": "object",
"additionalProperties": true,
"properties": {
"enabled": {
"type": "boolean"
}
}
},
"send_mail": {
"type": "boolean"
},
"upload": {
"type": "boolean"
},
"upload_files_drop": {
"type": "boolean"
}
}
},
"resharing": {
"type": "boolean"
},
"user": {
"type": "object",
"additionalProperties": true,
"properties": {
"send_mail": {
"type": "boolean"
},
"expire_date": {
"type": "object",
"additionalProperties": true,
"properties": {
"enabled": {
"type": "boolean"
}
}
}
}
},
"group_sharing": {
"type": "boolean"
},
"group": {
"type": "object",
"additionalProperties": true,
"properties": {
"enabled": {
"type": "boolean"
},
"expire_date": {
"type": "object",
"additionalProperties": true,
"properties": {
"enabled": {
"type": "boolean"
}
}
}
}
},
"default_permissions": {
"type": "integer"
},
"federation": {
"type": "object",
"additionalProperties": true,
"properties": {
"outgoing": {
"type": "boolean"
},
"incoming": {
"type": "boolean"
},
"expire_date": {
"type": "object",
"additionalProperties": true,
"properties": {
"enabled": {
"type": "boolean"
}
}
},
"expire_date_supported": {
"type": "object",
"additionalProperties": true,
"properties": {
"enabled": {
"type": "boolean"
}
}
}
}
},
"sharee": {
"type": "object",
"additionalProperties": true,
"properties": {
"query_lookup_default": {
"type": "boolean"
},
"always_show_unique": {
"type": "boolean"
}
}
},
"sharebymail": {
"type": "object",
"additionalProperties": true,
"properties": {
"enabled": {
"type": "boolean"
},
"send_password_by_mail": {
"type": "boolean"
},
"upload_files_drop": {
"type": "object",
"additionalProperties": true,
"properties": {
"enabled": {
"type": "boolean"
}
}
},
"password": {
"type": "object",
"additionalProperties": true,
"properties": {
"enabled": {
"type": "boolean"
},
"enforced": {
"type": "boolean"
}
}
},
"expire_date": {
"type": "object",
"additionalProperties": true,
"properties": {
"enabled": {
"type": "boolean"
},
"enforced": {
"type": "boolean"
}
}
}
}
}
}
},
"notes": {
"type": "object",
"additionalProperties": true,
"properties": {
"api_version": {
"type": "array",
"items": {
"type": "string"
}
},
"version": {
"type": "string"
}
}
},
"notifications": {
"type": "object",
"additionalProperties": true,
"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",
"additionalProperties": true,
"properties": {
"minLength": {
"type": "integer"
},
"enforceNonCommonPassword": {
"type": "boolean"
},
"enforceNumericCharacters": {
"type": "boolean"
},
"enforceSpecialCharacters": {
"type": "boolean"
},
"enforceUpperLowerCase": {
"type": "boolean"
},
"api": {
"type": "object",
"additionalProperties": true,
"properties": {
"generate": {
"type": "string"
},
"validate": {
"type": "string"
}
}
}
}
},
"provisioning_api": {
"type": "object",
"additionalProperties": true,
"properties": {
"version": {
"type": "string"
},
"AccountPropertyScopesVersion": {
"type": "integer"
},
"AccountPropertyScopesFederatedEnabled": {
"type": "boolean"
},
"AccountPropertyScopesPublishedEnabled": {
"type": "boolean"
}
}
},
"theming": {
"type": "object",
"additionalProperties": true,
"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",
"additionalProperties": true,
"properties": {
"enabled": {
"type": "boolean"
},
"supports_emoji": {
"type": "boolean"
}
}
},
"weather_status": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
}
}
}
}
}
}
}
}
}
},
"NavigationApps": {
"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"
}
}
}
}
}
}
}
},
"LoginFlowInit": {
"type": "object",
"required": [
"poll",
"login"
],
"properties": {
"poll": {
"type": "object",
"required": [
"token",
"endpoint"
],
"properties": {
"token": {
"type": "string"
},
"endpoint": {
"type": "string"
}
}
},
"login": {
"type": "string"
}
}
},
"LoginFlowResult": {
"type": "object",
"required": [
"server",
"loginName",
"appPassword"
],
"properties": {
"server": {
"type": "string"
},
"loginName": {
"type": "string"
},
"appPassword": {
"type": "string"
}
}
},
"AutocompleteResult": {
"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",
"label",
"icon",
"source",
"status",
"subline",
"shareWithDisplayNameUnique"
],
"properties": {
"id": {
"type": "string"
},
"label": {
"type": "string"
},
"icon": {
"type": "string"
},
"source": {
"type": "string"
},
"status": {
"anyOf": [
{
"type": "string"
}
]
},
"subline": {
"type": "string"
},
"shareWithDisplayNameUnique": {
"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/ServerStatus"
}
}
}
}
}
}
},
"/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/ServerCapabilities"
}
}
}
}
}
}
},
"/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/NavigationApps"
}
}
}
}
}
}
},
"/index.php/login/v2": {
"post": {
"operationId": "init-login-flow",
"tags": [
"core"
],
"responses": {
"200": {
"description": "Login flow init",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LoginFlowInit"
}
}
}
}
}
}
},
"/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/LoginFlowResult"
}
}
}
}
}
}
},
"/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"
}
}
}
}
}
}
},
"/ocs/v2.php/core/autocomplete/get": {
"get": {
"operationId": "autocomplete",
"tags": [
"core"
],
"parameters": [
{
"name": "search",
"in": "query",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "itemType",
"in": "query",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "itemId",
"in": "query",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "sorter",
"in": "query",
"description": "can be piped, top prio first, e.g.: \"commenters|share-recipients\"",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "shareTypes",
"in": "query",
"required": true,
"schema": {
"type": "array",
"items": {
"type": "integer"
}
}
},
{
"name": "limit",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"default": 10
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AutocompleteResult"
}
}
}
}
}
}
}
}
}