From 796ebe93e31c396cf081c3967b77afc83596840b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 22 Jun 2024 03:03:47 +0000 Subject: [PATCH 1/4] chore(deps-dev): Bump openapi-typescript from 6.7.6 to 7.0.0 Bumps [openapi-typescript](https://github.com/openapi-ts/openapi-typescript/tree/HEAD/packages/openapi-typescript) from 6.7.6 to 7.0.0. - [Release notes](https://github.com/openapi-ts/openapi-typescript/releases) - [Changelog](https://github.com/openapi-ts/openapi-typescript/blob/main/packages/openapi-typescript/CHANGELOG.md) - [Commits](https://github.com/openapi-ts/openapi-typescript/commits/openapi-typescript@7.0.0/packages/openapi-typescript) --- updated-dependencies: - dependency-name: openapi-typescript dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- package-lock.json | 487 ++++++++++++++++++++++++++++++++++++++++------ package.json | 2 +- 2 files changed, 430 insertions(+), 59 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7cdf1d017f4..d8bda9f9efb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -78,7 +78,7 @@ "jest-localstorage-mock": "^2.4.26", "jest-mock-console": "^2.0.0", "jest-transform-stub": "^2.0.0", - "openapi-typescript": "^6.7.6", + "openapi-typescript": "^7.0.0", "regenerator-runtime": "^0.14.1", "ts-jest": "^29.1.5", "vue-template-compiler": "^2.7.16", @@ -2510,15 +2510,6 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/@fastify/busboy": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.0.tgz", - "integrity": "sha512-+KpH+QxZU7O4675t3mnkQKcZZg56u+K/Ct2K+N2AZYNVK8kyeo/bI18tI8aPm3tvNNRyTWfj6s5tnGNlcbQRsA==", - "dev": true, - "engines": { - "node": ">=14" - } - }, "node_modules/@floating-ui/core": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-0.3.1.tgz", @@ -4110,6 +4101,7 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, + "peer": true, "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -4123,6 +4115,7 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true, + "peer": true, "engines": { "node": ">= 8" } @@ -4132,6 +4125,7 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, + "peer": true, "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -4146,6 +4140,139 @@ "integrity": "sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg==", "dev": true }, + "node_modules/@redocly/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/@redocly/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-9GWx27t7xWhDIR02PA18nzBdLcKQRgc46xNQvjFkrYk4UOmvKhJ/dawwiX0cCOeetN5LcaaiqQbVOWYK62SGHw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@redocly/ajv/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/@redocly/config": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@redocly/config/-/config-0.6.0.tgz", + "integrity": "sha512-hNVN3eTxFj2nHYX0gGzZxxXwdE0DXWeWou1TIK3HYf0S9VKVxTxjO9EZbMB7iVUqaHkeqy4PSjlBQcEgD0Ftjg==", + "dev": true + }, + "node_modules/@redocly/openapi-core": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.16.0.tgz", + "integrity": "sha512-z06h+svyqbUcdAaePq8LPSwTPlm6Ig7j2VlL8skPBYnJvyaQ2IN7x/JkOvRL4ta+wcOCBdAex5JWnZbKaNktJg==", + "dev": true, + "dependencies": { + "@redocly/ajv": "^8.11.0", + "@redocly/config": "^0.6.0", + "colorette": "^1.2.0", + "https-proxy-agent": "^7.0.4", + "js-levenshtein": "^1.1.6", + "js-yaml": "^4.1.0", + "lodash.isequal": "^4.5.0", + "minimatch": "^5.0.1", + "node-fetch": "^2.6.1", + "pluralize": "^8.0.0", + "yaml-ast-parser": "0.0.43" + }, + "engines": { + "node": ">=14.19.0", + "npm": ">=7.0.0" + } + }, + "node_modules/@redocly/openapi-core/node_modules/agent-base": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", + "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", + "dev": true, + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@redocly/openapi-core/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@redocly/openapi-core/node_modules/colorette": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", + "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==", + "dev": true + }, + "node_modules/@redocly/openapi-core/node_modules/https-proxy-agent": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", + "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", + "dev": true, + "dependencies": { + "agent-base": "^7.0.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@redocly/openapi-core/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@redocly/openapi-core/node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/@redocly/openapi-core/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/@sinclair/typebox": { "version": "0.27.8", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", @@ -9461,6 +9588,7 @@ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", "dev": true, + "peer": true, "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -9537,6 +9665,7 @@ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.0.tgz", "integrity": "sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==", "dev": true, + "peer": true, "dependencies": { "reusify": "^1.0.4" } @@ -10059,6 +10188,7 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, + "peer": true, "dependencies": { "is-glob": "^4.0.1" }, @@ -10753,6 +10883,18 @@ "node": ">=0.8.19" } }, + "node_modules/index-to-position": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/index-to-position/-/index-to-position-0.1.2.tgz", + "integrity": "sha512-MWDKS3AS1bGCHLBA2VLImJz42f7bJh8wQsTGCzI3j519/CASStoDONUBVz2I/VID0MpiX3SGSnbOD2xUalbE5g==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -10987,6 +11129,7 @@ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true, + "peer": true, "engines": { "node": ">=0.10.0" } @@ -11022,6 +11165,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, + "peer": true, "dependencies": { "is-extglob": "^2.1.1" }, @@ -13163,6 +13307,15 @@ "nopt": "bin/nopt.js" } }, + "node_modules/js-levenshtein": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", + "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -13474,6 +13627,12 @@ "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=" }, + "node_modules/lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", + "dev": true + }, "node_modules/lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", @@ -13994,6 +14153,7 @@ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true, + "peer": true, "engines": { "node": ">= 8" } @@ -15135,20 +15295,39 @@ } }, "node_modules/openapi-typescript": { - "version": "6.7.6", - "resolved": "https://registry.npmjs.org/openapi-typescript/-/openapi-typescript-6.7.6.tgz", - "integrity": "sha512-c/hfooPx+RBIOPM09GSxABOZhYPblDoyaGhqBkD/59vtpN21jEuWKDlM0KYTvqJVlSYjKs0tBcIdeXKChlSPtw==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/openapi-typescript/-/openapi-typescript-7.0.0.tgz", + "integrity": "sha512-5NobO3pavTUVmErRVjnfiIIqCNjCrZeva4ElOA3nNKcSo4Jm5G7zv4WLcw6S+jDVnGGRkchxnJ2yIJBp9ULUAg==", "dev": true, "dependencies": { + "@redocly/openapi-core": "^1.16.0", "ansi-colors": "^4.1.3", - "fast-glob": "^3.3.2", - "js-yaml": "^4.1.0", + "parse-json": "^8.1.0", "supports-color": "^9.4.0", - "undici": "^5.28.4", "yargs-parser": "^21.1.1" }, "bin": { "openapi-typescript": "bin/cli.js" + }, + "peerDependencies": { + "typescript": "^5.x" + } + }, + "node_modules/openapi-typescript/node_modules/parse-json": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.1.0.tgz", + "integrity": "sha512-rum1bPifK5SSar35Z6EKZuYPJx85pkNaFrxBK3mwdfSJ1/WKbYrjoW/zTPSjRRamfmVX1ACBIdFAO0VRErW/EA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.13", + "index-to-position": "^0.1.2", + "type-fest": "^4.7.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/openapi-typescript/node_modules/supports-color": { @@ -15163,6 +15342,18 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, + "node_modules/openapi-typescript/node_modules/type-fest": { + "version": "4.20.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.20.1.tgz", + "integrity": "sha512-R6wDsVsoS9xYOpy8vgeBlqpdOyzJ12HNfQhC/aAKWM3YoCV9TtunJzh/QpkMgeDhkoynDcw5f1y+qF9yc/HHyg==", + "dev": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/openapi-typescript/node_modules/yargs-parser": { "version": "21.1.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", @@ -15547,6 +15738,15 @@ "node": ">=8" } }, + "node_modules/pluralize": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/postcss": { "version": "8.4.38", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", @@ -15944,7 +16144,8 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "peer": true }, "node_modules/randombytes": { "version": "2.1.0", @@ -16678,7 +16879,6 @@ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "dev": true, - "peer": true, "engines": { "node": ">=0.10.0" } @@ -16779,6 +16979,7 @@ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "dev": true, + "peer": true, "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" @@ -16828,6 +17029,7 @@ "url": "https://feross.org/support" } ], + "peer": true, "dependencies": { "queue-microtask": "^1.2.2" } @@ -18411,6 +18613,12 @@ "node": ">=6" } }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, "node_modules/tributejs": { "version": "5.1.3", "resolved": "https://registry.npmjs.org/tributejs/-/tributejs-5.1.3.tgz", @@ -18902,18 +19110,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/undici": { - "version": "5.28.4", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.4.tgz", - "integrity": "sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==", - "dev": true, - "dependencies": { - "@fastify/busboy": "^2.0.0" - }, - "engines": { - "node": ">=14.0" - } - }, "node_modules/undici-types": { "version": "5.26.5", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", @@ -19792,6 +19988,12 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true + }, "node_modules/webpack": { "version": "5.88.2", "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.2.tgz", @@ -20491,6 +20693,12 @@ "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", "dev": true }, + "node_modules/yaml-ast-parser": { + "version": "0.0.43", + "resolved": "https://registry.npmjs.org/yaml-ast-parser/-/yaml-ast-parser-0.0.43.tgz", + "integrity": "sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==", + "dev": true + }, "node_modules/yargs": { "version": "17.7.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", @@ -22128,12 +22336,6 @@ "dev": true, "peer": true }, - "@fastify/busboy": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.0.tgz", - "integrity": "sha512-+KpH+QxZU7O4675t3mnkQKcZZg56u+K/Ct2K+N2AZYNVK8kyeo/bI18tI8aPm3tvNNRyTWfj6s5tnGNlcbQRsA==", - "dev": true - }, "@floating-ui/core": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-0.3.1.tgz", @@ -23303,6 +23505,7 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, + "peer": true, "requires": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -23312,13 +23515,15 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true + "dev": true, + "peer": true }, "@nodelib/fs.walk": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, + "peer": true, "requires": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -23330,6 +23535,115 @@ "integrity": "sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg==", "dev": true }, + "@redocly/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/@redocly/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-9GWx27t7xWhDIR02PA18nzBdLcKQRgc46xNQvjFkrYk4UOmvKhJ/dawwiX0cCOeetN5LcaaiqQbVOWYK62SGHw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "dependencies": { + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + } + } + }, + "@redocly/config": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@redocly/config/-/config-0.6.0.tgz", + "integrity": "sha512-hNVN3eTxFj2nHYX0gGzZxxXwdE0DXWeWou1TIK3HYf0S9VKVxTxjO9EZbMB7iVUqaHkeqy4PSjlBQcEgD0Ftjg==", + "dev": true + }, + "@redocly/openapi-core": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.16.0.tgz", + "integrity": "sha512-z06h+svyqbUcdAaePq8LPSwTPlm6Ig7j2VlL8skPBYnJvyaQ2IN7x/JkOvRL4ta+wcOCBdAex5JWnZbKaNktJg==", + "dev": true, + "requires": { + "@redocly/ajv": "^8.11.0", + "@redocly/config": "^0.6.0", + "colorette": "^1.2.0", + "https-proxy-agent": "^7.0.4", + "js-levenshtein": "^1.1.6", + "js-yaml": "^4.1.0", + "lodash.isequal": "^4.5.0", + "minimatch": "^5.0.1", + "node-fetch": "^2.6.1", + "pluralize": "^8.0.0", + "yaml-ast-parser": "0.0.43" + }, + "dependencies": { + "agent-base": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", + "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", + "dev": true, + "requires": { + "debug": "^4.3.4" + } + }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "colorette": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", + "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==", + "dev": true + }, + "https-proxy-agent": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", + "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", + "dev": true, + "requires": { + "agent-base": "^7.0.2", + "debug": "4" + } + }, + "minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + } + } + }, "@sinclair/typebox": { "version": "0.27.8", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", @@ -27461,6 +27775,7 @@ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", "dev": true, + "peer": true, "requires": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -27517,6 +27832,7 @@ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.0.tgz", "integrity": "sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==", "dev": true, + "peer": true, "requires": { "reusify": "^1.0.4" } @@ -27889,6 +28205,7 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, + "peer": true, "requires": { "is-glob": "^4.0.1" } @@ -28395,6 +28712,12 @@ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, + "index-to-position": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/index-to-position/-/index-to-position-0.1.2.tgz", + "integrity": "sha512-MWDKS3AS1bGCHLBA2VLImJz42f7bJh8wQsTGCzI3j519/CASStoDONUBVz2I/VID0MpiX3SGSnbOD2xUalbE5g==", + "dev": true + }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -28562,7 +28885,8 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true + "dev": true, + "peer": true }, "is-fullwidth-code-point": { "version": "3.0.0", @@ -28586,6 +28910,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, + "peer": true, "requires": { "is-extglob": "^2.1.1" } @@ -30159,6 +30484,12 @@ } } }, + "js-levenshtein": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", + "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", + "dev": true + }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -30414,6 +30745,12 @@ "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=" }, + "lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", + "dev": true + }, "lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", @@ -30848,7 +31185,8 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true + "dev": true, + "peer": true }, "methods": { "version": "1.1.2", @@ -31596,25 +31934,41 @@ } }, "openapi-typescript": { - "version": "6.7.6", - "resolved": "https://registry.npmjs.org/openapi-typescript/-/openapi-typescript-6.7.6.tgz", - "integrity": "sha512-c/hfooPx+RBIOPM09GSxABOZhYPblDoyaGhqBkD/59vtpN21jEuWKDlM0KYTvqJVlSYjKs0tBcIdeXKChlSPtw==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/openapi-typescript/-/openapi-typescript-7.0.0.tgz", + "integrity": "sha512-5NobO3pavTUVmErRVjnfiIIqCNjCrZeva4ElOA3nNKcSo4Jm5G7zv4WLcw6S+jDVnGGRkchxnJ2yIJBp9ULUAg==", "dev": true, "requires": { + "@redocly/openapi-core": "^1.16.0", "ansi-colors": "^4.1.3", - "fast-glob": "^3.3.2", - "js-yaml": "^4.1.0", + "parse-json": "^8.1.0", "supports-color": "^9.4.0", - "undici": "^5.28.4", "yargs-parser": "^21.1.1" }, "dependencies": { + "parse-json": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.1.0.tgz", + "integrity": "sha512-rum1bPifK5SSar35Z6EKZuYPJx85pkNaFrxBK3mwdfSJ1/WKbYrjoW/zTPSjRRamfmVX1ACBIdFAO0VRErW/EA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.22.13", + "index-to-position": "^0.1.2", + "type-fest": "^4.7.1" + } + }, "supports-color": { "version": "9.4.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-9.4.0.tgz", "integrity": "sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw==", "dev": true }, + "type-fest": { + "version": "4.20.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.20.1.tgz", + "integrity": "sha512-R6wDsVsoS9xYOpy8vgeBlqpdOyzJ12HNfQhC/aAKWM3YoCV9TtunJzh/QpkMgeDhkoynDcw5f1y+qF9yc/HHyg==", + "dev": true + }, "yargs-parser": { "version": "21.1.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", @@ -31886,6 +32240,12 @@ "find-up": "^4.0.0" } }, + "pluralize": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", + "dev": true + }, "postcss": { "version": "8.4.38", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", @@ -32160,7 +32520,8 @@ "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true + "dev": true, + "peer": true }, "randombytes": { "version": "2.1.0", @@ -32733,8 +33094,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true, - "peer": true + "dev": true }, "requireindex": { "version": "1.2.0", @@ -32806,7 +33166,8 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true + "dev": true, + "peer": true }, "rimraf": { "version": "3.0.2", @@ -32832,6 +33193,7 @@ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, + "peer": true, "requires": { "queue-microtask": "^1.2.2" } @@ -34066,6 +34428,12 @@ "url-parse": "^1.5.3" } }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, "tributejs": { "version": "5.1.3", "resolved": "https://registry.npmjs.org/tributejs/-/tributejs-5.1.3.tgz", @@ -34406,15 +34774,6 @@ "which-boxed-primitive": "^1.0.2" } }, - "undici": { - "version": "5.28.4", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.4.tgz", - "integrity": "sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==", - "dev": true, - "requires": { - "@fastify/busboy": "^2.0.0" - } - }, "undici-types": { "version": "5.26.5", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", @@ -35081,6 +35440,12 @@ } } }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true + }, "webpack": { "version": "5.88.2", "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.2.tgz", @@ -35573,6 +35938,12 @@ "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", "dev": true }, + "yaml-ast-parser": { + "version": "0.0.43", + "resolved": "https://registry.npmjs.org/yaml-ast-parser/-/yaml-ast-parser-0.0.43.tgz", + "integrity": "sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==", + "dev": true + }, "yargs": { "version": "17.7.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", diff --git a/package.json b/package.json index 5fd04aae6af..71f4a7869ff 100644 --- a/package.json +++ b/package.json @@ -93,7 +93,7 @@ "jest-localstorage-mock": "^2.4.26", "jest-mock-console": "^2.0.0", "jest-transform-stub": "^2.0.0", - "openapi-typescript": "^6.7.6", + "openapi-typescript": "^7.0.0", "regenerator-runtime": "^0.14.1", "ts-jest": "^29.1.5", "vue-template-compiler": "^2.7.16", From 8fc003e167f7c03e72bd9ecbe49979788813498f Mon Sep 17 00:00:00 2001 From: Maksim Sukharev Date: Mon, 24 Jun 2024 11:22:20 +0200 Subject: [PATCH 2/4] chore(ts): add redocly.yaml configuration file Signed-off-by: Maksim Sukharev --- .reuse/dep5 | 2 +- package.json | 2 +- redocly.yaml | 33 +++++++++++++++++++++++++++++++++ 3 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 redocly.yaml diff --git a/.reuse/dep5 b/.reuse/dep5 index b6d0a420c12..84e7d6f4919 100644 --- a/.reuse/dep5 +++ b/.reuse/dep5 @@ -28,7 +28,7 @@ Files: tests/integration/features/*/*.feature Copyright: 2016 Nextcloud GmbH and Nextcloud contributors License: CC0-1.0 -Files: package.json package-lock.json */package.json */package-lock.json composer.json composer.lock */composer.json */composer.lock .gitignore .l10nignore psalm.xml tests/psalm-baseline.xml vendor-bin/*/composer.json vendor-bin/*/composer.lock .tx/config */phpunit.xml tsconfig.json +Files: package.json package-lock.json */package.json */package-lock.json composer.json composer.lock */composer.json */composer.lock .gitignore .l10nignore psalm.xml tests/psalm-baseline.xml vendor-bin/*/composer.json vendor-bin/*/composer.lock .tx/config */phpunit.xml tsconfig.json redocly.yaml Copyright: none License: CC0-1.0 diff --git a/package.json b/package.json index 71f4a7869ff..845fbad5817 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "watch": "webpack --node-env development --progress --watch", "serve": "webpack serve --node-env development --progress --allowed-hosts all", "typescript:check": "tsc --noEmit", - "typescript:generate": "npx openapi-typescript \"./openapi*.json\" --immutable -t -o src/types/openapi/", + "typescript:generate": "npx openapi-typescript -t", "test": "jest", "test:watch": "jest --watch", "test:coverage": "jest --coverage", diff --git a/redocly.yaml b/redocly.yaml new file mode 100644 index 00000000000..91a23b690a2 --- /dev/null +++ b/redocly.yaml @@ -0,0 +1,33 @@ +apis: + openapi@v1: + root: ./openapi.json + x-openapi-ts: + output: ./src/types/openapi/openapi.ts + openapi-administration@v1: + root: ./openapi-administration.json + x-openapi-ts: + output: ./src/types/openapi/openapi-administration.ts + openapi-backend-recording@v1: + root: ./openapi-backend-recording.json + x-openapi-ts: + output: ./src/types/openapi/openapi-backend-recording.ts + openapi-backend-signaling@v1: + root: ./openapi-backend-signaling.json + x-openapi-ts: + output: ./src/types/openapi/openapi-backend-signaling.ts + openapi-backend-sipbridge@v1: + root: ./openapi-backend-sipbridge.json + x-openapi-ts: + output: ./src/types/openapi/openapi-backend-sipbridge.ts + openapi-bots@v1: + root: ./openapi-bots.json + x-openapi-ts: + output: ./src/types/openapi/openapi-bots.ts + openapi-federation@v1: + root: ./openapi-federation.json + x-openapi-ts: + output: ./src/types/openapi/openapi-federation.ts + openapi-full@v1: + root: ./openapi-full.json + x-openapi-ts: + output: ./src/types/openapi/openapi-full.ts From d5e910ffa9bbdb546840a9056640017d8585a0a0 Mon Sep 17 00:00:00 2001 From: Maksim Sukharev Date: Mon, 24 Jun 2024 11:22:56 +0200 Subject: [PATCH 3/4] chore(ts): rewrite typescript definitions with new CLI Signed-off-by: Maksim Sukharev --- src/types/openapi/openapi-administration.ts | 1267 +- .../openapi/openapi-backend-recording.ts | 465 +- .../openapi/openapi-backend-signaling.ts | 276 +- .../openapi/openapi-backend-sipbridge.ts | 1394 +- src/types/openapi/openapi-bots.ts | 631 +- src/types/openapi/openapi-federation.ts | 1262 +- src/types/openapi/openapi-full.ts | 16424 +++++++++------- src/types/openapi/openapi.ts | 12774 ++++++------ 8 files changed, 19401 insertions(+), 15092 deletions(-) diff --git a/src/types/openapi/openapi-administration.ts b/src/types/openapi/openapi-administration.ts index ab0097f7475..3e51b002245 100644 --- a/src/types/openapi/openapi-administration.ts +++ b/src/types/openapi/openapi-administration.ts @@ -3,600 +3,751 @@ * Do not make direct changes to the file. */ - -/** OneOf type helpers */ -type Without = { [P in Exclude]?: never }; -type XOR = (T | U) extends object ? (Without & U) | (Without & T) : T | U; -type OneOf = T extends [infer Only] ? Only : T extends [infer A, infer B, ...infer Rest] ? OneOf<[XOR, ...Rest]> : never; - export type paths = { - "/ocs/v2.php/apps/spreed/api/{apiVersion}/bot/admin": { - /** - * List admin bots - * @description This endpoint requires admin access - */ - get: operations["bot-admin-list-bots"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/certificate/expiration": { - /** - * Get the certificate expiration for a host - * @description This endpoint requires admin access - */ - get: operations["certificate-get-certificate-expiration"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/hostedsignalingserver/requesttrial": { - /** - * Request a trial account - * @description This endpoint requires admin access - */ - post: operations["hosted_signaling_server-request-trial"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/hostedsignalingserver/delete": { - /** - * Delete the account - * @description This endpoint requires admin access - */ - delete: operations["hosted_signaling_server-delete-account"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/bridge": { - /** - * Stop all bridges - * @description This endpoint requires admin access - */ - delete: operations["matterbridge_settings-stop-all-bridges"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/bridge/version": { - /** - * Get Matterbridge version - * @description This endpoint requires admin access - */ - get: operations["matterbridge_settings-get-matterbridge-version"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/recording/welcome/{serverId}": { - /** - * Get the welcome message of a recording server - * @description This endpoint requires admin access - */ - get: operations["recording-get-welcome-message"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/settings/sip": { - /** - * Update SIP bridge settings - * @description This endpoint requires admin access - */ - post: operations["settings-setsip-settings"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/signaling/welcome/{serverId}": { - /** - * Get the welcome message from a signaling server - * @description Only available for logged-in users because guests can not use the apps right now. - * This endpoint requires admin access - */ - get: operations["signaling-get-welcome-message"]; - }; -}; - -export type webhooks = Record; - -export type components = { - schemas: { - Bot: { - description: string | null; - /** Format: int64 */ - id: number; - name: string; - /** Format: int64 */ - state: number; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/bot/admin": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List admin bots + * @description This endpoint requires admin access + */ + get: operations["bot-admin-list-bots"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; - BotWithDetails: components["schemas"]["Bot"] & { - /** Format: int64 */ - error_count: number; - /** Format: int64 */ - features: number; - /** Format: int64 */ - last_error_date: number; - last_error_message: string; - url: string; - url_hash: string; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/certificate/expiration": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the certificate expiration for a host + * @description This endpoint requires admin access + */ + get: operations["certificate-get-certificate-expiration"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; - Capabilities: { - features: string[]; - "features-local": string[]; - config: { - attachments: { - allowed: boolean; - folder?: string; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/hostedsignalingserver/requesttrial": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; }; - call: { - enabled: boolean; - "breakout-rooms": boolean; - recording: boolean; - /** Format: int64 */ - "recording-consent": number; - "supported-reactions": string[]; - "predefined-backgrounds": string[]; - "can-upload-background": boolean; - "sip-enabled": boolean; - "sip-dialout-enabled": boolean; - "can-enable-sip": boolean; + get?: never; + put?: never; + /** + * Request a trial account + * @description This endpoint requires admin access + */ + post: operations["hosted_signaling_server-request-trial"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/hostedsignalingserver/delete": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; }; - chat: { - /** Format: int64 */ - "max-length": number; - /** Format: int64 */ - "read-privacy": number; - "has-translation-providers": boolean; - /** Format: int64 */ - "typing-privacy": number; + get?: never; + put?: never; + post?: never; + /** + * Delete the account + * @description This endpoint requires admin access + */ + delete: operations["hosted_signaling_server-delete-account"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/bridge": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; }; - conversations: { - "can-create": boolean; + get?: never; + put?: never; + post?: never; + /** + * Stop all bridges + * @description This endpoint requires admin access + */ + delete: operations["matterbridge_settings-stop-all-bridges"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/bridge/version": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; }; - federation: { - enabled: boolean; - "incoming-enabled": boolean; - "outgoing-enabled": boolean; - "only-trusted-servers": boolean; + /** + * Get Matterbridge version + * @description This endpoint requires admin access + */ + get: operations["matterbridge_settings-get-matterbridge-version"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/recording/welcome/{serverId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; }; - previews: { - /** Format: int64 */ - "max-gif-size": number; + /** + * Get the welcome message of a recording server + * @description This endpoint requires admin access + */ + get: operations["recording-get-welcome-message"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/settings/sip": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; }; - signaling: { - /** Format: int64 */ - "session-ping-limit": number; - "hello-v2-token-key"?: string; + get?: never; + put?: never; + /** + * Update SIP bridge settings + * @description This endpoint requires admin access + */ + post: operations["settings-setsip-settings"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/signaling/welcome/{serverId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; }; - }; - "config-local": { - [key: string]: string[]; - }; - version: string; + /** + * Get the welcome message from a signaling server + * @description Only available for logged-in users because guests can not use the apps right now. + * This endpoint requires admin access + */ + get: operations["signaling-get-welcome-message"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; - OCSMeta: { - status: string; - statuscode: number; - message?: string; - totalitems?: string; - itemsperpage?: string; +}; +export type webhooks = Record; +export type components = { + schemas: { + Bot: { + description: string | null; + /** Format: int64 */ + id: number; + name: string; + /** Format: int64 */ + state: number; + }; + BotWithDetails: components["schemas"]["Bot"] & { + /** Format: int64 */ + error_count: number; + /** Format: int64 */ + features: number; + /** Format: int64 */ + last_error_date: number; + last_error_message: string; + url: string; + url_hash: string; + }; + Capabilities: { + features: string[]; + "features-local": string[]; + config: { + attachments: { + allowed: boolean; + folder?: string; + }; + call: { + enabled: boolean; + "breakout-rooms": boolean; + recording: boolean; + /** Format: int64 */ + "recording-consent": number; + "supported-reactions": string[]; + "predefined-backgrounds": string[]; + "can-upload-background": boolean; + "sip-enabled": boolean; + "sip-dialout-enabled": boolean; + "can-enable-sip": boolean; + }; + chat: { + /** Format: int64 */ + "max-length": number; + /** Format: int64 */ + "read-privacy": number; + "has-translation-providers": boolean; + /** Format: int64 */ + "typing-privacy": number; + }; + conversations: { + "can-create": boolean; + }; + federation: { + enabled: boolean; + "incoming-enabled": boolean; + "outgoing-enabled": boolean; + "only-trusted-servers": boolean; + }; + previews: { + /** Format: int64 */ + "max-gif-size": number; + }; + signaling: { + /** Format: int64 */ + "session-ping-limit": number; + "hello-v2-token-key"?: string; + }; + }; + "config-local": { + [key: string]: string[] | undefined; + }; + version: string; + }; + OCSMeta: { + status: string; + statuscode: number; + message?: string; + totalitems?: string; + itemsperpage?: string; + }; + PublicCapabilities: { + spreed: components["schemas"]["Capabilities"]; + } | unknown[]; }; - PublicCapabilities: OneOf<[{ - spreed: components["schemas"]["Capabilities"]; - }, unknown[]]>; - }; - responses: never; - parameters: never; - requestBodies: never; - headers: never; - pathItems: never; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; }; - export type $defs = Record; - -export type external = Record; - -export type operations = { - - /** - * List admin bots - * @description This endpoint requires admin access - */ - "bot-admin-list-bots": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - }; - }; - responses: { - /** @description Bot list returned */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["BotWithDetails"][]; - }; - }; +export interface operations { + "bot-admin-list-bots": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Bot list returned */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["BotWithDetails"][]; + }; + }; + }; + }; }; - }; - }; - }; - /** - * Get the certificate expiration for a host - * @description This endpoint requires admin access - */ - "certificate-get-certificate-expiration": { - parameters: { - query: { - /** @description Host to check */ - host: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - }; }; - responses: { - /** @description Certificate expiration returned */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - /** Format: int64 */ - expiration_in_days: number | null; - }; - }; - }; + "certificate-get-certificate-expiration": { + parameters: { + query: { + /** @description Host to check */ + host: string; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + }; + cookie?: never; }; - }; - /** @description Getting certificate expiration is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - message: string; - }; - }; - }; + requestBody?: never; + responses: { + /** @description Certificate expiration returned */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + /** Format: int64 */ + expiration_in_days: number | null; + }; + }; + }; + }; + }; + /** @description Getting certificate expiration is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + message: string; + }; + }; + }; + }; + }; }; - }; - }; - }; - /** - * Request a trial account - * @description This endpoint requires admin access - */ - "hosted_signaling_server-request-trial": { - parameters: { - query: { - /** @description Server URL */ - url: string; - /** @description Display name of the user */ - name: string; - /** @description Email of the user */ - email: string; - /** @description Language of the user */ - language: string; - /** @description Country of the user */ - country: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - }; }; - responses: { - /** @description Trial requested successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - [key: string]: Record; - }; - }; - }; - }; - }; - /** @description Requesting trial is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - message: string; - }; - }; - }; + "hosted_signaling_server-request-trial": { + parameters: { + query: { + /** @description Server URL */ + url: string; + /** @description Display name of the user */ + name: string; + /** @description Email of the user */ + email: string; + /** @description Language of the user */ + language: string; + /** @description Country of the user */ + country: string; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + }; + cookie?: never; }; - }; - 500: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - message: string; - }; - }; - }; + requestBody?: never; + responses: { + /** @description Trial requested successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + [key: string]: Record | undefined; + }; + }; + }; + }; + }; + /** @description Requesting trial is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + message: string; + }; + }; + }; + }; + }; + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + message: string; + }; + }; + }; + }; + }; }; - }; - }; - }; - /** - * Delete the account - * @description This endpoint requires admin access - */ - "hosted_signaling_server-delete-account": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - }; }; - responses: { - /** @description Account deleted successfully */ - 204: { - content: never; - }; - /** @description Deleting account is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - message: string; - }; - }; - }; + "hosted_signaling_server-delete-account": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + }; + cookie?: never; }; - }; - 500: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - message: string; - }; - }; - }; + requestBody?: never; + responses: { + /** @description Account deleted successfully */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Deleting account is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + message: string; + }; + }; + }; + }; + }; + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + message: string; + }; + }; + }; + }; + }; }; - }; }; - }; - /** - * Stop all bridges - * @description This endpoint requires admin access - */ - "matterbridge_settings-stop-all-bridges": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - }; - }; - responses: { - /** @description All bridges stopped successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: boolean; - }; - }; + "matterbridge_settings-stop-all-bridges": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + }; + cookie?: never; }; - }; - /** @description Stopping all bridges is not possible */ - 406: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; + requestBody?: never; + responses: { + /** @description All bridges stopped successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: boolean; + }; + }; + }; + }; + /** @description Stopping all bridges is not possible */ + 406: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; }; - }; }; - }; - /** - * Get Matterbridge version - * @description This endpoint requires admin access - */ - "matterbridge_settings-get-matterbridge-version": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - }; - }; - responses: { - /** @description Bridge version returned */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - version: string; - }; - }; - }; + "matterbridge_settings-get-matterbridge-version": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + }; + cookie?: never; }; - }; - /** @description Getting bridge version is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; + requestBody?: never; + responses: { + /** @description Bridge version returned */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + version: string; + }; + }; + }; + }; + }; + /** @description Getting bridge version is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; }; - }; }; - }; - /** - * Get the welcome message of a recording server - * @description This endpoint requires admin access - */ - "recording-get-welcome-message": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - /** @description ID of the server */ - serverId: number; - }; - }; - responses: { - /** @description Welcome message returned */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - /** Format: double */ - version: number; - }; - }; - }; - }; - }; - /** @description Recording server not found or not configured */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; + "recording-get-welcome-message": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + /** @description ID of the server */ + serverId: number; + }; + cookie?: never; }; - }; - 500: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; + requestBody?: never; + responses: { + /** @description Welcome message returned */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + /** Format: double */ + version: number; + }; + }; + }; + }; + }; + /** @description Recording server not found or not configured */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; }; - }; - }; - }; - /** - * Update SIP bridge settings - * @description This endpoint requires admin access - */ - "settings-setsip-settings": { - parameters: { - query?: { - /** @description New SIP groups */ - "sipGroups[]"?: string[]; - /** @description New dial info */ - dialInInfo?: string; - /** @description New shared secret */ - sharedSecret?: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - }; }; - responses: { - /** @description Successfully set new SIP settings */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; + "settings-setsip-settings": { + parameters: { + query?: { + /** @description New SIP groups */ + "sipGroups[]"?: string[]; + /** @description New dial info */ + dialInInfo?: string; + /** @description New shared secret */ + sharedSecret?: string; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + }; + cookie?: never; }; - }; - }; - }; - /** - * Get the welcome message from a signaling server - * @description Only available for logged-in users because guests can not use the apps right now. - * This endpoint requires admin access - */ - "signaling-get-welcome-message": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v3"; - /** @description ID of the signaling server */ - serverId: number; - }; - }; - responses: { - /** @description Welcome message returned */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - [key: string]: Record; - }; - }; - }; + requestBody?: never; + responses: { + /** @description Successfully set new SIP settings */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; }; - }; - /** @description Signaling server not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; + }; + "signaling-get-welcome-message": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v3"; + /** @description ID of the signaling server */ + serverId: number; + }; + cookie?: never; }; - }; - 500: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - version?: string; - }; - }; - }; + requestBody?: never; + responses: { + /** @description Welcome message returned */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + [key: string]: Record | undefined; + }; + }; + }; + }; + }; + /** @description Signaling server not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + version?: string; + }; + }; + }; + }; + }; }; - }; }; - }; -}; +} diff --git a/src/types/openapi/openapi-backend-recording.ts b/src/types/openapi/openapi-backend-recording.ts index 2ec763b87b3..bb69e6f8865 100644 --- a/src/types/openapi/openapi-backend-recording.ts +++ b/src/types/openapi/openapi-backend-recording.ts @@ -3,239 +3,276 @@ * Do not make direct changes to the file. */ - -/** OneOf type helpers */ -type Without = { [P in Exclude]?: never }; -type XOR = (T | U) extends object ? (Without & U) | (Without & T) : T | U; -type OneOf = T extends [infer Only] ? Only : T extends [infer A, infer B, ...infer Rest] ? OneOf<[XOR, ...Rest]> : never; - export type paths = { - "/ocs/v2.php/apps/spreed/api/{apiVersion}/recording/backend": { - /** Update the recording status as a backend */ - post: operations["recording-backend"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/recording/{token}/store": { - /** Store the recording */ - post: operations["recording-store"]; - }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/recording/backend": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Update the recording status as a backend */ + post: operations["recording-backend"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/recording/{token}/store": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Store the recording */ + post: operations["recording-store"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; }; - export type webhooks = Record; - export type components = { - schemas: { - Capabilities: { - features: string[]; - "features-local": string[]; - config: { - attachments: { - allowed: boolean; - folder?: string; - }; - call: { - enabled: boolean; - "breakout-rooms": boolean; - recording: boolean; - /** Format: int64 */ - "recording-consent": number; - "supported-reactions": string[]; - "predefined-backgrounds": string[]; - "can-upload-background": boolean; - "sip-enabled": boolean; - "sip-dialout-enabled": boolean; - "can-enable-sip": boolean; - }; - chat: { - /** Format: int64 */ - "max-length": number; - /** Format: int64 */ - "read-privacy": number; - "has-translation-providers": boolean; - /** Format: int64 */ - "typing-privacy": number; - }; - conversations: { - "can-create": boolean; - }; - federation: { - enabled: boolean; - "incoming-enabled": boolean; - "outgoing-enabled": boolean; - "only-trusted-servers": boolean; - }; - previews: { - /** Format: int64 */ - "max-gif-size": number; + schemas: { + Capabilities: { + features: string[]; + "features-local": string[]; + config: { + attachments: { + allowed: boolean; + folder?: string; + }; + call: { + enabled: boolean; + "breakout-rooms": boolean; + recording: boolean; + /** Format: int64 */ + "recording-consent": number; + "supported-reactions": string[]; + "predefined-backgrounds": string[]; + "can-upload-background": boolean; + "sip-enabled": boolean; + "sip-dialout-enabled": boolean; + "can-enable-sip": boolean; + }; + chat: { + /** Format: int64 */ + "max-length": number; + /** Format: int64 */ + "read-privacy": number; + "has-translation-providers": boolean; + /** Format: int64 */ + "typing-privacy": number; + }; + conversations: { + "can-create": boolean; + }; + federation: { + enabled: boolean; + "incoming-enabled": boolean; + "outgoing-enabled": boolean; + "only-trusted-servers": boolean; + }; + previews: { + /** Format: int64 */ + "max-gif-size": number; + }; + signaling: { + /** Format: int64 */ + "session-ping-limit": number; + "hello-v2-token-key"?: string; + }; + }; + "config-local": { + [key: string]: string[] | undefined; + }; + version: string; }; - signaling: { - /** Format: int64 */ - "session-ping-limit": number; - "hello-v2-token-key"?: string; + OCSMeta: { + status: string; + statuscode: number; + message?: string; + totalitems?: string; + itemsperpage?: string; }; - }; - "config-local": { - [key: string]: string[]; - }; - version: string; - }; - OCSMeta: { - status: string; - statuscode: number; - message?: string; - totalitems?: string; - itemsperpage?: string; + PublicCapabilities: { + spreed: components["schemas"]["Capabilities"]; + } | unknown[]; }; - PublicCapabilities: OneOf<[{ - spreed: components["schemas"]["Capabilities"]; - }, unknown[]]>; - }; - responses: never; - parameters: never; - requestBodies: never; - headers: never; - pathItems: never; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; }; - export type $defs = Record; - -export type external = Record; - -export type operations = { - - /** Update the recording status as a backend */ - "recording-backend": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - }; - }; - responses: { - /** @description Recording status updated successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; +export interface operations { + "recording-backend": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; }; - }; - }; - }; - /** @description Updating recording status is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - type: string; - error: { - code: string; - message: string; - }; - }; + path: { + apiVersion: "v1"; }; - }; + cookie?: never; }; - }; - /** @description Missing permissions to update recording status */ - 403: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - type: string; - error: { - code: string; - message: string; - }; - }; + requestBody?: never; + responses: { + /** @description Recording status updated successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; }; - }; - }; - }; - /** @description Room not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - type: string; - error: { - code: string; - message: string; - }; - }; + /** @description Updating recording status is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + type: string; + error: { + code: string; + message: string; + }; + }; + }; + }; + }; + }; + /** @description Missing permissions to update recording status */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + type: string; + error: { + code: string; + message: string; + }; + }; + }; + }; + }; + }; + /** @description Room not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + type: string; + error: { + code: string; + message: string; + }; + }; + }; + }; + }; }; - }; }; - }; - }; - }; - /** Store the recording */ - "recording-store": { - parameters: { - query?: { - /** @description User that will own the recording file. `null` is actually not allowed and will always result in a "400 Bad Request". It's only allowed code-wise to handle requests where the post data exceeded the limits, so we can return a proper error instead of "500 Internal Server Error". */ - owner?: string | null; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; }; - responses: { - /** @description Recording stored successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; + "recording-store": { + parameters: { + query?: { + /** @description User that will own the recording file. `null` is actually not allowed and will always result in a "400 Bad Request". It's only allowed code-wise to handle requests where the post data exceeded the limits, so we can return a proper error instead of "500 Internal Server Error". */ + owner?: string | null; }; - }; - }; - }; - /** @description Storing recording is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; }; - }; + cookie?: never; }; - }; - /** @description Missing permissions to store recording */ - 401: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - type: string; - error: { - code: string; - message: string; - }; - }; + requestBody?: never; + responses: { + /** @description Recording stored successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Storing recording is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + /** @description Missing permissions to store recording */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + type: string; + error: { + code: string; + message: string; + }; + }; + }; + }; + }; }; - }; }; - }; }; - }; -}; +} diff --git a/src/types/openapi/openapi-backend-signaling.ts b/src/types/openapi/openapi-backend-signaling.ts index 6539ee10fb1..15828c91435 100644 --- a/src/types/openapi/openapi-backend-signaling.ts +++ b/src/types/openapi/openapi-backend-signaling.ts @@ -3,154 +3,156 @@ * Do not make direct changes to the file. */ - -/** OneOf type helpers */ -type Without = { [P in Exclude]?: never }; -type XOR = (T | U) extends object ? (Without & U) | (Without & T) : T | U; -type OneOf = T extends [infer Only] ? Only : T extends [infer A, infer B, ...infer Rest] ? OneOf<[XOR, ...Rest]> : never; - export type paths = { - "/ocs/v2.php/apps/spreed/api/{apiVersion}/signaling/backend": { - /** - * Backend API to query information required for standalone signaling servers - * @description See sections "Backend validation" in https://nextcloud-spreed-signaling.readthedocs.io/en/latest/standalone-signaling-api-v1/#backend-requests - */ - post: operations["signaling-backend"]; - }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/signaling/backend": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Backend API to query information required for standalone signaling servers + * @description See sections "Backend validation" in https://nextcloud-spreed-signaling.readthedocs.io/en/latest/standalone-signaling-api-v1/#backend-requests + */ + post: operations["signaling-backend"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; }; - export type webhooks = Record; - export type components = { - schemas: { - Capabilities: { - features: string[]; - "features-local": string[]; - config: { - attachments: { - allowed: boolean; - folder?: string; - }; - call: { - enabled: boolean; - "breakout-rooms": boolean; - recording: boolean; - /** Format: int64 */ - "recording-consent": number; - "supported-reactions": string[]; - "predefined-backgrounds": string[]; - "can-upload-background": boolean; - "sip-enabled": boolean; - "sip-dialout-enabled": boolean; - "can-enable-sip": boolean; - }; - chat: { - /** Format: int64 */ - "max-length": number; - /** Format: int64 */ - "read-privacy": number; - "has-translation-providers": boolean; - /** Format: int64 */ - "typing-privacy": number; - }; - conversations: { - "can-create": boolean; - }; - federation: { - enabled: boolean; - "incoming-enabled": boolean; - "outgoing-enabled": boolean; - "only-trusted-servers": boolean; - }; - previews: { - /** Format: int64 */ - "max-gif-size": number; + schemas: { + Capabilities: { + features: string[]; + "features-local": string[]; + config: { + attachments: { + allowed: boolean; + folder?: string; + }; + call: { + enabled: boolean; + "breakout-rooms": boolean; + recording: boolean; + /** Format: int64 */ + "recording-consent": number; + "supported-reactions": string[]; + "predefined-backgrounds": string[]; + "can-upload-background": boolean; + "sip-enabled": boolean; + "sip-dialout-enabled": boolean; + "can-enable-sip": boolean; + }; + chat: { + /** Format: int64 */ + "max-length": number; + /** Format: int64 */ + "read-privacy": number; + "has-translation-providers": boolean; + /** Format: int64 */ + "typing-privacy": number; + }; + conversations: { + "can-create": boolean; + }; + federation: { + enabled: boolean; + "incoming-enabled": boolean; + "outgoing-enabled": boolean; + "only-trusted-servers": boolean; + }; + previews: { + /** Format: int64 */ + "max-gif-size": number; + }; + signaling: { + /** Format: int64 */ + "session-ping-limit": number; + "hello-v2-token-key"?: string; + }; + }; + "config-local": { + [key: string]: string[] | undefined; + }; + version: string; }; - signaling: { - /** Format: int64 */ - "session-ping-limit": number; - "hello-v2-token-key"?: string; + OCSMeta: { + status: string; + statuscode: number; + message?: string; + totalitems?: string; + itemsperpage?: string; }; - }; - "config-local": { - [key: string]: string[]; - }; - version: string; + PublicCapabilities: { + spreed: components["schemas"]["Capabilities"]; + } | unknown[]; }; - OCSMeta: { - status: string; - statuscode: number; - message?: string; - totalitems?: string; - itemsperpage?: string; - }; - PublicCapabilities: OneOf<[{ - spreed: components["schemas"]["Capabilities"]; - }, unknown[]]>; - }; - responses: never; - parameters: never; - requestBodies: never; - headers: never; - pathItems: never; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; }; - export type $defs = Record; - -export type external = Record; - -export type operations = { - - /** - * Backend API to query information required for standalone signaling servers - * @description See sections "Backend validation" in https://nextcloud-spreed-signaling.readthedocs.io/en/latest/standalone-signaling-api-v1/#backend-requests - */ - "signaling-backend": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v3"; - }; - }; - responses: { - /** @description Always, sorry about that */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - type: string; - error?: { - code: string; - message: string; - }; - auth?: { - version: string; - userid?: string; - user?: { - [key: string]: Record; - }; +export interface operations { + "signaling-backend": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v3"; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Always, sorry about that */ + 200: { + headers: { + [name: string]: unknown; }; - room?: { - version: string; - roomid?: string; - properties?: { - [key: string]: Record; - }; - permissions?: string[]; - session?: { - [key: string]: Record; - }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + type: string; + error?: { + code: string; + message: string; + }; + auth?: { + version: string; + userid?: string; + user?: { + [key: string]: Record | undefined; + }; + }; + room?: { + version: string; + roomid?: string; + properties?: { + [key: string]: Record | undefined; + }; + permissions?: string[]; + session?: { + [key: string]: Record | undefined; + }; + }; + }; + }; + }; }; - }; }; - }; }; - }; }; - }; -}; +} diff --git a/src/types/openapi/openapi-backend-sipbridge.ts b/src/types/openapi/openapi-backend-sipbridge.ts index 028f2a4b6a0..37500bdd847 100644 --- a/src/types/openapi/openapi-backend-sipbridge.ts +++ b/src/types/openapi/openapi-backend-sipbridge.ts @@ -3,650 +3,794 @@ * Do not make direct changes to the file. */ - -/** OneOf type helpers */ -type Without = { [P in Exclude]?: never }; -type XOR = (T | U) extends object ? (Without & U) | (Without & T) : T | U; -type OneOf = T extends [infer Only] ? Only : T extends [infer A, infer B, ...infer Rest] ? OneOf<[XOR, ...Rest]> : never; - export type paths = { - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}": { - /** Get a room */ - get: operations["room-get-single-room"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/pin/{pin}": { - /** Verify a dial-in PIN (SIP bridge) */ - get: operations["room-verify-dial-in-pin-deprecated"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/verify-dialin": { - /** Verify a dial-in PIN (SIP bridge) */ - post: operations["room-verify-dial-in-pin"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/verify-dialout": { - /** Verify a dial-out number (SIP bridge) */ - post: operations["room-verify-dial-out-number"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/open-dial-in": { - /** Create a guest by their dial-in */ - post: operations["room-create-guest-by-dial-in"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/rejected-dialout": { - /** Reset call ID of a dial-out participant when the SIP gateway rejected it */ - delete: operations["room-rejected-dial-out-request"]; - }; -}; - -export type webhooks = Record; - -export type components = { - schemas: { - BaseMessage: { - actorDisplayName: string; - actorId: string; - actorType: string; - /** Format: int64 */ - expirationTimestamp: number; - message: string; - messageParameters: { - [key: string]: components["schemas"]["RichObjectParameter"]; - }; - messageType: string; - systemMessage: string; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get a room */ + get: operations["room-get-single-room"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; - Capabilities: { - features: string[]; - "features-local": string[]; - config: { - attachments: { - allowed: boolean; - folder?: string; - }; - call: { - enabled: boolean; - "breakout-rooms": boolean; - recording: boolean; - /** Format: int64 */ - "recording-consent": number; - "supported-reactions": string[]; - "predefined-backgrounds": string[]; - "can-upload-background": boolean; - "sip-enabled": boolean; - "sip-dialout-enabled": boolean; - "can-enable-sip": boolean; - }; - chat: { - /** Format: int64 */ - "max-length": number; - /** Format: int64 */ - "read-privacy": number; - "has-translation-providers": boolean; - /** Format: int64 */ - "typing-privacy": number; - }; - conversations: { - "can-create": boolean; - }; - federation: { - enabled: boolean; - "incoming-enabled": boolean; - "outgoing-enabled": boolean; - "only-trusted-servers": boolean; - }; - previews: { - /** Format: int64 */ - "max-gif-size": number; - }; - signaling: { - /** Format: int64 */ - "session-ping-limit": number; - "hello-v2-token-key"?: string; - }; - }; - "config-local": { - [key: string]: string[]; - }; - version: string; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/pin/{pin}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Verify a dial-in PIN (SIP bridge) */ + get: operations["room-verify-dial-in-pin-deprecated"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; - ChatMessage: components["schemas"]["BaseMessage"] & { - /** @enum {boolean} */ - deleted?: true; - /** Format: int64 */ - id: number; - isReplyable: boolean; - markdown: boolean; - reactions: { - [key: string]: number; - }; - reactionsSelf?: string[]; - referenceId: string; - /** Format: int64 */ - timestamp: number; - token: string; - lastEditActorDisplayName?: string; - lastEditActorId?: string; - lastEditActorType?: string; - /** Format: int64 */ - lastEditTimestamp?: number; - silent?: boolean; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/verify-dialin": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Verify a dial-in PIN (SIP bridge) */ + post: operations["room-verify-dial-in-pin"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; - ChatProxyMessage: components["schemas"]["BaseMessage"]; - OCSMeta: { - status: string; - statuscode: number; - message?: string; - totalitems?: string; - itemsperpage?: string; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/verify-dialout": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Verify a dial-out number (SIP bridge) */ + post: operations["room-verify-dial-out-number"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; - PublicCapabilities: OneOf<[{ - spreed: components["schemas"]["Capabilities"]; - }, unknown[]]>; - RichObjectParameter: { - type: string; - id: string; - name: string; - server?: string; - link?: string; - /** @enum {string} */ - "call-type"?: "one2one" | "group" | "public"; - "icon-url"?: string; - "message-id"?: string; - boardname?: string; - stackname?: string; - size?: string; - path?: string; - mimetype?: string; - /** @enum {string} */ - "preview-available"?: "yes" | "no"; - mtime?: string; - latitude?: string; - longitude?: string; - description?: string; - thumb?: string; - website?: string; - /** @enum {string} */ - visibility?: "0" | "1"; - /** @enum {string} */ - assignable?: "0" | "1"; - conversation?: string; - etag?: string; - permissions?: string; - width?: string; - height?: string; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/open-dial-in": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Create a guest by their dial-in */ + post: operations["room-create-guest-by-dial-in"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; - Room: { - actorId: string; - actorType: string; - /** Format: int64 */ - attendeeId: number; - /** Format: int64 */ - attendeePermissions: number; - attendeePin: string | null; - avatarVersion: string; - /** Format: int64 */ - breakoutRoomMode: number; - /** Format: int64 */ - breakoutRoomStatus: number; - /** Format: int64 */ - callFlag: number; - /** Format: int64 */ - callPermissions: number; - /** Format: int64 */ - callRecording: number; - /** Format: int64 */ - callStartTime: number; - canDeleteConversation: boolean; - canEnableSIP: boolean; - canLeaveConversation: boolean; - canStartCall: boolean; - /** Format: int64 */ - defaultPermissions: number; - description: string; - displayName: string; - hasCall: boolean; - hasPassword: boolean; - /** Format: int64 */ - id: number; - isCustomAvatar: boolean; - isFavorite: boolean; - /** Format: int64 */ - lastActivity: number; - /** Format: int64 */ - lastCommonReadMessage: number; - lastMessage: components["schemas"]["RoomLastMessage"] | unknown[]; - /** Format: int64 */ - lastPing: number; - /** Format: int64 */ - lastReadMessage: number; - /** Format: int64 */ - listable: number; - /** Format: int64 */ - lobbyState: number; - /** Format: int64 */ - lobbyTimer: number; - /** Format: int64 */ - messageExpiration: number; - name: string; - /** Format: int64 */ - notificationCalls: number; - /** Format: int64 */ - notificationLevel: number; - objectId: string; - objectType: string; - /** Format: int64 */ - participantFlags: number; - /** Format: int64 */ - participantType: number; - /** Format: int64 */ - permissions: number; - /** Format: int64 */ - readOnly: number; - /** Format: int64 */ - recordingConsent: number; - sessionId: string; - /** Format: int64 */ - sipEnabled: number; - status?: string; - /** Format: int64 */ - statusClearAt?: number | null; - statusIcon?: string | null; - statusMessage?: string | null; - token: string; - /** Format: int64 */ - type: number; - unreadMention: boolean; - unreadMentionDirect: boolean; - /** Format: int64 */ - unreadMessages: number; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/rejected-dialout": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** Reset call ID of a dial-out participant when the SIP gateway rejected it */ + delete: operations["room-rejected-dial-out-request"]; + options?: never; + head?: never; + patch?: never; + trace?: never; }; - RoomLastMessage: components["schemas"]["ChatMessage"] | components["schemas"]["ChatProxyMessage"]; - }; - responses: never; - parameters: never; - requestBodies: never; - headers: never; - pathItems: never; }; - -export type $defs = Record; - -export type external = Record; - -export type operations = { - - /** Get a room */ - "room-get-single-room": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - /** @description Token of the room */ - token: string; - }; +export type webhooks = Record; +export type components = { + schemas: { + BaseMessage: { + actorDisplayName: string; + actorId: string; + actorType: string; + /** Format: int64 */ + expirationTimestamp: number; + message: string; + messageParameters: { + [key: string]: components["schemas"]["RichObjectParameter"] | undefined; + }; + messageType: string; + systemMessage: string; + }; + Capabilities: { + features: string[]; + "features-local": string[]; + config: { + attachments: { + allowed: boolean; + folder?: string; + }; + call: { + enabled: boolean; + "breakout-rooms": boolean; + recording: boolean; + /** Format: int64 */ + "recording-consent": number; + "supported-reactions": string[]; + "predefined-backgrounds": string[]; + "can-upload-background": boolean; + "sip-enabled": boolean; + "sip-dialout-enabled": boolean; + "can-enable-sip": boolean; + }; + chat: { + /** Format: int64 */ + "max-length": number; + /** Format: int64 */ + "read-privacy": number; + "has-translation-providers": boolean; + /** Format: int64 */ + "typing-privacy": number; + }; + conversations: { + "can-create": boolean; + }; + federation: { + enabled: boolean; + "incoming-enabled": boolean; + "outgoing-enabled": boolean; + "only-trusted-servers": boolean; + }; + previews: { + /** Format: int64 */ + "max-gif-size": number; + }; + signaling: { + /** Format: int64 */ + "session-ping-limit": number; + "hello-v2-token-key"?: string; + }; + }; + "config-local": { + [key: string]: string[] | undefined; + }; + version: string; + }; + ChatMessage: components["schemas"]["BaseMessage"] & { + /** @enum {boolean} */ + deleted?: true; + /** Format: int64 */ + id: number; + isReplyable: boolean; + markdown: boolean; + reactions: { + [key: string]: number | undefined; + }; + reactionsSelf?: string[]; + referenceId: string; + /** Format: int64 */ + timestamp: number; + token: string; + lastEditActorDisplayName?: string; + lastEditActorId?: string; + lastEditActorType?: string; + /** Format: int64 */ + lastEditTimestamp?: number; + silent?: boolean; + }; + ChatProxyMessage: components["schemas"]["BaseMessage"]; + OCSMeta: { + status: string; + statuscode: number; + message?: string; + totalitems?: string; + itemsperpage?: string; + }; + PublicCapabilities: { + spreed: components["schemas"]["Capabilities"]; + } | unknown[]; + RichObjectParameter: { + type: string; + id: string; + name: string; + server?: string; + link?: string; + /** @enum {string} */ + "call-type"?: "one2one" | "group" | "public"; + "icon-url"?: string; + "message-id"?: string; + boardname?: string; + stackname?: string; + size?: string; + path?: string; + mimetype?: string; + /** @enum {string} */ + "preview-available"?: "yes" | "no"; + mtime?: string; + latitude?: string; + longitude?: string; + description?: string; + thumb?: string; + website?: string; + /** @enum {string} */ + visibility?: "0" | "1"; + /** @enum {string} */ + assignable?: "0" | "1"; + conversation?: string; + etag?: string; + permissions?: string; + width?: string; + height?: string; + }; + Room: { + actorId: string; + actorType: string; + /** Format: int64 */ + attendeeId: number; + /** Format: int64 */ + attendeePermissions: number; + attendeePin: string | null; + avatarVersion: string; + /** Format: int64 */ + breakoutRoomMode: number; + /** Format: int64 */ + breakoutRoomStatus: number; + /** Format: int64 */ + callFlag: number; + /** Format: int64 */ + callPermissions: number; + /** Format: int64 */ + callRecording: number; + /** Format: int64 */ + callStartTime: number; + canDeleteConversation: boolean; + canEnableSIP: boolean; + canLeaveConversation: boolean; + canStartCall: boolean; + /** Format: int64 */ + defaultPermissions: number; + description: string; + displayName: string; + hasCall: boolean; + hasPassword: boolean; + /** Format: int64 */ + id: number; + isCustomAvatar: boolean; + isFavorite: boolean; + /** Format: int64 */ + lastActivity: number; + /** Format: int64 */ + lastCommonReadMessage: number; + lastMessage: components["schemas"]["RoomLastMessage"] | unknown[]; + /** Format: int64 */ + lastPing: number; + /** Format: int64 */ + lastReadMessage: number; + /** Format: int64 */ + listable: number; + /** Format: int64 */ + lobbyState: number; + /** Format: int64 */ + lobbyTimer: number; + /** Format: int64 */ + messageExpiration: number; + name: string; + /** Format: int64 */ + notificationCalls: number; + /** Format: int64 */ + notificationLevel: number; + objectId: string; + objectType: string; + /** Format: int64 */ + participantFlags: number; + /** Format: int64 */ + participantType: number; + /** Format: int64 */ + permissions: number; + /** Format: int64 */ + readOnly: number; + /** Format: int64 */ + recordingConsent: number; + sessionId: string; + /** Format: int64 */ + sipEnabled: number; + status?: string; + /** Format: int64 */ + statusClearAt?: number | null; + statusIcon?: string | null; + statusMessage?: string | null; + token: string; + /** Format: int64 */ + type: number; + unreadMention: boolean; + unreadMentionDirect: boolean; + /** Format: int64 */ + unreadMessages: number; + }; + RoomLastMessage: components["schemas"]["ChatMessage"] | components["schemas"]["ChatProxyMessage"]; }; - responses: { - /** @description Room returned */ - 200: { - headers: { - "X-Nextcloud-Talk-Hash"?: string; - }; - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"]; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; +}; +export type $defs = Record; +export interface operations { + "room-get-single-room": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + /** @description Token of the room */ + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Room returned */ + 200: { + headers: { + "X-Nextcloud-Talk-Hash"?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"]; + }; + }; + }; + }; + /** @description SIP request invalid */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Room not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; }; - }; - }; - }; - /** @description SIP request invalid */ - 401: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Room not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; }; - }; }; - }; - /** Verify a dial-in PIN (SIP bridge) */ - "room-verify-dial-in-pin-deprecated": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - /** @description PIN the participant used to dial-in */ - pin: string; - }; - }; - responses: { - /** @description Participant returned */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"]; - }; - }; - }; - }; - /** @description SIP request invalid */ - 401: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Participant not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description SIP dial-in is not configured */ - 501: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; + "room-verify-dial-in-pin-deprecated": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + /** @description PIN the participant used to dial-in */ + pin: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Participant returned */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"]; + }; + }; + }; + }; + /** @description SIP request invalid */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Participant not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description SIP dial-in is not configured */ + 501: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; }; - }; - }; - }; - /** Verify a dial-in PIN (SIP bridge) */ - "room-verify-dial-in-pin": { - parameters: { - query: { - /** @description PIN the participant used to dial-in */ - pin: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; }; - responses: { - /** @description Participant returned */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"]; - }; - }; - }; - }; - /** @description SIP request invalid */ - 401: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Participant not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description SIP dial-in is not configured */ - 501: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; + "room-verify-dial-in-pin": { + parameters: { + query: { + /** @description PIN the participant used to dial-in */ + pin: string; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Participant returned */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"]; + }; + }; + }; + }; + /** @description SIP request invalid */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Participant not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description SIP dial-in is not configured */ + 501: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; }; - }; - }; - }; - /** Verify a dial-out number (SIP bridge) */ - "room-verify-dial-out-number": { - parameters: { - query: { - /** @description E164 formatted phone number */ - number: string; - /** @description Additional details to verify the validity of the request */ - options?: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; }; - responses: { - /** @description Participant created successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"]; - }; - }; - }; - }; - /** @description Phone number and details could not be confirmed */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description SIP request invalid */ - 401: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Phone number is not invited as a participant */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description SIP dial-out is not configured */ - 501: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; + "room-verify-dial-out-number": { + parameters: { + query: { + /** @description E164 formatted phone number */ + number: string; + /** @description Additional details to verify the validity of the request */ + options?: string; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Participant created successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"]; + }; + }; + }; + }; + /** @description Phone number and details could not be confirmed */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description SIP request invalid */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Phone number is not invited as a participant */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description SIP dial-out is not configured */ + 501: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; }; - }; }; - }; - /** Create a guest by their dial-in */ - "room-create-guest-by-dial-in": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Participant created successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"]; - }; - }; - }; - }; - /** @description SIP not enabled */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description SIP request invalid */ - 401: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; + "room-create-guest-by-dial-in": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Participant created successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"]; + }; + }; + }; + }; + /** @description SIP not enabled */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description SIP request invalid */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; }; - }; - }; - }; - /** Reset call ID of a dial-out participant when the SIP gateway rejected it */ - "room-rejected-dial-out-request": { - parameters: { - query: { - /** @description The call ID provided by the SIP bridge earlier to uniquely identify the call to terminate */ - callId: string; - /** @description Additional details to verify the validity of the request */ - options?: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; }; - responses: { - /** @description Call ID reset */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Call ID mismatch or attendeeId not found in $options */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description SIP request invalid */ - 401: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Participant was not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description SIP dial-out is not configured */ - 501: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; + "room-rejected-dial-out-request": { + parameters: { + query: { + /** @description The call ID provided by the SIP bridge earlier to uniquely identify the call to terminate */ + callId: string; + /** @description Additional details to verify the validity of the request */ + options?: string; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Call ID reset */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Call ID mismatch or attendeeId not found in $options */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description SIP request invalid */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Participant was not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description SIP dial-out is not configured */ + 501: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; }; - }; }; - }; -}; +} diff --git a/src/types/openapi/openapi-bots.ts b/src/types/openapi/openapi-bots.ts index b2337d8941c..0192673503f 100644 --- a/src/types/openapi/openapi-bots.ts +++ b/src/types/openapi/openapi-bots.ts @@ -3,324 +3,375 @@ * Do not make direct changes to the file. */ - -/** OneOf type helpers */ -type Without = { [P in Exclude]?: never }; -type XOR = (T | U) extends object ? (Without & U) | (Without & T) : T | U; -type OneOf = T extends [infer Only] ? Only : T extends [infer A, infer B, ...infer Rest] ? OneOf<[XOR, ...Rest]> : never; - export type paths = { - "/ocs/v2.php/apps/spreed/api/{apiVersion}/bot/{token}/message": { - /** - * Sends a new chat message to the given room - * @description The author and timestamp are automatically set to the current user/guest and time. - */ - post: operations["bot-send-message"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/bot/{token}/reaction/{messageId}": { - /** Adds a reaction to a chat message */ - post: operations["bot-react"]; - /** Deletes a reaction from a chat message */ - delete: operations["bot-delete-reaction"]; - }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/bot/{token}/message": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Sends a new chat message to the given room + * @description The author and timestamp are automatically set to the current user/guest and time. + */ + post: operations["bot-send-message"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/bot/{token}/reaction/{messageId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Adds a reaction to a chat message */ + post: operations["bot-react"]; + /** Deletes a reaction from a chat message */ + delete: operations["bot-delete-reaction"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; }; - export type webhooks = Record; - export type components = { - schemas: { - Capabilities: { - features: string[]; - "features-local": string[]; - config: { - attachments: { - allowed: boolean; - folder?: string; - }; - call: { - enabled: boolean; - "breakout-rooms": boolean; - recording: boolean; - /** Format: int64 */ - "recording-consent": number; - "supported-reactions": string[]; - "predefined-backgrounds": string[]; - "can-upload-background": boolean; - "sip-enabled": boolean; - "sip-dialout-enabled": boolean; - "can-enable-sip": boolean; - }; - chat: { - /** Format: int64 */ - "max-length": number; - /** Format: int64 */ - "read-privacy": number; - "has-translation-providers": boolean; - /** Format: int64 */ - "typing-privacy": number; - }; - conversations: { - "can-create": boolean; - }; - federation: { - enabled: boolean; - "incoming-enabled": boolean; - "outgoing-enabled": boolean; - "only-trusted-servers": boolean; - }; - previews: { - /** Format: int64 */ - "max-gif-size": number; + schemas: { + Capabilities: { + features: string[]; + "features-local": string[]; + config: { + attachments: { + allowed: boolean; + folder?: string; + }; + call: { + enabled: boolean; + "breakout-rooms": boolean; + recording: boolean; + /** Format: int64 */ + "recording-consent": number; + "supported-reactions": string[]; + "predefined-backgrounds": string[]; + "can-upload-background": boolean; + "sip-enabled": boolean; + "sip-dialout-enabled": boolean; + "can-enable-sip": boolean; + }; + chat: { + /** Format: int64 */ + "max-length": number; + /** Format: int64 */ + "read-privacy": number; + "has-translation-providers": boolean; + /** Format: int64 */ + "typing-privacy": number; + }; + conversations: { + "can-create": boolean; + }; + federation: { + enabled: boolean; + "incoming-enabled": boolean; + "outgoing-enabled": boolean; + "only-trusted-servers": boolean; + }; + previews: { + /** Format: int64 */ + "max-gif-size": number; + }; + signaling: { + /** Format: int64 */ + "session-ping-limit": number; + "hello-v2-token-key"?: string; + }; + }; + "config-local": { + [key: string]: string[] | undefined; + }; + version: string; }; - signaling: { - /** Format: int64 */ - "session-ping-limit": number; - "hello-v2-token-key"?: string; + OCSMeta: { + status: string; + statuscode: number; + message?: string; + totalitems?: string; + itemsperpage?: string; }; - }; - "config-local": { - [key: string]: string[]; - }; - version: string; + PublicCapabilities: { + spreed: components["schemas"]["Capabilities"]; + } | unknown[]; }; - OCSMeta: { - status: string; - statuscode: number; - message?: string; - totalitems?: string; - itemsperpage?: string; - }; - PublicCapabilities: OneOf<[{ - spreed: components["schemas"]["Capabilities"]; - }, unknown[]]>; - }; - responses: never; - parameters: never; - requestBodies: never; - headers: never; - pathItems: never; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; }; - export type $defs = Record; - -export type external = Record; - -export type operations = { - - /** - * Sends a new chat message to the given room - * @description The author and timestamp are automatically set to the current user/guest and time. - */ - "bot-send-message": { - parameters: { - query: { - /** @description The message to send */ - message: string; - /** @description For the message to be able to later identify it again */ - referenceId?: string; - /** @description Parent id which this message is a reply to */ - replyTo?: number; - /** @description If sent silent the chat message will not create any notifications */ - silent?: 0 | 1; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - /** @description Conversation token */ - token: string; - }; - }; - responses: { - /** @description Message sent successfully */ - 201: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; +export interface operations { + "bot-send-message": { + parameters: { + query: { + /** @description The message to send */ + message: string; + /** @description For the message to be able to later identify it again */ + referenceId?: string; + /** @description Parent id which this message is a reply to */ + replyTo?: number; + /** @description If sent silent the chat message will not create any notifications */ + silent?: 0 | 1; }; - }; - }; - }; - /** @description When the replyTo is invalid or message is empty */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; }; - }; - }; - }; - /** @description Sending message is not allowed */ - 401: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; + path: { + apiVersion: "v1"; + /** @description Conversation token */ + token: string; }; - }; + cookie?: never; }; - }; - /** @description Message too long */ - 413: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; + requestBody?: never; + responses: { + /** @description Message sent successfully */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description When the replyTo is invalid or message is empty */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Sending message is not allowed */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Message too long */ + 413: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; }; - }; }; - }; - }; - }; - /** Adds a reaction to a chat message */ - "bot-react": { - parameters: { - query: { - /** @description Reaction to add */ - reaction: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - /** @description Conversation token */ - token: string; - /** @description ID of the message */ - messageId: number; - }; }; - responses: { - /** @description Reaction already exists */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; + "bot-react": { + parameters: { + query: { + /** @description Reaction to add */ + reaction: string; }; - }; - }; - }; - /** @description Reacted successfully */ - 201: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; }; - }; - }; - }; - /** @description Reacting is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; + path: { + apiVersion: "v1"; + /** @description Conversation token */ + token: string; + /** @description ID of the message */ + messageId: number; }; - }; + cookie?: never; }; - }; - /** @description Reacting is not allowed */ - 401: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; + requestBody?: never; + responses: { + /** @description Reaction already exists */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; }; - }; - }; - }; - /** @description Reaction not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; + /** @description Reacted successfully */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Reacting is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Reacting is not allowed */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Reaction not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; }; - }; }; - }; }; - }; - /** Deletes a reaction from a chat message */ - "bot-delete-reaction": { - parameters: { - query: { - /** @description Reaction to delete */ - reaction: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - /** @description Conversation token */ - token: string; - /** @description ID of the message */ - messageId: number; - }; - }; - responses: { - /** @description Reaction deleted successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; + "bot-delete-reaction": { + parameters: { + query: { + /** @description Reaction to delete */ + reaction: string; }; - }; - }; - }; - /** @description Reacting is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; }; - }; - }; - }; - /** @description Reacting is not allowed */ - 401: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; + path: { + apiVersion: "v1"; + /** @description Conversation token */ + token: string; + /** @description ID of the message */ + messageId: number; }; - }; + cookie?: never; }; - }; - /** @description Reaction not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; + requestBody?: never; + responses: { + /** @description Reaction deleted successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Reacting is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Reacting is not allowed */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Reaction not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; }; - }; }; - }; }; - }; -}; +} diff --git a/src/types/openapi/openapi-federation.ts b/src/types/openapi/openapi-federation.ts index 5cb6d31c246..10f6282a268 100644 --- a/src/types/openapi/openapi-federation.ts +++ b/src/types/openapi/openapi-federation.ts @@ -3,609 +3,729 @@ * Do not make direct changes to the file. */ - -/** OneOf type helpers */ -type Without = { [P in Exclude]?: never }; -type XOR = (T | U) extends object ? (Without & U) | (Without & T) : T | U; -type OneOf = T extends [infer Only] ? Only : T extends [infer A, infer B, ...infer Rest] ? OneOf<[XOR, ...Rest]> : never; - export type paths = { - "/ocs/v2.php/apps/spreed/api/{apiVersion}/proxy/new/user-avatar/{size}": { - /** Get the avatar of a cloudId user when inviting users while creating a conversation */ - get: operations["avatar-get-user-proxy-avatar-without-room"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/proxy/new/user-avatar/{size}/dark": { - /** Get the dark mode avatar of a cloudId user when inviting users while creating a conversation */ - get: operations["avatar-get-user-proxy-avatar-dark-without-room"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/proxy/{token}/user-avatar/{size}": { - /** Get the avatar of a cloudId user */ - get: operations["avatar-get-user-proxy-avatar"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/proxy/{token}/user-avatar/{size}/dark": { - /** Get the dark mode avatar of a cloudId user */ - get: operations["avatar-get-user-proxy-avatar-dark"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/federation/invitation/{id}": { - /** - * Accept a federation invites - * @description 🚧 Draft: Still work in progress - */ - post: operations["federation-accept-share"]; - /** - * Decline a federation invites - * @description 🚧 Draft: Still work in progress - */ - delete: operations["federation-reject-share"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/federation/invitation": { - /** - * Get a list of federation invites - * @description 🚧 Draft: Still work in progress - */ - get: operations["federation-get-shares"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/federation/active": { - /** Fake join a room on the host server to verify the federated user is still part of it */ - post: operations["room-join-federated-room"]; - }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/proxy/new/user-avatar/{size}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get the avatar of a cloudId user when inviting users while creating a conversation */ + get: operations["avatar-get-user-proxy-avatar-without-room"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/proxy/new/user-avatar/{size}/dark": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get the dark mode avatar of a cloudId user when inviting users while creating a conversation */ + get: operations["avatar-get-user-proxy-avatar-dark-without-room"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/proxy/{token}/user-avatar/{size}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get the avatar of a cloudId user */ + get: operations["avatar-get-user-proxy-avatar"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/proxy/{token}/user-avatar/{size}/dark": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get the dark mode avatar of a cloudId user */ + get: operations["avatar-get-user-proxy-avatar-dark"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/federation/invitation/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Accept a federation invites + * @description 🚧 Draft: Still work in progress + */ + post: operations["federation-accept-share"]; + /** + * Decline a federation invites + * @description 🚧 Draft: Still work in progress + */ + delete: operations["federation-reject-share"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/federation/invitation": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a list of federation invites + * @description 🚧 Draft: Still work in progress + */ + get: operations["federation-get-shares"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/federation/active": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Fake join a room on the host server to verify the federated user is still part of it */ + post: operations["room-join-federated-room"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; }; - export type webhooks = Record; - export type components = { - schemas: { - BaseMessage: { - actorDisplayName: string; - actorId: string; - actorType: string; - /** Format: int64 */ - expirationTimestamp: number; - message: string; - messageParameters: { - [key: string]: components["schemas"]["RichObjectParameter"]; - }; - messageType: string; - systemMessage: string; - }; - Capabilities: { - features: string[]; - "features-local": string[]; - config: { - attachments: { - allowed: boolean; - folder?: string; + schemas: { + BaseMessage: { + actorDisplayName: string; + actorId: string; + actorType: string; + /** Format: int64 */ + expirationTimestamp: number; + message: string; + messageParameters: { + [key: string]: components["schemas"]["RichObjectParameter"] | undefined; + }; + messageType: string; + systemMessage: string; }; - call: { - enabled: boolean; - "breakout-rooms": boolean; - recording: boolean; - /** Format: int64 */ - "recording-consent": number; - "supported-reactions": string[]; - "predefined-backgrounds": string[]; - "can-upload-background": boolean; - "sip-enabled": boolean; - "sip-dialout-enabled": boolean; - "can-enable-sip": boolean; + Capabilities: { + features: string[]; + "features-local": string[]; + config: { + attachments: { + allowed: boolean; + folder?: string; + }; + call: { + enabled: boolean; + "breakout-rooms": boolean; + recording: boolean; + /** Format: int64 */ + "recording-consent": number; + "supported-reactions": string[]; + "predefined-backgrounds": string[]; + "can-upload-background": boolean; + "sip-enabled": boolean; + "sip-dialout-enabled": boolean; + "can-enable-sip": boolean; + }; + chat: { + /** Format: int64 */ + "max-length": number; + /** Format: int64 */ + "read-privacy": number; + "has-translation-providers": boolean; + /** Format: int64 */ + "typing-privacy": number; + }; + conversations: { + "can-create": boolean; + }; + federation: { + enabled: boolean; + "incoming-enabled": boolean; + "outgoing-enabled": boolean; + "only-trusted-servers": boolean; + }; + previews: { + /** Format: int64 */ + "max-gif-size": number; + }; + signaling: { + /** Format: int64 */ + "session-ping-limit": number; + "hello-v2-token-key"?: string; + }; + }; + "config-local": { + [key: string]: string[] | undefined; + }; + version: string; }; - chat: { - /** Format: int64 */ - "max-length": number; - /** Format: int64 */ - "read-privacy": number; - "has-translation-providers": boolean; - /** Format: int64 */ - "typing-privacy": number; + ChatMessage: components["schemas"]["BaseMessage"] & { + /** @enum {boolean} */ + deleted?: true; + /** Format: int64 */ + id: number; + isReplyable: boolean; + markdown: boolean; + reactions: { + [key: string]: number | undefined; + }; + reactionsSelf?: string[]; + referenceId: string; + /** Format: int64 */ + timestamp: number; + token: string; + lastEditActorDisplayName?: string; + lastEditActorId?: string; + lastEditActorType?: string; + /** Format: int64 */ + lastEditTimestamp?: number; + silent?: boolean; }; - conversations: { - "can-create": boolean; + ChatProxyMessage: components["schemas"]["BaseMessage"]; + FederationInvite: { + /** Format: int64 */ + id: number; + /** Format: int64 */ + state: number; + localCloudId: string; + localToken: string; + /** Format: int64 */ + remoteAttendeeId: number; + remoteServerUrl: string; + remoteToken: string; + roomName: string; + userId: string; + inviterCloudId: string; + inviterDisplayName: string; }; - federation: { - enabled: boolean; - "incoming-enabled": boolean; - "outgoing-enabled": boolean; - "only-trusted-servers": boolean; + OCSMeta: { + status: string; + statuscode: number; + message?: string; + totalitems?: string; + itemsperpage?: string; }; - previews: { - /** Format: int64 */ - "max-gif-size": number; + PublicCapabilities: { + spreed: components["schemas"]["Capabilities"]; + } | unknown[]; + RichObjectParameter: { + type: string; + id: string; + name: string; + server?: string; + link?: string; + /** @enum {string} */ + "call-type"?: "one2one" | "group" | "public"; + "icon-url"?: string; + "message-id"?: string; + boardname?: string; + stackname?: string; + size?: string; + path?: string; + mimetype?: string; + /** @enum {string} */ + "preview-available"?: "yes" | "no"; + mtime?: string; + latitude?: string; + longitude?: string; + description?: string; + thumb?: string; + website?: string; + /** @enum {string} */ + visibility?: "0" | "1"; + /** @enum {string} */ + assignable?: "0" | "1"; + conversation?: string; + etag?: string; + permissions?: string; + width?: string; + height?: string; }; - signaling: { - /** Format: int64 */ - "session-ping-limit": number; - "hello-v2-token-key"?: string; + Room: { + actorId: string; + actorType: string; + /** Format: int64 */ + attendeeId: number; + /** Format: int64 */ + attendeePermissions: number; + attendeePin: string | null; + avatarVersion: string; + /** Format: int64 */ + breakoutRoomMode: number; + /** Format: int64 */ + breakoutRoomStatus: number; + /** Format: int64 */ + callFlag: number; + /** Format: int64 */ + callPermissions: number; + /** Format: int64 */ + callRecording: number; + /** Format: int64 */ + callStartTime: number; + canDeleteConversation: boolean; + canEnableSIP: boolean; + canLeaveConversation: boolean; + canStartCall: boolean; + /** Format: int64 */ + defaultPermissions: number; + description: string; + displayName: string; + hasCall: boolean; + hasPassword: boolean; + /** Format: int64 */ + id: number; + isCustomAvatar: boolean; + isFavorite: boolean; + /** Format: int64 */ + lastActivity: number; + /** Format: int64 */ + lastCommonReadMessage: number; + lastMessage: components["schemas"]["RoomLastMessage"] | unknown[]; + /** Format: int64 */ + lastPing: number; + /** Format: int64 */ + lastReadMessage: number; + /** Format: int64 */ + listable: number; + /** Format: int64 */ + lobbyState: number; + /** Format: int64 */ + lobbyTimer: number; + /** Format: int64 */ + messageExpiration: number; + name: string; + /** Format: int64 */ + notificationCalls: number; + /** Format: int64 */ + notificationLevel: number; + objectId: string; + objectType: string; + /** Format: int64 */ + participantFlags: number; + /** Format: int64 */ + participantType: number; + /** Format: int64 */ + permissions: number; + /** Format: int64 */ + readOnly: number; + /** Format: int64 */ + recordingConsent: number; + sessionId: string; + /** Format: int64 */ + sipEnabled: number; + status?: string; + /** Format: int64 */ + statusClearAt?: number | null; + statusIcon?: string | null; + statusMessage?: string | null; + token: string; + /** Format: int64 */ + type: number; + unreadMention: boolean; + unreadMentionDirect: boolean; + /** Format: int64 */ + unreadMessages: number; }; - }; - "config-local": { - [key: string]: string[]; - }; - version: string; - }; - ChatMessage: components["schemas"]["BaseMessage"] & { - /** @enum {boolean} */ - deleted?: true; - /** Format: int64 */ - id: number; - isReplyable: boolean; - markdown: boolean; - reactions: { - [key: string]: number; - }; - reactionsSelf?: string[]; - referenceId: string; - /** Format: int64 */ - timestamp: number; - token: string; - lastEditActorDisplayName?: string; - lastEditActorId?: string; - lastEditActorType?: string; - /** Format: int64 */ - lastEditTimestamp?: number; - silent?: boolean; - }; - ChatProxyMessage: components["schemas"]["BaseMessage"]; - FederationInvite: { - /** Format: int64 */ - id: number; - /** Format: int64 */ - state: number; - localCloudId: string; - localToken: string; - /** Format: int64 */ - remoteAttendeeId: number; - remoteServerUrl: string; - remoteToken: string; - roomName: string; - userId: string; - inviterCloudId: string; - inviterDisplayName: string; - }; - OCSMeta: { - status: string; - statuscode: number; - message?: string; - totalitems?: string; - itemsperpage?: string; + RoomLastMessage: components["schemas"]["ChatMessage"] | components["schemas"]["ChatProxyMessage"]; }; - PublicCapabilities: OneOf<[{ - spreed: components["schemas"]["Capabilities"]; - }, unknown[]]>; - RichObjectParameter: { - type: string; - id: string; - name: string; - server?: string; - link?: string; - /** @enum {string} */ - "call-type"?: "one2one" | "group" | "public"; - "icon-url"?: string; - "message-id"?: string; - boardname?: string; - stackname?: string; - size?: string; - path?: string; - mimetype?: string; - /** @enum {string} */ - "preview-available"?: "yes" | "no"; - mtime?: string; - latitude?: string; - longitude?: string; - description?: string; - thumb?: string; - website?: string; - /** @enum {string} */ - visibility?: "0" | "1"; - /** @enum {string} */ - assignable?: "0" | "1"; - conversation?: string; - etag?: string; - permissions?: string; - width?: string; - height?: string; - }; - Room: { - actorId: string; - actorType: string; - /** Format: int64 */ - attendeeId: number; - /** Format: int64 */ - attendeePermissions: number; - attendeePin: string | null; - avatarVersion: string; - /** Format: int64 */ - breakoutRoomMode: number; - /** Format: int64 */ - breakoutRoomStatus: number; - /** Format: int64 */ - callFlag: number; - /** Format: int64 */ - callPermissions: number; - /** Format: int64 */ - callRecording: number; - /** Format: int64 */ - callStartTime: number; - canDeleteConversation: boolean; - canEnableSIP: boolean; - canLeaveConversation: boolean; - canStartCall: boolean; - /** Format: int64 */ - defaultPermissions: number; - description: string; - displayName: string; - hasCall: boolean; - hasPassword: boolean; - /** Format: int64 */ - id: number; - isCustomAvatar: boolean; - isFavorite: boolean; - /** Format: int64 */ - lastActivity: number; - /** Format: int64 */ - lastCommonReadMessage: number; - lastMessage: components["schemas"]["RoomLastMessage"] | unknown[]; - /** Format: int64 */ - lastPing: number; - /** Format: int64 */ - lastReadMessage: number; - /** Format: int64 */ - listable: number; - /** Format: int64 */ - lobbyState: number; - /** Format: int64 */ - lobbyTimer: number; - /** Format: int64 */ - messageExpiration: number; - name: string; - /** Format: int64 */ - notificationCalls: number; - /** Format: int64 */ - notificationLevel: number; - objectId: string; - objectType: string; - /** Format: int64 */ - participantFlags: number; - /** Format: int64 */ - participantType: number; - /** Format: int64 */ - permissions: number; - /** Format: int64 */ - readOnly: number; - /** Format: int64 */ - recordingConsent: number; - sessionId: string; - /** Format: int64 */ - sipEnabled: number; - status?: string; - /** Format: int64 */ - statusClearAt?: number | null; - statusIcon?: string | null; - statusMessage?: string | null; - token: string; - /** Format: int64 */ - type: number; - unreadMention: boolean; - unreadMentionDirect: boolean; - /** Format: int64 */ - unreadMessages: number; - }; - RoomLastMessage: components["schemas"]["ChatMessage"] | components["schemas"]["ChatProxyMessage"]; - }; - responses: never; - parameters: never; - requestBodies: never; - headers: never; - pathItems: never; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; }; - export type $defs = Record; - -export type external = Record; - -export type operations = { - - /** Get the avatar of a cloudId user when inviting users while creating a conversation */ - "avatar-get-user-proxy-avatar-without-room": { - parameters: { - query: { - /** @description Federation CloudID to get the avatar for */ - cloudId: string; - /** @description Theme used for background */ - darkTheme?: 0 | 1; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - /** @description Avatar size */ - size: 64 | 512; - }; - }; - responses: { - /** @description User avatar returned */ - 200: { - content: { - "*/*": string; +export interface operations { + "avatar-get-user-proxy-avatar-without-room": { + parameters: { + query: { + /** @description Federation CloudID to get the avatar for */ + cloudId: string; + /** @description Theme used for background */ + darkTheme?: 0 | 1; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + /** @description Avatar size */ + size: 64 | 512; + }; + cookie?: never; }; - }; - }; - }; - /** Get the dark mode avatar of a cloudId user when inviting users while creating a conversation */ - "avatar-get-user-proxy-avatar-dark-without-room": { - parameters: { - query: { - /** @description Federation CloudID to get the avatar for */ - cloudId: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - /** @description Avatar size */ - size: 64 | 512; - }; - }; - responses: { - /** @description User avatar returned */ - 200: { - content: { - "*/*": string; + requestBody?: never; + responses: { + /** @description User avatar returned */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "*/*": string; + }; + }; }; - }; }; - }; - /** Get the avatar of a cloudId user */ - "avatar-get-user-proxy-avatar": { - parameters: { - query: { - /** @description Federation CloudID to get the avatar for */ - cloudId: string; - /** @description Theme used for background */ - darkTheme?: 0 | 1; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - /** @description Avatar size */ - size: 64 | 512; - }; - }; - responses: { - /** @description User avatar returned */ - 200: { - content: { - "*/*": string; + "avatar-get-user-proxy-avatar-dark-without-room": { + parameters: { + query: { + /** @description Federation CloudID to get the avatar for */ + cloudId: string; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + /** @description Avatar size */ + size: 64 | 512; + }; + cookie?: never; }; - }; - }; - }; - /** Get the dark mode avatar of a cloudId user */ - "avatar-get-user-proxy-avatar-dark": { - parameters: { - query: { - /** @description Federation CloudID to get the avatar for */ - cloudId: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - /** @description Avatar size */ - size: 64 | 512; - }; - }; - responses: { - /** @description User avatar returned */ - 200: { - content: { - "*/*": string; + requestBody?: never; + responses: { + /** @description User avatar returned */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "*/*": string; + }; + }; }; - }; }; - }; - /** - * Accept a federation invites - * @description 🚧 Draft: Still work in progress - */ - "federation-accept-share": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - /** @description ID of the share */ - id: number; - }; - }; - responses: { - /** @description Invite accepted successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"]; - }; - }; + "avatar-get-user-proxy-avatar": { + parameters: { + query: { + /** @description Federation CloudID to get the avatar for */ + cloudId: string; + /** @description Theme used for background */ + darkTheme?: 0 | 1; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + /** @description Avatar size */ + size: 64 | 512; + }; + cookie?: never; }; - }; - /** @description Invite can not be accepted (maybe it was accepted already) */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; + requestBody?: never; + responses: { + /** @description User avatar returned */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "*/*": string; + }; + }; }; - }; - /** @description Invite can not be found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error?: string; - }; - }; - }; + }; + "avatar-get-user-proxy-avatar-dark": { + parameters: { + query: { + /** @description Federation CloudID to get the avatar for */ + cloudId: string; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + /** @description Avatar size */ + size: 64 | 512; + }; + cookie?: never; }; - }; - /** @description Remote server could not be reached to notify about the acceptance */ - 410: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; + requestBody?: never; + responses: { + /** @description User avatar returned */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "*/*": string; + }; + }; }; - }; }; - }; - /** - * Decline a federation invites - * @description 🚧 Draft: Still work in progress - */ - "federation-reject-share": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - /** @description ID of the share */ - id: number; - }; - }; - responses: { - /** @description Invite declined successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Invite was already accepted, use the "Remove the current user from a room" endpoint instead */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error?: string; - }; - }; - }; + "federation-accept-share": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + /** @description ID of the share */ + id: number; + }; + cookie?: never; }; - }; - /** @description Invite can not be found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error?: string; - }; - }; - }; + requestBody?: never; + responses: { + /** @description Invite accepted successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"]; + }; + }; + }; + }; + /** @description Invite can not be accepted (maybe it was accepted already) */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + /** @description Invite can not be found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error?: string; + }; + }; + }; + }; + }; + /** @description Remote server could not be reached to notify about the acceptance */ + 410: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; }; - }; }; - }; - /** - * Get a list of federation invites - * @description 🚧 Draft: Still work in progress - */ - "federation-get-shares": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - }; - }; - responses: { - /** @description Get list of received federation invites successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["FederationInvite"][]; - }; - }; + "federation-reject-share": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + /** @description ID of the share */ + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Invite declined successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Invite was already accepted, use the "Remove the current user from a room" endpoint instead */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error?: string; + }; + }; + }; + }; + }; + /** @description Invite can not be found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error?: string; + }; + }; + }; + }; + }; }; - }; - }; - }; - /** Fake join a room on the host server to verify the federated user is still part of it */ - "room-join-federated-room": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - /** @description Token of the room */ - token: string; - }; }; - responses: { - /** @description Federated user is still part of the room */ - 200: { - headers: { - "X-Nextcloud-Talk-Hash"?: string; + "federation-get-shares": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Get list of received federation invites successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["FederationInvite"][]; + }; + }; + }; + }; }; - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; + }; + "room-join-federated-room": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + /** @description Token of the room */ + token: string; }; - }; + cookie?: never; }; - }; - /** @description Room not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; + requestBody?: never; + responses: { + /** @description Federated user is still part of the room */ + 200: { + headers: { + "X-Nextcloud-Talk-Hash"?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Room not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; }; - }; }; - }; -}; +} diff --git a/src/types/openapi/openapi-full.ts b/src/types/openapi/openapi-full.ts index 2caa37af7cf..05b674f6426 100644 --- a/src/types/openapi/openapi-full.ts +++ b/src/types/openapi/openapi-full.ts @@ -3,7142 +3,9318 @@ * Do not make direct changes to the file. */ - -/** OneOf type helpers */ -type Without = { [P in Exclude]?: never }; -type XOR = (T | U) extends object ? (Without & U) | (Without & T) : T | U; -type OneOf = T extends [infer Only] ? Only : T extends [infer A, infer B, ...infer Rest] ? OneOf<[XOR, ...Rest]> : never; - export type paths = { - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/avatar": { - /** Get the avatar of a room */ - get: operations["avatar-get-avatar"]; - /** Upload an avatar for a room */ - post: operations["avatar-upload-avatar"]; - /** Delete the avatar of a room */ - delete: operations["avatar-delete-avatar"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/avatar/emoji": { - /** Set an emoji as avatar */ - post: operations["avatar-emoji-avatar"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/avatar/dark": { - /** Get the dark mode avatar of a room */ - get: operations["avatar-get-avatar-dark"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/ban/{token}": { - /** - * List the bans of a conversation - * @description Required capability: `ban-v1` - */ - get: operations["ban-list-bans"]; - /** - * Ban an actor or IP address - * @description Required capability: `ban-v1` - */ - post: operations["ban-ban-actor"]; - /** - * Unban an actor or IP address - * @description Required capability: `ban-v1` - */ - delete: operations["ban-unban-actor"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/bot/{token}": { - /** List bots */ - get: operations["bot-list-bots"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/bot/{token}/{botId}": { - /** Enables a bot */ - post: operations["bot-enable-bot"]; - /** Disables a bot */ - delete: operations["bot-disable-bot"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/breakout-rooms/{token}": { - /** Configure the breakout rooms */ - post: operations["breakout_room-configure-breakout-rooms"]; - /** Remove the breakout rooms */ - delete: operations["breakout_room-remove-breakout-rooms"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/breakout-rooms/{token}/broadcast": { - /** Broadcast a chat message to all breakout rooms */ - post: operations["breakout_room-broadcast-chat-message"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/breakout-rooms/{token}/attendees": { - /** Apply an attendee map to the breakout rooms */ - post: operations["breakout_room-apply-attendee-map"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/breakout-rooms/{token}/request-assistance": { - /** Request assistance */ - post: operations["breakout_room-request-assistance"]; - /** Reset the request for assistance */ - delete: operations["breakout_room-reset-request-for-assistance"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/breakout-rooms/{token}/rooms": { - /** Start the breakout rooms */ - post: operations["breakout_room-start-breakout-rooms"]; - /** Stop the breakout rooms */ - delete: operations["breakout_room-stop-breakout-rooms"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/breakout-rooms/{token}/switch": { - /** Switch to another breakout room */ - post: operations["breakout_room-switch-breakout-room"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/call/{token}": { - /** Get the peers for a call */ - get: operations["call-get-peers-for-call"]; - /** Update the in-call flags */ - put: operations["call-update-call-flags"]; - /** Join a call */ - post: operations["call-join-call"]; - /** Leave a call */ - delete: operations["call-leave-call"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/call/{token}/ring/{attendeeId}": { - /** Ring an attendee */ - post: operations["call-ring-attendee"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/call/{token}/dialout/{attendeeId}": { - /** Call a SIP dial-out attendee */ - post: operations["call-sip-dial-out"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/chat/{token}": { - /** - * Receives chat messages from the given room - * @description - Receiving the history ($lookIntoFuture=0): The next $limit messages after $lastKnownMessageId will be returned. The new $lastKnownMessageId for the follow up query is available as `X-Chat-Last-Given` header. - * - Looking into the future ($lookIntoFuture=1): If there are currently no messages the response will not be sent immediately. Instead, HTTP connection will be kept open waiting for new messages to arrive and, when they do, then the response will be sent. The connection will not be kept open indefinitely, though; the number of seconds to wait for new messages to arrive can be set using the timeout parameter; the default timeout is 30 seconds, maximum timeout is 60 seconds. If the timeout ends a successful but empty response will be sent. If messages have been returned (status=200) the new $lastKnownMessageId for the follow up query is available as `X-Chat-Last-Given` header. - * The limit specifies the maximum number of messages that will be returned, although the actual number of returned messages could be lower if some messages are not visible to the participant. Note that if none of the messages are visible to the participant the returned number of messages will be 0, yet the status will still be 200. Also note that `X-Chat-Last-Given` may reference a message not visible and thus not returned, but it should be used nevertheless as the $lastKnownMessageId for the follow-up query. - */ - get: operations["chat-receive-messages"]; - /** - * Sends a new chat message to the given room - * @description The author and timestamp are automatically set to the current user/guest and time. - */ - post: operations["chat-send-message"]; - /** Clear the chat history */ - delete: operations["chat-clear-history"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/chat/{token}/{messageId}": { - /** Edit a chat message */ - put: operations["chat-edit-message"]; - /** Delete a chat message */ - delete: operations["chat-delete-message"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/chat/{token}/{messageId}/context": { - /** Get the context of a message */ - get: operations["chat-get-message-context"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/chat/{token}/{messageId}/reminder": { - /** Get the reminder for a chat message */ - get: operations["chat-get-reminder"]; - /** Set a reminder for a chat message */ - post: operations["chat-set-reminder"]; - /** Delete a chat reminder */ - delete: operations["chat-delete-reminder"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/chat/{token}/read": { - /** Set the read marker to a specific message */ - post: operations["chat-set-read-marker"]; - /** Mark a chat as unread */ - delete: operations["chat-mark-unread"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/chat/{token}/mentions": { - /** Search for mentions */ - get: operations["chat-mentions"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/chat/{token}/share": { - /** Get objects that are shared in the room */ - get: operations["chat-get-objects-shared-in-room"]; - /** - * Sends a rich-object to the given room - * @description The author and timestamp are automatically set to the current user/guest and time. - */ - post: operations["chat-share-object-to-chat"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/chat/{token}/share/overview": { - /** Get objects that are shared in the room overview */ - get: operations["chat-get-objects-shared-in-room-overview"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/file/{fileId}": { - /** - * Get the token of the room associated to the given file id - * @description This is the counterpart of self::getRoomByShareToken() for file ids instead of share tokens, although both return the same room token if the given file id and share token refer to the same file. - * If there is no room associated to the given file id a new room is created; the new room is a public room associated with a "file" object with the given file id. Unlike normal rooms in which the owner is the user that created the room these are special rooms without owner (although self joined users with direct access to the file become persistent participants automatically when they join until they explicitly leave or no longer have access to the file). - * In any case, to create or even get the token of the room, the file must be shared and the user must be the owner of a public share of the file (like a link share, for example) or have direct access to that file; an error is returned otherwise. A user has direct access to a file if she has access to it (or to an ancestor) through a user, group, circle or room share (but not through a link share, for example), or if she is the owner of such a file. - */ - get: operations["files_integration-get-room-by-file-id"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/publicshare/{shareToken}": { - /** - * Returns the token of the room associated to the file of the given share token - * @description This is the counterpart of self::getRoomByFileId() for share tokens instead of file ids, although both return the same room token if the given file id and share token refer to the same file. - * If there is no room associated to the file id of the given share token a new room is created; the new room is a public room associated with a "file" object with the file id of the given share token. Unlike normal rooms in which the owner is the user that created the room these are special rooms without owner (although self joined users with direct access to the file become persistent participants automatically when they join until they explicitly leave or no longer have access to the file). - * In any case, to create or even get the token of the room, the file must be publicly shared (like a link share, for example); an error is returned otherwise. - * Besides the token of the room this also returns the current user ID and display name, if any; this is needed by the Talk sidebar to know the actual current user, as the public share page uses the incognito mode and thus logged-in users as seen as guests. - */ - get: operations["files_integration-get-room-by-share-token"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/guest/{token}/name": { - /** Set the display name as a guest */ - post: operations["guest-set-display-name"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/bridge/{token}": { - /** Get bridge information of one room */ - get: operations["matterbridge-get-bridge-of-room"]; - /** Edit bridge information of one room */ - put: operations["matterbridge-edit-bridge-of-room"]; - /** Delete bridge of one room */ - delete: operations["matterbridge-delete-bridge-of-room"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/bridge/{token}/process": { - /** Get bridge process information */ - get: operations["matterbridge-get-bridge-process-state"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/poll/{token}": { - /** Create a poll */ - post: operations["poll-create-poll"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/poll/{token}/{pollId}": { - /** Get a poll */ - get: operations["poll-show-poll"]; - /** Vote on a poll */ - post: operations["poll-vote-poll"]; - /** Close a poll */ - delete: operations["poll-close-poll"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/publicshareauth": { - /** - * Creates a new room for video verification (requesting the password of a share) - * @description The new room is a public room associated with a "share:password" object with the ID of the share token. Unlike normal rooms in which the owner is the user that created the room these are special rooms always created by a guest or user on behalf of a registered user, the sharer, who will be the owner of the room. - * The share must have "send password by Talk" enabled; an error is returned otherwise. - */ - post: operations["public_share_auth-create-room"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/reaction/{token}/{messageId}": { - /** Get a list of reactions for a message */ - get: operations["reaction-get-reactions"]; - /** Add a reaction to a message */ - post: operations["reaction-react"]; - /** Delete a reaction from a message */ - delete: operations["reaction-delete"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/recording/{token}": { - /** Start the recording */ - post: operations["recording-start"]; - /** Stop the recording */ - delete: operations["recording-stop"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/recording/{token}/notification": { - /** Dismiss the store call recording notification */ - delete: operations["recording-notification-dismiss"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/recording/{token}/share-chat": { - /** Share the recorded file to the chat */ - post: operations["recording-share-to-chat"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room": { - /** Get all currently existent rooms which the user has joined */ - get: operations["room-get-rooms"]; - /** Create a room with a user, a group or a circle */ - post: operations["room-create-room"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/listed-room": { - /** Get listed rooms with optional search term */ - get: operations["room-get-listed-rooms"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/note-to-self": { - /** - * Get the "Note to self" conversation for the user - * @description It will be automatically created when it is currently missing - */ - get: operations["room-get-note-to-self-conversation"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}": { - /** Get a room */ - get: operations["room-get-single-room"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/breakout-rooms": { - /** - * Get breakout rooms - * @description All for moderators and in case of "free selection", or the assigned breakout room for other participants - */ - get: operations["room-get-breakout-rooms"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/public": { - /** Allowed guests to join conversation */ - post: operations["room-make-public"]; - /** Disallowed guests to join conversation */ - delete: operations["room-make-private"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/description": { - /** Update the description of a room */ - put: operations["room-set-description"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/read-only": { - /** Set read-only state of a room */ - put: operations["room-set-read-only"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/listable": { - /** Make a room listable */ - put: operations["room-set-listable"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/password": { - /** Set a password for a room */ - put: operations["room-set-password"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/permissions/{mode}": { - /** Update the permissions of a room */ - put: operations["room-set-permissions"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/participants": { - /** Get a list of participants for a room */ - get: operations["room-get-participants"]; - /** Add a participant to a room */ - post: operations["room-add-participant-to-room"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/breakout-rooms/participants": { - /** Get the breakout room participants for a room */ - get: operations["room-get-breakout-room-participants"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/participants/self": { - /** Remove the current user from a room */ - delete: operations["room-remove-self-from-room"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/attendees": { - /** Remove an attendee from a room */ - delete: operations["room-remove-attendee-from-room"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/attendees/permissions": { - /** Update the permissions of an attendee */ - put: operations["room-set-attendee-permissions"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/attendees/permissions/all": { - /** Update the permissions of all attendees */ - put: operations["room-set-all-attendees-permissions"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/participants/active": { - /** Join a room */ - post: operations["room-join-room"]; - /** Leave a room */ - delete: operations["room-leave-room"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/participants/resend-invitations": { - /** Resend invitations */ - post: operations["room-resend-invitations"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/participants/state": { - /** Set active state for a session */ - put: operations["room-set-session-state"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/moderators": { - /** Promote an attendee to moderator */ - post: operations["room-promote-moderator"]; - /** Demote an attendee from moderator */ - delete: operations["room-demote-moderator"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/favorite": { - /** Add a room to the favorites */ - post: operations["room-add-to-favorites"]; - /** Remove a room from the favorites */ - delete: operations["room-remove-from-favorites"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/notify": { - /** Update the notification level for a room */ - post: operations["room-set-notification-level"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/notify-calls": { - /** Update call notifications */ - post: operations["room-set-notification-calls"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/webinar/lobby": { - /** Update the lobby state for a room */ - put: operations["room-set-lobby"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/webinar/sip": { - /** Update SIP enabled state */ - put: operations["room-setsip-enabled"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/recording-consent": { - /** Set recording consent requirement for this conversation */ - put: operations["room-set-recording-consent"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/message-expiration": { - /** Update message expiration time */ - post: operations["room-set-message-expiration"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/capabilities": { - /** - * Get capabilities for a room - * @description See "Capability handling in federated conversations" in https://github.com/nextcloud/spreed/issues/10680 to learn which capabilities should be considered from the local server or from the remote server. - */ - get: operations["room-get-capabilities"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/settings/user": { - /** Update user setting */ - post: operations["settings-set-user-setting"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/signaling/settings": { - /** Get the signaling settings */ - get: operations["signaling-get-settings"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/signaling/{token}": { - /** Get signaling messages */ - get: operations["signaling-pull-messages"]; - /** Send signaling messages */ - post: operations["signaling-send-messages"]; - }; - "/ocs/v2.php/apps/spreed/temp-user-avatar": { - /** Upload your avatar as a user */ - post: operations["temp_avatar-post-avatar"]; - /** Delete your avatar as a user */ - delete: operations["temp_avatar-delete-avatar"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/proxy/new/user-avatar/{size}": { - /** Get the avatar of a cloudId user when inviting users while creating a conversation */ - get: operations["avatar-get-user-proxy-avatar-without-room"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/proxy/new/user-avatar/{size}/dark": { - /** Get the dark mode avatar of a cloudId user when inviting users while creating a conversation */ - get: operations["avatar-get-user-proxy-avatar-dark-without-room"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/proxy/{token}/user-avatar/{size}": { - /** Get the avatar of a cloudId user */ - get: operations["avatar-get-user-proxy-avatar"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/proxy/{token}/user-avatar/{size}/dark": { - /** Get the dark mode avatar of a cloudId user */ - get: operations["avatar-get-user-proxy-avatar-dark"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/federation/invitation/{id}": { - /** - * Accept a federation invites - * @description 🚧 Draft: Still work in progress - */ - post: operations["federation-accept-share"]; - /** - * Decline a federation invites - * @description 🚧 Draft: Still work in progress - */ - delete: operations["federation-reject-share"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/federation/invitation": { - /** - * Get a list of federation invites - * @description 🚧 Draft: Still work in progress - */ - get: operations["federation-get-shares"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/federation/active": { - /** Fake join a room on the host server to verify the federated user is still part of it */ - post: operations["room-join-federated-room"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/bot/{token}/message": { - /** - * Sends a new chat message to the given room - * @description The author and timestamp are automatically set to the current user/guest and time. - */ - post: operations["bot-send-message"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/bot/{token}/reaction/{messageId}": { - /** Adds a reaction to a chat message */ - post: operations["bot-react"]; - /** Deletes a reaction from a chat message */ - delete: operations["bot-delete-reaction"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/bot/admin": { - /** - * List admin bots - * @description This endpoint requires admin access - */ - get: operations["bot-admin-list-bots"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/certificate/expiration": { - /** - * Get the certificate expiration for a host - * @description This endpoint requires admin access - */ - get: operations["certificate-get-certificate-expiration"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/hostedsignalingserver/requesttrial": { - /** - * Request a trial account - * @description This endpoint requires admin access - */ - post: operations["hosted_signaling_server-request-trial"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/hostedsignalingserver/delete": { - /** - * Delete the account - * @description This endpoint requires admin access - */ - delete: operations["hosted_signaling_server-delete-account"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/bridge": { - /** - * Stop all bridges - * @description This endpoint requires admin access - */ - delete: operations["matterbridge_settings-stop-all-bridges"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/bridge/version": { - /** - * Get Matterbridge version - * @description This endpoint requires admin access - */ - get: operations["matterbridge_settings-get-matterbridge-version"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/recording/welcome/{serverId}": { - /** - * Get the welcome message of a recording server - * @description This endpoint requires admin access - */ - get: operations["recording-get-welcome-message"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/settings/sip": { - /** - * Update SIP bridge settings - * @description This endpoint requires admin access - */ - post: operations["settings-setsip-settings"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/signaling/welcome/{serverId}": { - /** - * Get the welcome message from a signaling server - * @description Only available for logged-in users because guests can not use the apps right now. - * This endpoint requires admin access - */ - get: operations["signaling-get-welcome-message"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/recording/backend": { - /** Update the recording status as a backend */ - post: operations["recording-backend"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/recording/{token}/store": { - /** Store the recording */ - post: operations["recording-store"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/pin/{pin}": { - /** Verify a dial-in PIN (SIP bridge) */ - get: operations["room-verify-dial-in-pin-deprecated"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/verify-dialin": { - /** Verify a dial-in PIN (SIP bridge) */ - post: operations["room-verify-dial-in-pin"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/verify-dialout": { - /** Verify a dial-out number (SIP bridge) */ - post: operations["room-verify-dial-out-number"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/open-dial-in": { - /** Create a guest by their dial-in */ - post: operations["room-create-guest-by-dial-in"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/rejected-dialout": { - /** Reset call ID of a dial-out participant when the SIP gateway rejected it */ - delete: operations["room-rejected-dial-out-request"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/signaling/backend": { - /** - * Backend API to query information required for standalone signaling servers - * @description See sections "Backend validation" in https://nextcloud-spreed-signaling.readthedocs.io/en/latest/standalone-signaling-api-v1/#backend-requests - */ - post: operations["signaling-backend"]; - }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/avatar": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get the avatar of a room */ + get: operations["avatar-get-avatar"]; + put?: never; + /** Upload an avatar for a room */ + post: operations["avatar-upload-avatar"]; + /** Delete the avatar of a room */ + delete: operations["avatar-delete-avatar"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/avatar/emoji": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Set an emoji as avatar */ + post: operations["avatar-emoji-avatar"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/avatar/dark": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get the dark mode avatar of a room */ + get: operations["avatar-get-avatar-dark"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/ban/{token}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List the bans of a conversation + * @description Required capability: `ban-v1` + */ + get: operations["ban-list-bans"]; + put?: never; + /** + * Ban an actor or IP address + * @description Required capability: `ban-v1` + */ + post: operations["ban-ban-actor"]; + /** + * Unban an actor or IP address + * @description Required capability: `ban-v1` + */ + delete: operations["ban-unban-actor"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/bot/{token}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List bots */ + get: operations["bot-list-bots"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/bot/{token}/{botId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Enables a bot */ + post: operations["bot-enable-bot"]; + /** Disables a bot */ + delete: operations["bot-disable-bot"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/breakout-rooms/{token}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Configure the breakout rooms */ + post: operations["breakout_room-configure-breakout-rooms"]; + /** Remove the breakout rooms */ + delete: operations["breakout_room-remove-breakout-rooms"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/breakout-rooms/{token}/broadcast": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Broadcast a chat message to all breakout rooms */ + post: operations["breakout_room-broadcast-chat-message"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/breakout-rooms/{token}/attendees": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Apply an attendee map to the breakout rooms */ + post: operations["breakout_room-apply-attendee-map"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/breakout-rooms/{token}/request-assistance": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Request assistance */ + post: operations["breakout_room-request-assistance"]; + /** Reset the request for assistance */ + delete: operations["breakout_room-reset-request-for-assistance"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/breakout-rooms/{token}/rooms": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Start the breakout rooms */ + post: operations["breakout_room-start-breakout-rooms"]; + /** Stop the breakout rooms */ + delete: operations["breakout_room-stop-breakout-rooms"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/breakout-rooms/{token}/switch": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Switch to another breakout room */ + post: operations["breakout_room-switch-breakout-room"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/call/{token}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get the peers for a call */ + get: operations["call-get-peers-for-call"]; + /** Update the in-call flags */ + put: operations["call-update-call-flags"]; + /** Join a call */ + post: operations["call-join-call"]; + /** Leave a call */ + delete: operations["call-leave-call"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/call/{token}/ring/{attendeeId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Ring an attendee */ + post: operations["call-ring-attendee"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/call/{token}/dialout/{attendeeId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Call a SIP dial-out attendee */ + post: operations["call-sip-dial-out"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/chat/{token}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Receives chat messages from the given room + * @description - Receiving the history ($lookIntoFuture=0): The next $limit messages after $lastKnownMessageId will be returned. The new $lastKnownMessageId for the follow up query is available as `X-Chat-Last-Given` header. + * - Looking into the future ($lookIntoFuture=1): If there are currently no messages the response will not be sent immediately. Instead, HTTP connection will be kept open waiting for new messages to arrive and, when they do, then the response will be sent. The connection will not be kept open indefinitely, though; the number of seconds to wait for new messages to arrive can be set using the timeout parameter; the default timeout is 30 seconds, maximum timeout is 60 seconds. If the timeout ends a successful but empty response will be sent. If messages have been returned (status=200) the new $lastKnownMessageId for the follow up query is available as `X-Chat-Last-Given` header. + * The limit specifies the maximum number of messages that will be returned, although the actual number of returned messages could be lower if some messages are not visible to the participant. Note that if none of the messages are visible to the participant the returned number of messages will be 0, yet the status will still be 200. Also note that `X-Chat-Last-Given` may reference a message not visible and thus not returned, but it should be used nevertheless as the $lastKnownMessageId for the follow-up query. + */ + get: operations["chat-receive-messages"]; + put?: never; + /** + * Sends a new chat message to the given room + * @description The author and timestamp are automatically set to the current user/guest and time. + */ + post: operations["chat-send-message"]; + /** Clear the chat history */ + delete: operations["chat-clear-history"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/chat/{token}/{messageId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** Edit a chat message */ + put: operations["chat-edit-message"]; + post?: never; + /** Delete a chat message */ + delete: operations["chat-delete-message"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/chat/{token}/{messageId}/context": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get the context of a message */ + get: operations["chat-get-message-context"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/chat/{token}/{messageId}/reminder": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get the reminder for a chat message */ + get: operations["chat-get-reminder"]; + put?: never; + /** Set a reminder for a chat message */ + post: operations["chat-set-reminder"]; + /** Delete a chat reminder */ + delete: operations["chat-delete-reminder"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/chat/{token}/read": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Set the read marker to a specific message */ + post: operations["chat-set-read-marker"]; + /** Mark a chat as unread */ + delete: operations["chat-mark-unread"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/chat/{token}/mentions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Search for mentions */ + get: operations["chat-mentions"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/chat/{token}/share": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get objects that are shared in the room */ + get: operations["chat-get-objects-shared-in-room"]; + put?: never; + /** + * Sends a rich-object to the given room + * @description The author and timestamp are automatically set to the current user/guest and time. + */ + post: operations["chat-share-object-to-chat"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/chat/{token}/share/overview": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get objects that are shared in the room overview */ + get: operations["chat-get-objects-shared-in-room-overview"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/file/{fileId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the token of the room associated to the given file id + * @description This is the counterpart of self::getRoomByShareToken() for file ids instead of share tokens, although both return the same room token if the given file id and share token refer to the same file. + * If there is no room associated to the given file id a new room is created; the new room is a public room associated with a "file" object with the given file id. Unlike normal rooms in which the owner is the user that created the room these are special rooms without owner (although self joined users with direct access to the file become persistent participants automatically when they join until they explicitly leave or no longer have access to the file). + * In any case, to create or even get the token of the room, the file must be shared and the user must be the owner of a public share of the file (like a link share, for example) or have direct access to that file; an error is returned otherwise. A user has direct access to a file if she has access to it (or to an ancestor) through a user, group, circle or room share (but not through a link share, for example), or if she is the owner of such a file. + */ + get: operations["files_integration-get-room-by-file-id"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/publicshare/{shareToken}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Returns the token of the room associated to the file of the given share token + * @description This is the counterpart of self::getRoomByFileId() for share tokens instead of file ids, although both return the same room token if the given file id and share token refer to the same file. + * If there is no room associated to the file id of the given share token a new room is created; the new room is a public room associated with a "file" object with the file id of the given share token. Unlike normal rooms in which the owner is the user that created the room these are special rooms without owner (although self joined users with direct access to the file become persistent participants automatically when they join until they explicitly leave or no longer have access to the file). + * In any case, to create or even get the token of the room, the file must be publicly shared (like a link share, for example); an error is returned otherwise. + * Besides the token of the room this also returns the current user ID and display name, if any; this is needed by the Talk sidebar to know the actual current user, as the public share page uses the incognito mode and thus logged-in users as seen as guests. + */ + get: operations["files_integration-get-room-by-share-token"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/guest/{token}/name": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Set the display name as a guest */ + post: operations["guest-set-display-name"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/bridge/{token}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get bridge information of one room */ + get: operations["matterbridge-get-bridge-of-room"]; + /** Edit bridge information of one room */ + put: operations["matterbridge-edit-bridge-of-room"]; + post?: never; + /** Delete bridge of one room */ + delete: operations["matterbridge-delete-bridge-of-room"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/bridge/{token}/process": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get bridge process information */ + get: operations["matterbridge-get-bridge-process-state"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/poll/{token}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Create a poll */ + post: operations["poll-create-poll"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/poll/{token}/{pollId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get a poll */ + get: operations["poll-show-poll"]; + put?: never; + /** Vote on a poll */ + post: operations["poll-vote-poll"]; + /** Close a poll */ + delete: operations["poll-close-poll"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/publicshareauth": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Creates a new room for video verification (requesting the password of a share) + * @description The new room is a public room associated with a "share:password" object with the ID of the share token. Unlike normal rooms in which the owner is the user that created the room these are special rooms always created by a guest or user on behalf of a registered user, the sharer, who will be the owner of the room. + * The share must have "send password by Talk" enabled; an error is returned otherwise. + */ + post: operations["public_share_auth-create-room"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/reaction/{token}/{messageId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get a list of reactions for a message */ + get: operations["reaction-get-reactions"]; + put?: never; + /** Add a reaction to a message */ + post: operations["reaction-react"]; + /** Delete a reaction from a message */ + delete: operations["reaction-delete"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/recording/{token}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Start the recording */ + post: operations["recording-start"]; + /** Stop the recording */ + delete: operations["recording-stop"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/recording/{token}/notification": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** Dismiss the store call recording notification */ + delete: operations["recording-notification-dismiss"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/recording/{token}/share-chat": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Share the recorded file to the chat */ + post: operations["recording-share-to-chat"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get all currently existent rooms which the user has joined */ + get: operations["room-get-rooms"]; + put?: never; + /** Create a room with a user, a group or a circle */ + post: operations["room-create-room"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/listed-room": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get listed rooms with optional search term */ + get: operations["room-get-listed-rooms"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/note-to-self": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the "Note to self" conversation for the user + * @description It will be automatically created when it is currently missing + */ + get: operations["room-get-note-to-self-conversation"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get a room */ + get: operations["room-get-single-room"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/breakout-rooms": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get breakout rooms + * @description All for moderators and in case of "free selection", or the assigned breakout room for other participants + */ + get: operations["room-get-breakout-rooms"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/public": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Allowed guests to join conversation */ + post: operations["room-make-public"]; + /** Disallowed guests to join conversation */ + delete: operations["room-make-private"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/description": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** Update the description of a room */ + put: operations["room-set-description"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/read-only": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** Set read-only state of a room */ + put: operations["room-set-read-only"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/listable": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** Make a room listable */ + put: operations["room-set-listable"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/password": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** Set a password for a room */ + put: operations["room-set-password"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/permissions/{mode}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** Update the permissions of a room */ + put: operations["room-set-permissions"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/participants": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get a list of participants for a room */ + get: operations["room-get-participants"]; + put?: never; + /** Add a participant to a room */ + post: operations["room-add-participant-to-room"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/breakout-rooms/participants": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get the breakout room participants for a room */ + get: operations["room-get-breakout-room-participants"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/participants/self": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** Remove the current user from a room */ + delete: operations["room-remove-self-from-room"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/attendees": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** Remove an attendee from a room */ + delete: operations["room-remove-attendee-from-room"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/attendees/permissions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** Update the permissions of an attendee */ + put: operations["room-set-attendee-permissions"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/attendees/permissions/all": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** Update the permissions of all attendees */ + put: operations["room-set-all-attendees-permissions"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/participants/active": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Join a room */ + post: operations["room-join-room"]; + /** Leave a room */ + delete: operations["room-leave-room"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/participants/resend-invitations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Resend invitations */ + post: operations["room-resend-invitations"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/participants/state": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** Set active state for a session */ + put: operations["room-set-session-state"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/moderators": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Promote an attendee to moderator */ + post: operations["room-promote-moderator"]; + /** Demote an attendee from moderator */ + delete: operations["room-demote-moderator"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/favorite": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Add a room to the favorites */ + post: operations["room-add-to-favorites"]; + /** Remove a room from the favorites */ + delete: operations["room-remove-from-favorites"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/notify": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Update the notification level for a room */ + post: operations["room-set-notification-level"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/notify-calls": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Update call notifications */ + post: operations["room-set-notification-calls"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/webinar/lobby": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** Update the lobby state for a room */ + put: operations["room-set-lobby"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/webinar/sip": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** Update SIP enabled state */ + put: operations["room-setsip-enabled"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/recording-consent": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** Set recording consent requirement for this conversation */ + put: operations["room-set-recording-consent"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/message-expiration": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Update message expiration time */ + post: operations["room-set-message-expiration"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/capabilities": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get capabilities for a room + * @description See "Capability handling in federated conversations" in https://github.com/nextcloud/spreed/issues/10680 to learn which capabilities should be considered from the local server or from the remote server. + */ + get: operations["room-get-capabilities"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/settings/user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Update user setting */ + post: operations["settings-set-user-setting"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/signaling/settings": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get the signaling settings */ + get: operations["signaling-get-settings"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/signaling/{token}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get signaling messages */ + get: operations["signaling-pull-messages"]; + put?: never; + /** Send signaling messages */ + post: operations["signaling-send-messages"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/temp-user-avatar": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Upload your avatar as a user */ + post: operations["temp_avatar-post-avatar"]; + /** Delete your avatar as a user */ + delete: operations["temp_avatar-delete-avatar"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/proxy/new/user-avatar/{size}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get the avatar of a cloudId user when inviting users while creating a conversation */ + get: operations["avatar-get-user-proxy-avatar-without-room"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/proxy/new/user-avatar/{size}/dark": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get the dark mode avatar of a cloudId user when inviting users while creating a conversation */ + get: operations["avatar-get-user-proxy-avatar-dark-without-room"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/proxy/{token}/user-avatar/{size}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get the avatar of a cloudId user */ + get: operations["avatar-get-user-proxy-avatar"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/proxy/{token}/user-avatar/{size}/dark": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get the dark mode avatar of a cloudId user */ + get: operations["avatar-get-user-proxy-avatar-dark"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/federation/invitation/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Accept a federation invites + * @description 🚧 Draft: Still work in progress + */ + post: operations["federation-accept-share"]; + /** + * Decline a federation invites + * @description 🚧 Draft: Still work in progress + */ + delete: operations["federation-reject-share"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/federation/invitation": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a list of federation invites + * @description 🚧 Draft: Still work in progress + */ + get: operations["federation-get-shares"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/federation/active": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Fake join a room on the host server to verify the federated user is still part of it */ + post: operations["room-join-federated-room"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/bot/{token}/message": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Sends a new chat message to the given room + * @description The author and timestamp are automatically set to the current user/guest and time. + */ + post: operations["bot-send-message"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/bot/{token}/reaction/{messageId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Adds a reaction to a chat message */ + post: operations["bot-react"]; + /** Deletes a reaction from a chat message */ + delete: operations["bot-delete-reaction"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/bot/admin": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List admin bots + * @description This endpoint requires admin access + */ + get: operations["bot-admin-list-bots"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/certificate/expiration": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the certificate expiration for a host + * @description This endpoint requires admin access + */ + get: operations["certificate-get-certificate-expiration"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/hostedsignalingserver/requesttrial": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Request a trial account + * @description This endpoint requires admin access + */ + post: operations["hosted_signaling_server-request-trial"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/hostedsignalingserver/delete": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * Delete the account + * @description This endpoint requires admin access + */ + delete: operations["hosted_signaling_server-delete-account"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/bridge": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * Stop all bridges + * @description This endpoint requires admin access + */ + delete: operations["matterbridge_settings-stop-all-bridges"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/bridge/version": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Matterbridge version + * @description This endpoint requires admin access + */ + get: operations["matterbridge_settings-get-matterbridge-version"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/recording/welcome/{serverId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the welcome message of a recording server + * @description This endpoint requires admin access + */ + get: operations["recording-get-welcome-message"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/settings/sip": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Update SIP bridge settings + * @description This endpoint requires admin access + */ + post: operations["settings-setsip-settings"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/signaling/welcome/{serverId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the welcome message from a signaling server + * @description Only available for logged-in users because guests can not use the apps right now. + * This endpoint requires admin access + */ + get: operations["signaling-get-welcome-message"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/recording/backend": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Update the recording status as a backend */ + post: operations["recording-backend"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/recording/{token}/store": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Store the recording */ + post: operations["recording-store"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/pin/{pin}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Verify a dial-in PIN (SIP bridge) */ + get: operations["room-verify-dial-in-pin-deprecated"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/verify-dialin": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Verify a dial-in PIN (SIP bridge) */ + post: operations["room-verify-dial-in-pin"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/verify-dialout": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Verify a dial-out number (SIP bridge) */ + post: operations["room-verify-dial-out-number"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/open-dial-in": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Create a guest by their dial-in */ + post: operations["room-create-guest-by-dial-in"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/rejected-dialout": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** Reset call ID of a dial-out participant when the SIP gateway rejected it */ + delete: operations["room-rejected-dial-out-request"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/signaling/backend": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Backend API to query information required for standalone signaling servers + * @description See sections "Backend validation" in https://nextcloud-spreed-signaling.readthedocs.io/en/latest/standalone-signaling-api-v1/#backend-requests + */ + post: operations["signaling-backend"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; }; - export type webhooks = Record; - export type components = { - schemas: { - Ban: { - /** Format: int64 */ - id: number; - actorType: string; - actorId: string; - bannedType: string; - bannedId: string; - /** Format: int64 */ - bannedTime: number; - internalNote: string; - }; - BaseMessage: { - actorDisplayName: string; - actorId: string; - actorType: string; - /** Format: int64 */ - expirationTimestamp: number; - message: string; - messageParameters: { - [key: string]: components["schemas"]["RichObjectParameter"]; - }; - messageType: string; - systemMessage: string; - }; - Bot: { - description: string | null; - /** Format: int64 */ - id: number; - name: string; - /** Format: int64 */ - state: number; - }; - BotWithDetails: components["schemas"]["Bot"] & { - /** Format: int64 */ - error_count: number; - /** Format: int64 */ - features: number; - /** Format: int64 */ - last_error_date: number; - last_error_message: string; - url: string; - url_hash: string; - }; - BotWithDetailsAndSecret: components["schemas"]["BotWithDetails"] & { - secret: string; - }; - CallPeer: { - actorId: string; - actorType: string; - displayName: string; - /** Format: int64 */ - lastPing: number; - sessionId: string; - token: string; - }; - Capabilities: { - features: string[]; - "features-local": string[]; - config: { - attachments: { - allowed: boolean; - folder?: string; - }; - call: { - enabled: boolean; - "breakout-rooms": boolean; - recording: boolean; - /** Format: int64 */ - "recording-consent": number; - "supported-reactions": string[]; - "predefined-backgrounds": string[]; - "can-upload-background": boolean; - "sip-enabled": boolean; - "sip-dialout-enabled": boolean; - "can-enable-sip": boolean; - }; - chat: { - /** Format: int64 */ - "max-length": number; - /** Format: int64 */ - "read-privacy": number; - "has-translation-providers": boolean; - /** Format: int64 */ - "typing-privacy": number; - }; - conversations: { - "can-create": boolean; - }; - federation: { - enabled: boolean; - "incoming-enabled": boolean; - "outgoing-enabled": boolean; - "only-trusted-servers": boolean; - }; - previews: { - /** Format: int64 */ - "max-gif-size": number; - }; - signaling: { - /** Format: int64 */ - "session-ping-limit": number; - "hello-v2-token-key"?: string; - }; - }; - "config-local": { - [key: string]: string[]; - }; - version: string; - }; - ChatMentionSuggestion: { - id: string; - label: string; - source: string; - mentionId: string; - status: string | null; - /** Format: int64 */ - statusClearAt: number | null; - statusIcon: string | null; - statusMessage: string | null; - }; - ChatMessage: components["schemas"]["BaseMessage"] & { - /** @enum {boolean} */ - deleted?: true; - /** Format: int64 */ - id: number; - isReplyable: boolean; - markdown: boolean; - reactions: { - [key: string]: number; - }; - reactionsSelf?: string[]; - referenceId: string; - /** Format: int64 */ - timestamp: number; - token: string; - lastEditActorDisplayName?: string; - lastEditActorId?: string; - lastEditActorType?: string; - /** Format: int64 */ - lastEditTimestamp?: number; - silent?: boolean; - }; - ChatMessageWithParent: components["schemas"]["ChatMessage"] & { - parent?: components["schemas"]["ChatMessage"]; - }; - ChatProxyMessage: components["schemas"]["BaseMessage"]; - ChatReminder: { - /** Format: int64 */ - messageId: number; - /** Format: int64 */ - timestamp: number; - token: string; - userId: string; - }; - FederationInvite: { - /** Format: int64 */ - id: number; - /** Format: int64 */ - state: number; - localCloudId: string; - localToken: string; - /** Format: int64 */ - remoteAttendeeId: number; - remoteServerUrl: string; - remoteToken: string; - roomName: string; - userId: string; - inviterCloudId: string; - inviterDisplayName: string; - }; - Matterbridge: { - enabled: boolean; - parts: components["schemas"]["MatterbridgeConfigFields"]; - /** Format: int64 */ - pid: number; - }; - MatterbridgeConfigFields: { - [key: string]: Record; - }[]; - MatterbridgeProcessState: { - log: string; - running: boolean; - }; - MatterbridgeWithProcessState: components["schemas"]["Matterbridge"] & components["schemas"]["MatterbridgeProcessState"]; - OCSMeta: { - status: string; - statuscode: number; - message?: string; - totalitems?: string; - itemsperpage?: string; - }; - Participant: { - actorId: string; - actorType: string; - /** Format: int64 */ - attendeeId: number; - /** Format: int64 */ - attendeePermissions: number; - attendeePin: string; - displayName: string; - /** Format: int64 */ - inCall: number; - /** Format: int64 */ - lastPing: number; - /** Format: int64 */ - participantType: number; - /** Format: int64 */ - permissions: number; - roomToken: string; - sessionIds: string[]; - status?: string; - /** Format: int64 */ - statusClearAt?: number | null; - statusIcon?: string | null; - statusMessage?: string | null; - phoneNumber?: string | null; - callId?: string | null; - }; - Poll: { - actorDisplayName: string; - actorId: string; - actorType: string; - details?: components["schemas"]["PollVote"][]; - /** Format: int64 */ - id: number; - /** Format: int64 */ - maxVotes: number; - /** Format: int64 */ - numVoters?: number; - options: string[]; - question: string; - /** Format: int64 */ - resultMode: number; - /** Format: int64 */ - status: number; - votedSelf?: number[]; - votes?: { - [key: string]: number; - }; - }; - PollVote: { - actorDisplayName: string; - actorId: string; - actorType: string; - /** Format: int64 */ - optionId: number; - }; - PublicCapabilities: OneOf<[{ - spreed: components["schemas"]["Capabilities"]; - }, unknown[]]>; - Reaction: { - actorDisplayName: string; - actorId: string; - actorType: string; - /** Format: int64 */ - timestamp: number; - }; - RichObjectParameter: { - type: string; - id: string; - name: string; - server?: string; - link?: string; - /** @enum {string} */ - "call-type"?: "one2one" | "group" | "public"; - "icon-url"?: string; - "message-id"?: string; - boardname?: string; - stackname?: string; - size?: string; - path?: string; - mimetype?: string; - /** @enum {string} */ - "preview-available"?: "yes" | "no"; - mtime?: string; - latitude?: string; - longitude?: string; - description?: string; - thumb?: string; - website?: string; - /** @enum {string} */ - visibility?: "0" | "1"; - /** @enum {string} */ - assignable?: "0" | "1"; - conversation?: string; - etag?: string; - permissions?: string; - width?: string; - height?: string; - }; - Room: { - actorId: string; - actorType: string; - /** Format: int64 */ - attendeeId: number; - /** Format: int64 */ - attendeePermissions: number; - attendeePin: string | null; - avatarVersion: string; - /** Format: int64 */ - breakoutRoomMode: number; - /** Format: int64 */ - breakoutRoomStatus: number; - /** Format: int64 */ - callFlag: number; - /** Format: int64 */ - callPermissions: number; - /** Format: int64 */ - callRecording: number; - /** Format: int64 */ - callStartTime: number; - canDeleteConversation: boolean; - canEnableSIP: boolean; - canLeaveConversation: boolean; - canStartCall: boolean; - /** Format: int64 */ - defaultPermissions: number; - description: string; - displayName: string; - hasCall: boolean; - hasPassword: boolean; - /** Format: int64 */ - id: number; - isCustomAvatar: boolean; - isFavorite: boolean; - /** Format: int64 */ - lastActivity: number; - /** Format: int64 */ - lastCommonReadMessage: number; - lastMessage: components["schemas"]["RoomLastMessage"] | unknown[]; - /** Format: int64 */ - lastPing: number; - /** Format: int64 */ - lastReadMessage: number; - /** Format: int64 */ - listable: number; - /** Format: int64 */ - lobbyState: number; - /** Format: int64 */ - lobbyTimer: number; - /** Format: int64 */ - messageExpiration: number; - name: string; - /** Format: int64 */ - notificationCalls: number; - /** Format: int64 */ - notificationLevel: number; - objectId: string; - objectType: string; - /** Format: int64 */ - participantFlags: number; - /** Format: int64 */ - participantType: number; - /** Format: int64 */ - permissions: number; - /** Format: int64 */ - readOnly: number; - /** Format: int64 */ - recordingConsent: number; - sessionId: string; - /** Format: int64 */ - sipEnabled: number; - status?: string; - /** Format: int64 */ - statusClearAt?: number | null; - statusIcon?: string | null; - statusMessage?: string | null; - token: string; - /** Format: int64 */ - type: number; - unreadMention: boolean; - unreadMentionDirect: boolean; - /** Format: int64 */ - unreadMessages: number; - }; - RoomLastMessage: components["schemas"]["ChatMessage"] | components["schemas"]["ChatProxyMessage"]; - SignalingSession: { - /** Format: int64 */ - inCall: number; - /** Format: int64 */ - lastPing: number; - /** Format: int64 */ - participantPermissions: number; - /** Format: int64 */ - roomId: number; - sessionId: string; - userId: string; - }; - SignalingSettings: { - helloAuthParams: { - "1.0": { - userid: string | null; - ticket: string; - }; - "2.0": { - token: string; - }; - }; - hideWarning: boolean; - server: string; - signalingMode: string; - sipDialinInfo: string; - stunservers: { - urls: string[]; - }[]; - ticket: string; - turnservers: { - urls: string[]; - username: string; - credential: Record; + schemas: { + Ban: { + /** Format: int64 */ + id: number; + actorType: string; + actorId: string; + bannedType: string; + bannedId: string; + /** Format: int64 */ + bannedTime: number; + internalNote: string; + }; + BaseMessage: { + actorDisplayName: string; + actorId: string; + actorType: string; + /** Format: int64 */ + expirationTimestamp: number; + message: string; + messageParameters: { + [key: string]: components["schemas"]["RichObjectParameter"] | undefined; + }; + messageType: string; + systemMessage: string; + }; + Bot: { + description: string | null; + /** Format: int64 */ + id: number; + name: string; + /** Format: int64 */ + state: number; + }; + BotWithDetails: components["schemas"]["Bot"] & { + /** Format: int64 */ + error_count: number; + /** Format: int64 */ + features: number; + /** Format: int64 */ + last_error_date: number; + last_error_message: string; + url: string; + url_hash: string; + }; + BotWithDetailsAndSecret: components["schemas"]["BotWithDetails"] & { + secret: string; + }; + CallPeer: { + actorId: string; + actorType: string; + displayName: string; + /** Format: int64 */ + lastPing: number; + sessionId: string; + token: string; + }; + Capabilities: { + features: string[]; + "features-local": string[]; + config: { + attachments: { + allowed: boolean; + folder?: string; + }; + call: { + enabled: boolean; + "breakout-rooms": boolean; + recording: boolean; + /** Format: int64 */ + "recording-consent": number; + "supported-reactions": string[]; + "predefined-backgrounds": string[]; + "can-upload-background": boolean; + "sip-enabled": boolean; + "sip-dialout-enabled": boolean; + "can-enable-sip": boolean; + }; + chat: { + /** Format: int64 */ + "max-length": number; + /** Format: int64 */ + "read-privacy": number; + "has-translation-providers": boolean; + /** Format: int64 */ + "typing-privacy": number; + }; + conversations: { + "can-create": boolean; + }; + federation: { + enabled: boolean; + "incoming-enabled": boolean; + "outgoing-enabled": boolean; + "only-trusted-servers": boolean; + }; + previews: { + /** Format: int64 */ + "max-gif-size": number; + }; + signaling: { + /** Format: int64 */ + "session-ping-limit": number; + "hello-v2-token-key"?: string; + }; + }; + "config-local": { + [key: string]: string[] | undefined; + }; + version: string; + }; + ChatMentionSuggestion: { + id: string; + label: string; + source: string; + mentionId: string; + status: string | null; + /** Format: int64 */ + statusClearAt: number | null; + statusIcon: string | null; + statusMessage: string | null; + }; + ChatMessage: components["schemas"]["BaseMessage"] & { + /** @enum {boolean} */ + deleted?: true; + /** Format: int64 */ + id: number; + isReplyable: boolean; + markdown: boolean; + reactions: { + [key: string]: number | undefined; + }; + reactionsSelf?: string[]; + referenceId: string; + /** Format: int64 */ + timestamp: number; + token: string; + lastEditActorDisplayName?: string; + lastEditActorId?: string; + lastEditActorType?: string; + /** Format: int64 */ + lastEditTimestamp?: number; + silent?: boolean; + }; + ChatMessageWithParent: components["schemas"]["ChatMessage"] & { + parent?: components["schemas"]["ChatMessage"]; + }; + ChatProxyMessage: components["schemas"]["BaseMessage"]; + ChatReminder: { + /** Format: int64 */ + messageId: number; + /** Format: int64 */ + timestamp: number; + token: string; + userId: string; + }; + FederationInvite: { + /** Format: int64 */ + id: number; + /** Format: int64 */ + state: number; + localCloudId: string; + localToken: string; + /** Format: int64 */ + remoteAttendeeId: number; + remoteServerUrl: string; + remoteToken: string; + roomName: string; + userId: string; + inviterCloudId: string; + inviterDisplayName: string; + }; + Matterbridge: { + enabled: boolean; + parts: components["schemas"]["MatterbridgeConfigFields"]; + /** Format: int64 */ + pid: number; + }; + MatterbridgeConfigFields: { + [key: string]: Record | undefined; }[]; - userId: string | null; - }; - }; - responses: never; - parameters: never; - requestBodies: never; - headers: never; - pathItems: never; + MatterbridgeProcessState: { + log: string; + running: boolean; + }; + MatterbridgeWithProcessState: components["schemas"]["Matterbridge"] & components["schemas"]["MatterbridgeProcessState"]; + OCSMeta: { + status: string; + statuscode: number; + message?: string; + totalitems?: string; + itemsperpage?: string; + }; + Participant: { + actorId: string; + actorType: string; + /** Format: int64 */ + attendeeId: number; + /** Format: int64 */ + attendeePermissions: number; + attendeePin: string; + displayName: string; + /** Format: int64 */ + inCall: number; + /** Format: int64 */ + lastPing: number; + /** Format: int64 */ + participantType: number; + /** Format: int64 */ + permissions: number; + roomToken: string; + sessionIds: string[]; + status?: string; + /** Format: int64 */ + statusClearAt?: number | null; + statusIcon?: string | null; + statusMessage?: string | null; + phoneNumber?: string | null; + callId?: string | null; + }; + Poll: { + actorDisplayName: string; + actorId: string; + actorType: string; + details?: components["schemas"]["PollVote"][]; + /** Format: int64 */ + id: number; + /** Format: int64 */ + maxVotes: number; + /** Format: int64 */ + numVoters?: number; + options: string[]; + question: string; + /** Format: int64 */ + resultMode: number; + /** Format: int64 */ + status: number; + votedSelf?: number[]; + votes?: { + [key: string]: number | undefined; + }; + }; + PollVote: { + actorDisplayName: string; + actorId: string; + actorType: string; + /** Format: int64 */ + optionId: number; + }; + PublicCapabilities: { + spreed: components["schemas"]["Capabilities"]; + } | unknown[]; + Reaction: { + actorDisplayName: string; + actorId: string; + actorType: string; + /** Format: int64 */ + timestamp: number; + }; + RichObjectParameter: { + type: string; + id: string; + name: string; + server?: string; + link?: string; + /** @enum {string} */ + "call-type"?: "one2one" | "group" | "public"; + "icon-url"?: string; + "message-id"?: string; + boardname?: string; + stackname?: string; + size?: string; + path?: string; + mimetype?: string; + /** @enum {string} */ + "preview-available"?: "yes" | "no"; + mtime?: string; + latitude?: string; + longitude?: string; + description?: string; + thumb?: string; + website?: string; + /** @enum {string} */ + visibility?: "0" | "1"; + /** @enum {string} */ + assignable?: "0" | "1"; + conversation?: string; + etag?: string; + permissions?: string; + width?: string; + height?: string; + }; + Room: { + actorId: string; + actorType: string; + /** Format: int64 */ + attendeeId: number; + /** Format: int64 */ + attendeePermissions: number; + attendeePin: string | null; + avatarVersion: string; + /** Format: int64 */ + breakoutRoomMode: number; + /** Format: int64 */ + breakoutRoomStatus: number; + /** Format: int64 */ + callFlag: number; + /** Format: int64 */ + callPermissions: number; + /** Format: int64 */ + callRecording: number; + /** Format: int64 */ + callStartTime: number; + canDeleteConversation: boolean; + canEnableSIP: boolean; + canLeaveConversation: boolean; + canStartCall: boolean; + /** Format: int64 */ + defaultPermissions: number; + description: string; + displayName: string; + hasCall: boolean; + hasPassword: boolean; + /** Format: int64 */ + id: number; + isCustomAvatar: boolean; + isFavorite: boolean; + /** Format: int64 */ + lastActivity: number; + /** Format: int64 */ + lastCommonReadMessage: number; + lastMessage: components["schemas"]["RoomLastMessage"] | unknown[]; + /** Format: int64 */ + lastPing: number; + /** Format: int64 */ + lastReadMessage: number; + /** Format: int64 */ + listable: number; + /** Format: int64 */ + lobbyState: number; + /** Format: int64 */ + lobbyTimer: number; + /** Format: int64 */ + messageExpiration: number; + name: string; + /** Format: int64 */ + notificationCalls: number; + /** Format: int64 */ + notificationLevel: number; + objectId: string; + objectType: string; + /** Format: int64 */ + participantFlags: number; + /** Format: int64 */ + participantType: number; + /** Format: int64 */ + permissions: number; + /** Format: int64 */ + readOnly: number; + /** Format: int64 */ + recordingConsent: number; + sessionId: string; + /** Format: int64 */ + sipEnabled: number; + status?: string; + /** Format: int64 */ + statusClearAt?: number | null; + statusIcon?: string | null; + statusMessage?: string | null; + token: string; + /** Format: int64 */ + type: number; + unreadMention: boolean; + unreadMentionDirect: boolean; + /** Format: int64 */ + unreadMessages: number; + }; + RoomLastMessage: components["schemas"]["ChatMessage"] | components["schemas"]["ChatProxyMessage"]; + SignalingSession: { + /** Format: int64 */ + inCall: number; + /** Format: int64 */ + lastPing: number; + /** Format: int64 */ + participantPermissions: number; + /** Format: int64 */ + roomId: number; + sessionId: string; + userId: string; + }; + SignalingSettings: { + helloAuthParams: { + "1.0": { + userid: string | null; + ticket: string; + }; + "2.0": { + token: string; + }; + }; + hideWarning: boolean; + server: string; + signalingMode: string; + sipDialinInfo: string; + stunservers: { + urls: string[]; + }[]; + ticket: string; + turnservers: { + urls: string[]; + username: string; + credential: Record; + }[]; + userId: string | null; + }; + }; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; }; - export type $defs = Record; - -export type external = Record; - -export type operations = { - - /** Get the avatar of a room */ - "avatar-get-avatar": { - parameters: { - query?: { - /** @description Theme used for background */ - darkTheme?: 0 | 1; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Room avatar returned */ - 200: { - content: { - "*/*": string; - }; - }; - }; - }; - /** Upload an avatar for a room */ - "avatar-upload-avatar": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Avatar uploaded successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"]; - }; - }; - }; - }; - /** @description Avatar invalid */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - message: string; - }; - }; - }; - }; - }; - }; - }; - /** Delete the avatar of a room */ - "avatar-delete-avatar": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Avatar removed successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"]; - }; - }; - }; - }; - }; - }; - /** Set an emoji as avatar */ - "avatar-emoji-avatar": { - parameters: { - query: { - /** @description Emoji */ - emoji: string; - /** @description Color of the emoji */ - color?: string | null; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Avatar set successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"]; - }; - }; - }; - }; - /** @description Setting emoji avatar is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - message: string; - }; - }; - }; - }; - }; - }; - }; - /** Get the dark mode avatar of a room */ - "avatar-get-avatar-dark": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Room avatar returned */ - 200: { - content: { - "*/*": string; - }; - }; - }; - }; - /** - * List the bans of a conversation - * @description Required capability: `ban-v1` - */ - "ban-list-bans": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description List all bans */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Ban"][]; - }; - }; - }; - }; - }; - }; - /** - * Ban an actor or IP address - * @description Required capability: `ban-v1` - */ - "ban-ban-actor": { - parameters: { - query: { - /** @description Type of actor to ban, or `ip` when banning a clients remote address */ - actorType: "users" | "groups" | "circles" | "emails" | "federated_users" | "phones" | "ip"; - /** @description Actor ID or the IP address or range in case of type `ip` */ - actorId: string; - /** @description Optional internal note */ - internalNote?: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Ban successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Ban"]; - }; - }; - }; - }; - /** @description Actor information is invalid */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; - }; - }; - }; - }; - /** - * Unban an actor or IP address - * @description Required capability: `ban-v1` - */ - "ban-unban-actor": { - parameters: { - query: { - /** @description ID of the ban to be removed */ - banId: number; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Unban successfully or not found */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** List bots */ - "bot-list-bots": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Bot list returned */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Bot"][]; - }; - }; - }; - }; - }; - }; - /** Enables a bot */ - "bot-enable-bot": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - /** @description ID of the bot */ - botId: number; - }; - }; - responses: { - /** @description Bot already enabled */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Bot"]; - }; - }; - }; - }; - /** @description Bot enabled successfully */ - 201: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Bot"]; - }; - }; - }; - }; - /** @description Enabling bot errored */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; - }; - }; - }; - }; - /** Disables a bot */ - "bot-disable-bot": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - /** @description ID of the bot */ - botId: number; - }; - }; - responses: { - /** @description Bot disabled successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Bot"]; - }; - }; - }; - }; - /** @description Disabling bot errored */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; - }; - }; - }; - }; - /** Configure the breakout rooms */ - "breakout_room-configure-breakout-rooms": { - parameters: { - query: { - /** @description Mode of the breakout rooms */ - mode: 0 | 1 | 2 | 3; - /** @description Number of breakout rooms - Constants {@see BreakoutRoom::MINIMUM_ROOM_AMOUNT} and {@see BreakoutRoom::MAXIMUM_ROOM_AMOUNT} */ - amount: number; - /** @description Mapping of the attendees to breakout rooms */ - attendeeMap?: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Breakout rooms configured successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"][]; - }; - }; - }; - }; - /** @description Configuring breakout rooms errored */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; - }; - }; - }; - }; - /** Remove the breakout rooms */ - "breakout_room-remove-breakout-rooms": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Breakout rooms removed successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"]; - }; - }; - }; - }; - }; - }; - /** Broadcast a chat message to all breakout rooms */ - "breakout_room-broadcast-chat-message": { - parameters: { - query: { - /** @description Message to broadcast */ - message: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Chat message broadcasted successfully */ - 201: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"][]; - }; - }; - }; - }; - /** @description Broadcasting chat message is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; - }; - }; - /** @description Chat message too long */ - 413: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; - }; - }; - }; - }; - /** Apply an attendee map to the breakout rooms */ - "breakout_room-apply-attendee-map": { - parameters: { - query: { - /** @description JSON encoded mapping of the attendees to breakout rooms `array` */ - attendeeMap: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Attendee map applied successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"][]; - }; - }; - }; - }; - /** @description Applying attendee map is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; - }; - }; - }; - }; - /** Request assistance */ - "breakout_room-request-assistance": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Assistance requested successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"]; - }; - }; - }; - }; - /** @description Requesting assistance is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; - }; - }; - }; - }; - /** Reset the request for assistance */ - "breakout_room-reset-request-for-assistance": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Request for assistance reset successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"]; - }; - }; - }; - }; - /** @description Resetting the request for assistance is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; - }; - }; - }; - }; - /** Start the breakout rooms */ - "breakout_room-start-breakout-rooms": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Breakout rooms started successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"][]; - }; - }; - }; - }; - /** @description Starting breakout rooms is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; - }; - }; - }; - }; - /** Stop the breakout rooms */ - "breakout_room-stop-breakout-rooms": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Breakout rooms stopped successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"][]; - }; - }; - }; - }; - /** @description Stopping breakout rooms is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; - }; - }; - }; - }; - /** Switch to another breakout room */ - "breakout_room-switch-breakout-room": { - parameters: { - query: { - /** @description Target breakout room */ - target: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Switched to breakout room successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"]; - }; - }; - }; - }; - /** @description Switching to breakout room is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; - }; - }; - }; - }; - /** Get the peers for a call */ - "call-get-peers-for-call": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description List of peers in the call returned */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["CallPeer"][]; - }; - }; - }; - }; - }; - }; - /** Update the in-call flags */ - "call-update-call-flags": { - parameters: { - query: { - /** @description New flags */ - flags: number; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description In-call flags updated successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Updating in-call flags is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Call session not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Join a call */ - "call-join-call": { - parameters: { - query?: { - /** @description In-Call flags */ - flags?: number | null; - /** @description In-call permissions */ - forcePermissions?: number | null; - /** @description Join the call silently */ - silent?: 0 | 1; - /** @description When the user ticked a checkbox and agreed with being recorded (Only needed when the `config => call => recording-consent` capability is set to {@see RecordingService::CONSENT_REQUIRED_YES} or the capability is {@see RecordingService::CONSENT_REQUIRED_OPTIONAL} and the conversation `recordingConsent` value is {@see RecordingService::CONSENT_REQUIRED_YES} ) */ - recordingConsent?: 0 | 1; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Call joined successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description No recording consent was given */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error?: string; - }; - }; - }; - }; - }; - /** @description Call not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Leave a call */ - "call-leave-call": { - parameters: { - query?: { - /** @description whether to also terminate the call for all participants */ - all?: 0 | 1; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Call left successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Call session not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Ring an attendee */ - "call-ring-attendee": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - /** @description ID of the attendee to ring */ - attendeeId: number; - }; - }; - responses: { - /** @description Attendee rang successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Ringing attendee is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; - }; - }; - /** @description Attendee could not be found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Call a SIP dial-out attendee */ - "call-sip-dial-out": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - /** @description ID of the attendee to call */ - attendeeId: number; - }; - }; - responses: { - /** @description Dial-out initiated successfully */ - 201: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error?: string; - message?: string; - }; - }; - }; - }; - }; - /** @description SIP dial-out not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error?: string; - message?: string; - }; - }; - }; - }; - }; - /** @description Participant could not be found or is a wrong type */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error?: string; - message?: string; - }; - }; - }; - }; - }; - /** @description SIP dial-out is not configured on the server */ - 501: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error?: string; - message?: string; - }; - }; - }; - }; - }; - }; - }; - /** - * Receives chat messages from the given room - * @description - Receiving the history ($lookIntoFuture=0): The next $limit messages after $lastKnownMessageId will be returned. The new $lastKnownMessageId for the follow up query is available as `X-Chat-Last-Given` header. - * - Looking into the future ($lookIntoFuture=1): If there are currently no messages the response will not be sent immediately. Instead, HTTP connection will be kept open waiting for new messages to arrive and, when they do, then the response will be sent. The connection will not be kept open indefinitely, though; the number of seconds to wait for new messages to arrive can be set using the timeout parameter; the default timeout is 30 seconds, maximum timeout is 60 seconds. If the timeout ends a successful but empty response will be sent. If messages have been returned (status=200) the new $lastKnownMessageId for the follow up query is available as `X-Chat-Last-Given` header. - * The limit specifies the maximum number of messages that will be returned, although the actual number of returned messages could be lower if some messages are not visible to the participant. Note that if none of the messages are visible to the participant the returned number of messages will be 0, yet the status will still be 200. Also note that `X-Chat-Last-Given` may reference a message not visible and thus not returned, but it should be used nevertheless as the $lastKnownMessageId for the follow-up query. - */ - "chat-receive-messages": { - parameters: { - query: { - /** @description Polling for new messages (1) or getting the history of the chat (0) */ - lookIntoFuture: 0 | 1; - /** @description Number of chat messages to receive (100 by default, 200 at most) */ - limit?: number; - /** @description The last known message (serves as offset) */ - lastKnownMessageId?: number; - /** @description The last known common read message (so the response is 200 instead of 304 when it changes even when there are no messages) */ - lastCommonReadId?: number; - /** @description Number of seconds to wait for new messages (30 by default, 30 at most) */ - timeout?: number; - /** @description Automatically set the last read marker when 1, if your client does this itself via chat/{token}/read set to 0 */ - setReadMarker?: 0 | 1; - /** @description Include the $lastKnownMessageId in the messages when 1 (default 0) */ - includeLastKnown?: 0 | 1; - /** @description When the user status should not be automatically set to online set to 1 (default 0) */ - noStatusUpdate?: 0 | 1; - /** @description Set to 0 when notifications should not be marked as read (default 1) */ - markNotificationsAsRead?: 0 | 1; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Messages returned */ - 200: { - headers: { - "X-Chat-Last-Common-Read"?: string; - "X-Chat-Last-Given"?: string; - }; - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["ChatMessageWithParent"][]; - }; - }; - }; - }; - /** @description No messages */ - 304: { - content: never; - }; - }; - }; - /** - * Sends a new chat message to the given room - * @description The author and timestamp are automatically set to the current user/guest and time. - */ - "chat-send-message": { - parameters: { - query: { - /** @description the message to send */ - message: string; - /** @description for guests */ - actorDisplayName?: string; - /** @description for the message to be able to later identify it again */ - referenceId?: string; - /** @description Parent id which this message is a reply to */ - replyTo?: number; - /** @description If sent silent the chat message will not create any notifications */ - silent?: 0 | 1; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Message sent successfully */ - 201: { - headers: { - "X-Chat-Last-Common-Read"?: string; - }; - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["ChatMessageWithParent"]; - }; - }; - }; - }; - /** @description Sending message is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Actor not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Message too long */ - 413: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Mention rate limit exceeded (guests only) */ - 429: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Clear the chat history */ - "chat-clear-history": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description History cleared successfully */ - 200: { - headers: { - "X-Chat-Last-Common-Read"?: string; - }; - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["ChatMessage"]; - }; - }; - }; - }; - /** @description History cleared successfully, but Matterbridge is configured, so the information can be replicated elsewhere */ - 202: { - headers: { - "X-Chat-Last-Common-Read"?: string; - }; - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["ChatMessage"]; - }; - }; - }; - }; - /** @description Missing permissions to clear history */ - 403: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Edit a chat message */ - "chat-edit-message": { - parameters: { - query: { - /** @description the message to send */ - message: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - /** @description ID of the message */ - messageId: number; - }; - }; - responses: { - /** @description Message edited successfully */ - 200: { - headers: { - "X-Chat-Last-Common-Read"?: string; - }; - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["ChatMessageWithParent"]; - }; - }; - }; - }; - /** @description Message edited successfully, but a bot or Matterbridge is configured, so the information can be replicated to other services */ - 202: { - headers: { - "X-Chat-Last-Common-Read"?: string; - }; - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["ChatMessageWithParent"]; - }; - }; - }; - }; - /** @description Editing message is not possible, e.g. when the new message is empty or the message is too old */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; - }; - }; - /** @description Missing permissions to edit message */ - 403: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Message not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Editing this message type is not allowed */ - 405: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Message too long */ - 413: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Delete a chat message */ - "chat-delete-message": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - /** @description ID of the message */ - messageId: number; - }; - }; - responses: { - /** @description Message deleted successfully */ - 200: { - headers: { - "X-Chat-Last-Common-Read"?: string; - }; - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["ChatMessageWithParent"]; - }; - }; - }; - }; - /** @description Message deleted successfully, but a bot or Matterbridge is configured, so the information can be replicated elsewhere */ - 202: { - headers: { - "X-Chat-Last-Common-Read"?: string; - }; - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["ChatMessageWithParent"]; - }; - }; - }; - }; - /** @description Deleting message is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Missing permissions to delete message */ - 403: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Message not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Deleting this message type is not allowed */ - 405: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Get the context of a message */ - "chat-get-message-context": { - parameters: { - query?: { - /** @description Number of chat messages to receive in both directions (50 by default, 100 at most, might return 201 messages) */ - limit?: number; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - /** @description The focused message which should be in the "middle" of the returned context */ - messageId: number; - }; - }; - responses: { - /** @description Message context returned */ - 200: { - headers: { - "X-Chat-Last-Common-Read"?: string; - "X-Chat-Last-Given"?: string; - }; - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["ChatMessageWithParent"][]; - }; - }; - }; - }; - /** @description No messages */ - 304: { - content: never; - }; - }; - }; - /** Get the reminder for a chat message */ - "chat-get-reminder": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - /** @description ID of the message */ - messageId: number; - }; - }; - responses: { - /** @description Reminder returned */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["ChatReminder"]; - }; - }; - }; - }; - /** @description Message not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error?: string; - }; - }; - }; - }; - }; - }; - }; - /** Set a reminder for a chat message */ - "chat-set-reminder": { - parameters: { - query: { - /** @description Timestamp of the reminder */ - timestamp: number; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - /** @description ID of the message */ - messageId: number; - }; - }; - responses: { - /** @description Reminder created successfully */ - 201: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["ChatReminder"]; - }; - }; - }; - }; - /** @description Message not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error?: string; - }; - }; - }; - }; - }; - }; - }; - /** Delete a chat reminder */ - "chat-delete-reminder": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - /** @description ID of the message */ - messageId: number; - }; - }; - responses: { - /** @description Reminder deleted successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error?: string; - }; - }; - }; - }; - }; - /** @description Message not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error?: string; - }; - }; - }; - }; - }; - }; - }; - /** Set the read marker to a specific message */ - "chat-set-read-marker": { - parameters: { - query?: { - /** @description ID if the last read message (Optional only with `chat-read-last` capability) */ - lastReadMessage?: number | null; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Read marker set successfully */ - 200: { - headers: { - "X-Chat-Last-Common-Read"?: string; - }; - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"]; - }; - }; - }; - }; - }; - }; - /** Mark a chat as unread */ - "chat-mark-unread": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Read marker set successfully */ - 200: { - headers: { - "X-Chat-Last-Common-Read"?: string; - }; - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"]; - }; - }; - }; - }; - }; - }; - /** Search for mentions */ - "chat-mentions": { - parameters: { - query: { - /** @description Text to search for */ - search: string; - /** @description Maximum number of results */ - limit?: number; - /** @description Include the user statuses */ - includeStatus?: 0 | 1; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description List of mention suggestions returned */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["ChatMentionSuggestion"][]; - }; - }; - }; - }; - }; - }; - /** Get objects that are shared in the room */ - "chat-get-objects-shared-in-room": { - parameters: { - query: { - /** @description Type of the objects */ - objectType: string; - /** @description ID of the last known message */ - lastKnownMessageId?: number; - /** @description Maximum number of objects */ - limit?: number; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description List of shared objects messages returned */ - 200: { - headers: { - "X-Chat-Last-Given"?: string; - }; - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["ChatMessage"][]; - }; - }; - }; - }; - }; - }; - /** - * Sends a rich-object to the given room - * @description The author and timestamp are automatically set to the current user/guest and time. - */ - "chat-share-object-to-chat": { - parameters: { - query: { - /** @description Type of the object */ - objectType: string; - /** @description ID of the object */ - objectId: string; - /** @description Additional metadata */ - metaData?: string; - /** @description Guest name */ - actorDisplayName?: string; - /** @description Reference ID */ - referenceId?: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Object shared successfully */ - 201: { - headers: { - "X-Chat-Last-Common-Read"?: string; - }; - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["ChatMessageWithParent"]; - }; - }; - }; - }; - /** @description Sharing object is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Actor not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Message too long */ - 413: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Get objects that are shared in the room overview */ - "chat-get-objects-shared-in-room-overview": { - parameters: { - query?: { - /** @description Maximum number of objects */ - limit?: number; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description List of shared objects messages of each type returned */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - [key: string]: components["schemas"]["ChatMessage"][]; - }; - }; - }; - }; - }; - }; - }; - /** - * Get the token of the room associated to the given file id - * @description This is the counterpart of self::getRoomByShareToken() for file ids instead of share tokens, although both return the same room token if the given file id and share token refer to the same file. - * If there is no room associated to the given file id a new room is created; the new room is a public room associated with a "file" object with the given file id. Unlike normal rooms in which the owner is the user that created the room these are special rooms without owner (although self joined users with direct access to the file become persistent participants automatically when they join until they explicitly leave or no longer have access to the file). - * In any case, to create or even get the token of the room, the file must be shared and the user must be the owner of a public share of the file (like a link share, for example) or have direct access to that file; an error is returned otherwise. A user has direct access to a file if she has access to it (or to an ancestor) through a user, group, circle or room share (but not through a link share, for example), or if she is the owner of such a file. - */ - "files_integration-get-room-by-file-id": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - /** @description ID of the file */ - fileId: string; - }; - }; - responses: { - /** @description Room token returned */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { +export interface operations { + "avatar-get-avatar": { + parameters: { + query?: { + /** @description Theme used for background */ + darkTheme?: 0 | 1; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Room avatar returned */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "*/*": string; + }; + }; + }; + }; + "avatar-upload-avatar": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; token: string; - }; - }; - }; - }; - }; - /** @description Rooms not allowed for shares */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Share not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** - * Returns the token of the room associated to the file of the given share token - * @description This is the counterpart of self::getRoomByFileId() for share tokens instead of file ids, although both return the same room token if the given file id and share token refer to the same file. - * If there is no room associated to the file id of the given share token a new room is created; the new room is a public room associated with a "file" object with the file id of the given share token. Unlike normal rooms in which the owner is the user that created the room these are special rooms without owner (although self joined users with direct access to the file become persistent participants automatically when they join until they explicitly leave or no longer have access to the file). - * In any case, to create or even get the token of the room, the file must be publicly shared (like a link share, for example); an error is returned otherwise. - * Besides the token of the room this also returns the current user ID and display name, if any; this is needed by the Talk sidebar to know the actual current user, as the public share page uses the incognito mode and thus logged-in users as seen as guests. - */ - "files_integration-get-room-by-share-token": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - /** @description Token of the file share */ - shareToken: string; - }; - }; - responses: { - /** @description Room token and user info returned */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Avatar uploaded successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"]; + }; + }; + }; + }; + /** @description Avatar invalid */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + message: string; + }; + }; + }; + }; + }; + }; + }; + "avatar-delete-avatar": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; token: string; - userId: string; - userDisplayName: string; - }; - }; - }; - }; - }; - /** @description Rooms not allowed for shares */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Share not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Set the display name as a guest */ - "guest-set-display-name": { - parameters: { - query: { - /** @description New display name */ - displayName: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Display name updated successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Not a guest */ - 403: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Not a participant */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Get bridge information of one room */ - "matterbridge-get-bridge-of-room": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Return list of configured bridges */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["MatterbridgeWithProcessState"]; - }; - }; - }; - }; - }; - }; - /** Edit bridge information of one room */ - "matterbridge-edit-bridge-of-room": { - parameters: { - query: { - /** @description If the bridge should be enabled */ - enabled: 0 | 1; - /** @description New parts */ - parts?: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Bridge edited successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["MatterbridgeProcessState"]; - }; - }; - }; - }; - /** @description Editing bridge is not possible */ - 406: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; - }; - }; - }; - }; - /** Delete bridge of one room */ - "matterbridge-delete-bridge-of-room": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Bridge deleted successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: boolean; - }; - }; - }; - }; - /** @description Deleting bridge is not possible */ - 406: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; - }; - }; - }; - }; - /** Get bridge process information */ - "matterbridge-get-bridge-process-state": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Return list of running processes */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["MatterbridgeProcessState"]; - }; - }; - }; - }; - }; - }; - /** Create a poll */ - "poll-create-poll": { - parameters: { - query: { - /** @description Question of the poll */ - question: string; - /** @description Options of the poll */ - "options[]": string[]; - /** @description Mode how the results will be shown */ - resultMode: 0 | 1; - /** @description Number of maximum votes per voter */ - maxVotes: number; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Poll created successfully */ - 201: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Poll"]; - }; - }; - }; - }; - /** @description Creating poll is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Get a poll */ - "poll-show-poll": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - /** @description ID of the poll */ - pollId: number; - }; - }; - responses: { - /** @description Poll returned */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Poll"]; - }; - }; - }; - }; - /** @description Poll not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Vote on a poll */ - "poll-vote-poll": { - parameters: { - query?: { - /** @description IDs of the selected options */ - "optionIds[]"?: number[]; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - /** @description ID of the poll */ - pollId: number; - }; - }; - responses: { - /** @description Voted successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Poll"]; - }; - }; - }; - }; - /** @description Voting is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Poll not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Close a poll */ - "poll-close-poll": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - /** @description ID of the poll */ - pollId: number; - }; - }; - responses: { - /** @description Poll closed successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Poll"]; - }; - }; - }; - }; - /** @description Poll already closed */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Missing permissions to close poll */ - 403: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Poll not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - 500: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** - * Creates a new room for video verification (requesting the password of a share) - * @description The new room is a public room associated with a "share:password" object with the ID of the share token. Unlike normal rooms in which the owner is the user that created the room these are special rooms always created by a guest or user on behalf of a registered user, the sharer, who will be the owner of the room. - * The share must have "send password by Talk" enabled; an error is returned otherwise. - */ - "public_share_auth-create-room": { - parameters: { - query: { - /** @description Token of the file share */ - shareToken: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - }; - }; - responses: { - /** @description Room created successfully */ - 201: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Avatar removed successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"]; + }; + }; + }; + }; + }; + }; + "avatar-emoji-avatar": { + parameters: { + query: { + /** @description Emoji */ + emoji: string; + /** @description Color of the emoji */ + color?: string | null; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; token: string; - name: string; - displayName: string; - }; - }; - }; - }; - }; - /** @description Share not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Get a list of reactions for a message */ - "reaction-get-reactions": { - parameters: { - query?: { - /** @description Emoji to filter */ - reaction?: string | null; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - /** @description ID of the message */ - messageId: number; - }; - }; - responses: { - /** @description Reactions returned */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - [key: string]: components["schemas"]["Reaction"][]; - }; - }; - }; - }; - }; - /** @description Message or reaction not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Add a reaction to a message */ - "reaction-react": { - parameters: { - query: { - /** @description Emoji to add */ - reaction: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - /** @description ID of the message */ - messageId: number; - }; - }; - responses: { - /** @description Reaction already existed */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - [key: string]: components["schemas"]["Reaction"][]; - }; - }; - }; - }; - }; - /** @description Reaction added successfully */ - 201: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - [key: string]: components["schemas"]["Reaction"][]; - }; - }; - }; - }; - }; - /** @description Adding reaction is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Message not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Delete a reaction from a message */ - "reaction-delete": { - parameters: { - query: { - /** @description Emoji to remove */ - reaction: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - /** @description ID of the message */ - messageId: number; - }; - }; - responses: { - /** @description Reaction deleted successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - [key: string]: components["schemas"]["Reaction"][]; - }; - }; - }; - }; - }; - /** @description Deleting reaction is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Message not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Start the recording */ - "recording-start": { - parameters: { - query: { - /** @description Type of the recording */ - status: number; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Recording started successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Starting recording is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; - }; - }; - }; - }; - /** Stop the recording */ - "recording-stop": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Recording stopped successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Stopping recording is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; - }; - }; - }; - }; - /** Dismiss the store call recording notification */ - "recording-notification-dismiss": { - parameters: { - query: { - /** @description Timestamp of the notification to be dismissed */ - timestamp: number; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Notification dismissed successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Dismissing notification is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; - }; - }; - }; - }; - /** Share the recorded file to the chat */ - "recording-share-to-chat": { - parameters: { - query: { - /** @description ID of the file */ - fileId: number; - /** @description Timestamp of the notification to be dismissed */ - timestamp: number; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Recording shared to chat successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Sharing recording to chat is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; - }; - }; - }; - }; - /** Get all currently existent rooms which the user has joined */ - "room-get-rooms": { - parameters: { - query?: { - /** @description When the user status should not be automatically set to online set to 1 (default 0) */ - noStatusUpdate?: 0 | 1; - /** @description Include the user status */ - includeStatus?: 0 | 1; - /** @description Filter rooms modified after a timestamp */ - modifiedSince?: number; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - }; - }; - responses: { - /** @description Return list of rooms */ - 200: { - headers: { - "X-Nextcloud-Talk-Hash"?: string; - "X-Nextcloud-Talk-Modified-Before"?: string; - "X-Nextcloud-Talk-Federation-Invites"?: string; - }; - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"][]; - }; - }; - }; - }; - }; - }; - /** Create a room with a user, a group or a circle */ - "room-create-room": { - parameters: { - query: { - /** @description Type of the room */ - roomType: number; - /** @description User, group, … ID to invite */ - invite?: string; - /** @description Name of the room */ - roomName?: string; - /** @description Source of the invite ID ('circles' to create a room with a circle, etc.) */ - source?: string; - /** @description Type of the object */ - objectType?: string; - /** @description ID of the object */ - objectId?: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - }; - }; - responses: { - /** @description Room already existed */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"]; - }; - }; - }; - }; - /** @description Room created successfully */ - 201: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"]; - }; - }; - }; - }; - /** @description Room type invalid */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error?: string; - }; - }; - }; - }; - }; - /** @description Missing permissions to create room */ - 403: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description User, group or other target to invite was not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Get listed rooms with optional search term */ - "room-get-listed-rooms": { - parameters: { - query?: { - /** @description search term */ - searchTerm?: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - }; - }; - responses: { - /** @description Return list of matching rooms */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"][]; - }; - }; - }; - }; - }; - }; - /** - * Get the "Note to self" conversation for the user - * @description It will be automatically created when it is currently missing - */ - "room-get-note-to-self-conversation": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - }; - }; - responses: { - /** @description Room returned successfully */ - 200: { - headers: { - "X-Nextcloud-Talk-Hash"?: string; - }; - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"]; - }; - }; - }; - }; - }; - }; - /** Get a room */ - "room-get-single-room": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - /** @description Token of the room */ - token: string; - }; - }; - responses: { - /** @description Room returned */ - 200: { - headers: { - "X-Nextcloud-Talk-Hash"?: string; - }; - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"]; - }; - }; - }; - }; - /** @description SIP request invalid */ - 401: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Room not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** - * Get breakout rooms - * @description All for moderators and in case of "free selection", or the assigned breakout room for other participants - */ - "room-get-breakout-rooms": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Breakout rooms returned */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"][]; - }; - }; - }; - }; - /** @description Getting breakout rooms is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; - }; - }; - }; - }; - /** Allowed guests to join conversation */ - "room-make-public": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Allowed guests successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Allowing guests is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Disallowed guests to join conversation */ - "room-make-private": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Room unpublished Disallowing guests successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Disallowing guests is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Update the description of a room */ - "room-set-description": { - parameters: { - query: { - /** @description New description */ - description: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Description updated successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Updating description is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Set read-only state of a room */ - "room-set-read-only": { - parameters: { - query: { - /** @description New read-only state */ - state: 0 | 1; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Read-only state updated successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Updating read-only state is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Make a room listable */ - "room-set-listable": { - parameters: { - query: { - /** @description Scope where the room is listable */ - scope: 0 | 1 | 2; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Made room listable successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Making room listable is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Set a password for a room */ - "room-set-password": { - parameters: { - query: { - /** @description New password */ - password: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Password set successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Setting password is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - message?: string; - }; - }; - }; - }; - }; - /** @description Setting password is not allowed */ - 403: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Update the permissions of a room */ - "room-set-permissions": { - parameters: { - query: { - /** @description New permissions */ - permissions: number; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - /** @description Level of the permissions ('call', 'default') */ - mode: "call" | "default"; - }; - }; - responses: { - /** @description Permissions updated successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"]; - }; - }; - }; - }; - /** @description Updating permissions is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Get a list of participants for a room */ - "room-get-participants": { - parameters: { - query?: { - /** @description Include the user statuses */ - includeStatus?: 0 | 1; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Participants returned */ - 200: { - headers: { - "X-Nextcloud-Has-User-Statuses"?: boolean; - }; - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Participant"][]; - }; - }; - }; - }; - /** @description Missing permissions for getting participants */ - 403: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Add a participant to a room */ - "room-add-participant-to-room": { - parameters: { - query: { - /** @description New participant */ - newParticipant: string; - /** @description Source of the participant */ - source?: "users" | "groups" | "circles" | "emails" | "federated_users" | "phones"; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Participant successfully added */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: OneOf<[{ - /** Format: int64 */ - type: number; - }, unknown[]]>; - }; - }; - }; - }; - /** @description Adding participant is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error?: string; - }; - }; - }; - }; - }; - /** @description User, group or other target to invite was not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description SIP dial-out is not configured */ - 501: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Get the breakout room participants for a room */ - "room-get-breakout-room-participants": { - parameters: { - query?: { - /** @description Include the user statuses */ - includeStatus?: 0 | 1; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Breakout room participants returned */ - 200: { - headers: { - "X-Nextcloud-Has-User-Statuses"?: boolean; - }; - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Participant"][]; - }; - }; - }; - }; - /** @description Getting breakout room participants is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; - }; - }; - /** @description Missing permissions to get breakout room participants */ - 403: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Remove the current user from a room */ - "room-remove-self-from-room": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Participant removed successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Removing participant is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Participant not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Remove an attendee from a room */ - "room-remove-attendee-from-room": { - parameters: { - query: { - /** @description ID of the attendee */ - attendeeId: number; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Attendee removed successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Removing attendee is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Removing attendee is not allowed */ - 403: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Attendee not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Update the permissions of an attendee */ - "room-set-attendee-permissions": { - parameters: { - query: { - /** @description ID of the attendee */ - attendeeId: number; - /** @description Method of updating permissions ('set', 'remove', 'add') */ - method: "set" | "remove" | "add"; - /** @description New permissions */ - permissions: number; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Permissions updated successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Updating permissions is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Missing permissions to update permissions */ - 403: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Attendee not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Update the permissions of all attendees */ - "room-set-all-attendees-permissions": { - parameters: { - query: { - /** @description Method of updating permissions ('set', 'remove', 'add') */ - method: "set" | "remove" | "add"; - /** @description New permissions */ - permissions: number; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Permissions updated successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"]; - }; - }; - }; - }; - /** @description Updating permissions is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Join a room */ - "room-join-room": { - parameters: { - query?: { - /** @description Password of the room */ - password?: string; - /** @description Create a new session if necessary */ - force?: 0 | 1; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - /** @description Token of the room */ - token: string; - }; - }; - responses: { - /** @description Room joined successfully */ - 200: { - headers: { - "X-Nextcloud-Talk-Proxy-Hash"?: string; - }; - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"]; - }; - }; - }; - }; - /** @description Joining room is not allowed */ - 403: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - /** @enum {string} */ - error: "ban" | "password"; - }; - }; - }; - }; - }; - /** @description Room not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Session already exists */ - 409: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - sessionId: string; - /** Format: int64 */ - inCall: number; - /** Format: int64 */ - lastPing: number; - }; - }; - }; - }; - }; - }; - }; - /** Leave a room */ - "room-leave-room": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - /** @description Token of the room */ - token: string; - }; - }; - responses: { - /** @description Successfully left the room */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Resend invitations */ - "room-resend-invitations": { - parameters: { - query?: { - /** @description ID of the attendee */ - attendeeId?: number | null; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Invitation resent successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Attendee not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Set active state for a session */ - "room-set-session-state": { - parameters: { - query: { - /** @description of the room */ - state: 0 | 1; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Session state set successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"]; - }; - }; - }; - }; - /** @description The provided new state was invalid */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description The participant did not have a session */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Promote an attendee to moderator */ - "room-promote-moderator": { - parameters: { - query: { - /** @description ID of the attendee */ - attendeeId: number; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Attendee promoted to moderator successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Promoting attendee to moderator is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Promoting attendee to moderator is not allowed */ - 403: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Attendee not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Demote an attendee from moderator */ - "room-demote-moderator": { - parameters: { - query: { - /** @description ID of the attendee */ - attendeeId: number; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Attendee demoted from moderator successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Demoting attendee from moderator is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Demoting attendee from moderator is not allowed */ - 403: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Attendee not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Add a room to the favorites */ - "room-add-to-favorites": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Successfully added room to favorites */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Remove a room from the favorites */ - "room-remove-from-favorites": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Successfully removed room from favorites */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Update the notification level for a room */ - "room-set-notification-level": { - parameters: { - query: { - /** @description New level */ - level: number; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Notification level updated successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Updating notification level is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Update call notifications */ - "room-set-notification-calls": { - parameters: { - query: { - /** @description New level */ - level: number; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Call notification level updated successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Updating call notification level is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Update the lobby state for a room */ - "room-set-lobby": { - parameters: { - query: { - /** @description New state */ - state: number; - /** @description Timer when the lobby will be removed */ - timer?: number | null; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Lobby state updated successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"]; - }; - }; - }; - }; - /** @description Updating lobby state is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Update SIP enabled state */ - "room-setsip-enabled": { - parameters: { - query: { - /** @description New state */ - state: 0 | 1 | 2; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description SIP enabled state updated successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"]; - }; - }; - }; - }; - /** @description Updating SIP enabled state is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description User not found */ - 401: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Missing permissions to update SIP enabled state */ - 403: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description SIP not configured */ - 412: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Set recording consent requirement for this conversation */ - "room-set-recording-consent": { - parameters: { - query: { - /** @description New consent setting for the conversation (Only {@see RecordingService::CONSENT_REQUIRED_NO} and {@see RecordingService::CONSENT_REQUIRED_YES} are allowed here.) */ - recordingConsent: number; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Recording consent requirement set successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"]; - }; - }; - }; - }; - /** @description Setting recording consent requirement is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; - }; - }; - /** @description No recording server is configured */ - 412: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Update message expiration time */ - "room-set-message-expiration": { - parameters: { - query: { - /** @description New time */ - seconds: number; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Message expiration time updated successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Updating message expiration time is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error?: string; - }; - }; - }; - }; - }; - }; - }; - /** - * Get capabilities for a room - * @description See "Capability handling in federated conversations" in https://github.com/nextcloud/spreed/issues/10680 to learn which capabilities should be considered from the local server or from the remote server. - */ - "room-get-capabilities": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Get capabilities successfully */ - 200: { - headers: { - "X-Nextcloud-Talk-Hash"?: string; - "X-Nextcloud-Talk-Proxy-Hash"?: string; - }; - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Capabilities"] | unknown[]; - }; - }; - }; - }; - }; - }; - /** Update user setting */ - "settings-set-user-setting": { - parameters: { - query: { - /** @description Key to update */ - key: "attachment_folder" | "read_status_privacy" | "typing_privacy" | "play_sounds"; - /** @description New value for the key */ - value?: string | number | null; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - }; - }; - responses: { - /** @description User setting updated successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Updating user setting is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Get the signaling settings */ - "signaling-get-settings": { - parameters: { - query?: { - /** @description Token of the room */ - token?: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v3"; - }; - }; - responses: { - /** @description Signaling settings returned */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["SignalingSettings"]; - }; - }; - }; - }; - /** @description Recording request invalid */ - 401: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Room not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Get signaling messages */ - "signaling-pull-messages": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v3"; - /** @description Token of the room */ - token: string; - }; - }; - responses: { - /** @description Signaling messages returned */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: ({ - type: string; - data: components["schemas"]["SignalingSession"][] | string; - })[]; - }; - }; - }; - }; - /** @description Getting signaling messages is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: string; - }; - }; - }; - }; - /** @description Session, room or participant not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: ({ - type: string; - data: components["schemas"]["SignalingSession"][] | string; - })[]; - }; - }; - }; - }; - /** @description Session killed */ - 409: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: ({ - type: string; - data: components["schemas"]["SignalingSession"][] | string; - })[]; - }; - }; - }; - }; - }; - }; - /** Send signaling messages */ - "signaling-send-messages": { - parameters: { - query: { - /** @description JSON encoded messages */ - messages: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v3"; - /** @description Token of the room */ - token: string; - }; - }; - responses: { - /** @description Signaling message sent successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Sending signaling message is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: string; - }; - }; - }; - }; - }; - }; - /** Upload your avatar as a user */ - "temp_avatar-post-avatar": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - }; - responses: { - /** @description Avatar uploaded successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Uploading avatar is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - message: string; - }; - }; - }; - }; - }; - }; - }; - /** Delete your avatar as a user */ - "temp_avatar-delete-avatar": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - }; - responses: { - /** @description Avatar deleted successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Deleting avatar is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Get the avatar of a cloudId user when inviting users while creating a conversation */ - "avatar-get-user-proxy-avatar-without-room": { - parameters: { - query: { - /** @description Federation CloudID to get the avatar for */ - cloudId: string; - /** @description Theme used for background */ - darkTheme?: 0 | 1; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - /** @description Avatar size */ - size: 64 | 512; - }; - }; - responses: { - /** @description User avatar returned */ - 200: { - content: { - "*/*": string; - }; - }; - }; - }; - /** Get the dark mode avatar of a cloudId user when inviting users while creating a conversation */ - "avatar-get-user-proxy-avatar-dark-without-room": { - parameters: { - query: { - /** @description Federation CloudID to get the avatar for */ - cloudId: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - /** @description Avatar size */ - size: 64 | 512; - }; - }; - responses: { - /** @description User avatar returned */ - 200: { - content: { - "*/*": string; - }; - }; - }; - }; - /** Get the avatar of a cloudId user */ - "avatar-get-user-proxy-avatar": { - parameters: { - query: { - /** @description Federation CloudID to get the avatar for */ - cloudId: string; - /** @description Theme used for background */ - darkTheme?: 0 | 1; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - /** @description Avatar size */ - size: 64 | 512; - }; - }; - responses: { - /** @description User avatar returned */ - 200: { - content: { - "*/*": string; - }; - }; - }; - }; - /** Get the dark mode avatar of a cloudId user */ - "avatar-get-user-proxy-avatar-dark": { - parameters: { - query: { - /** @description Federation CloudID to get the avatar for */ - cloudId: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - /** @description Avatar size */ - size: 64 | 512; - }; - }; - responses: { - /** @description User avatar returned */ - 200: { - content: { - "*/*": string; - }; - }; - }; - }; - /** - * Accept a federation invites - * @description 🚧 Draft: Still work in progress - */ - "federation-accept-share": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - /** @description ID of the share */ - id: number; - }; - }; - responses: { - /** @description Invite accepted successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"]; - }; - }; - }; - }; - /** @description Invite can not be accepted (maybe it was accepted already) */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; - }; - }; - /** @description Invite can not be found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error?: string; - }; - }; - }; - }; - }; - /** @description Remote server could not be reached to notify about the acceptance */ - 410: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; - }; - }; - }; - }; - /** - * Decline a federation invites - * @description 🚧 Draft: Still work in progress - */ - "federation-reject-share": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - /** @description ID of the share */ - id: number; - }; - }; - responses: { - /** @description Invite declined successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Invite was already accepted, use the "Remove the current user from a room" endpoint instead */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error?: string; - }; - }; - }; - }; - }; - /** @description Invite can not be found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error?: string; - }; - }; - }; - }; - }; - }; - }; - /** - * Get a list of federation invites - * @description 🚧 Draft: Still work in progress - */ - "federation-get-shares": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - }; - }; - responses: { - /** @description Get list of received federation invites successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["FederationInvite"][]; - }; - }; - }; - }; - }; - }; - /** Fake join a room on the host server to verify the federated user is still part of it */ - "room-join-federated-room": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - /** @description Token of the room */ - token: string; - }; - }; - responses: { - /** @description Federated user is still part of the room */ - 200: { - headers: { - "X-Nextcloud-Talk-Hash"?: string; - }; - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Room not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** - * Sends a new chat message to the given room - * @description The author and timestamp are automatically set to the current user/guest and time. - */ - "bot-send-message": { - parameters: { - query: { - /** @description The message to send */ - message: string; - /** @description For the message to be able to later identify it again */ - referenceId?: string; - /** @description Parent id which this message is a reply to */ - replyTo?: number; - /** @description If sent silent the chat message will not create any notifications */ - silent?: 0 | 1; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - /** @description Conversation token */ - token: string; - }; - }; - responses: { - /** @description Message sent successfully */ - 201: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description When the replyTo is invalid or message is empty */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Sending message is not allowed */ - 401: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Message too long */ - 413: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Adds a reaction to a chat message */ - "bot-react": { - parameters: { - query: { - /** @description Reaction to add */ - reaction: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - /** @description Conversation token */ - token: string; - /** @description ID of the message */ - messageId: number; - }; - }; - responses: { - /** @description Reaction already exists */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Reacted successfully */ - 201: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Reacting is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Reacting is not allowed */ - 401: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Reaction not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Deletes a reaction from a chat message */ - "bot-delete-reaction": { - parameters: { - query: { - /** @description Reaction to delete */ - reaction: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - /** @description Conversation token */ - token: string; - /** @description ID of the message */ - messageId: number; - }; - }; - responses: { - /** @description Reaction deleted successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Reacting is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Reacting is not allowed */ - 401: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Reaction not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** - * List admin bots - * @description This endpoint requires admin access - */ - "bot-admin-list-bots": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - }; - }; - responses: { - /** @description Bot list returned */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["BotWithDetails"][]; - }; - }; - }; - }; - }; - }; - /** - * Get the certificate expiration for a host - * @description This endpoint requires admin access - */ - "certificate-get-certificate-expiration": { - parameters: { - query: { - /** @description Host to check */ - host: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - }; - }; - responses: { - /** @description Certificate expiration returned */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - /** Format: int64 */ - expiration_in_days: number | null; - }; - }; - }; - }; - }; - /** @description Getting certificate expiration is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - message: string; - }; - }; - }; - }; - }; - }; - }; - /** - * Request a trial account - * @description This endpoint requires admin access - */ - "hosted_signaling_server-request-trial": { - parameters: { - query: { - /** @description Server URL */ - url: string; - /** @description Display name of the user */ - name: string; - /** @description Email of the user */ - email: string; - /** @description Language of the user */ - language: string; - /** @description Country of the user */ - country: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - }; - }; - responses: { - /** @description Trial requested successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - [key: string]: Record; - }; - }; - }; - }; - }; - /** @description Requesting trial is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - message: string; - }; }; - }; + cookie?: never; }; - }; - 500: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - message: string; - }; - }; - }; - }; - }; - }; - }; - /** - * Delete the account - * @description This endpoint requires admin access - */ - "hosted_signaling_server-delete-account": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - }; - }; - responses: { - /** @description Account deleted successfully */ - 204: { - content: never; - }; - /** @description Deleting account is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - message: string; - }; + requestBody?: never; + responses: { + /** @description Avatar set successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"]; + }; + }; + }; + }; + /** @description Setting emoji avatar is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + message: string; + }; + }; + }; + }; + }; + }; + }; + "avatar-get-avatar-dark": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Room avatar returned */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "*/*": string; + }; + }; + }; + }; + "ban-list-bans": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description List all bans */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Ban"][]; + }; + }; + }; + }; + }; + }; + "ban-ban-actor": { + parameters: { + query: { + /** @description Type of actor to ban, or `ip` when banning a clients remote address */ + actorType: "users" | "groups" | "circles" | "emails" | "federated_users" | "phones" | "ip"; + /** @description Actor ID or the IP address or range in case of type `ip` */ + actorId: string; + /** @description Optional internal note */ + internalNote?: string; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Ban successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Ban"]; + }; + }; + }; + }; + /** @description Actor information is invalid */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + }; + }; + "ban-unban-actor": { + parameters: { + query: { + /** @description ID of the ban to be removed */ + banId: number; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Unban successfully or not found */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "bot-list-bots": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Bot list returned */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Bot"][]; + }; + }; + }; + }; + }; + }; + "bot-enable-bot": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + /** @description ID of the bot */ + botId: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Bot already enabled */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Bot"]; + }; + }; + }; + }; + /** @description Bot enabled successfully */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Bot"]; + }; + }; + }; + }; + /** @description Enabling bot errored */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + }; + }; + "bot-disable-bot": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + /** @description ID of the bot */ + botId: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Bot disabled successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Bot"]; + }; + }; + }; + }; + /** @description Disabling bot errored */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + }; + }; + "breakout_room-configure-breakout-rooms": { + parameters: { + query: { + /** @description Mode of the breakout rooms */ + mode: 0 | 1 | 2 | 3; + /** @description Number of breakout rooms - Constants {@see BreakoutRoom::MINIMUM_ROOM_AMOUNT} and {@see BreakoutRoom::MAXIMUM_ROOM_AMOUNT} */ + amount: number; + /** @description Mapping of the attendees to breakout rooms */ + attendeeMap?: string; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Breakout rooms configured successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"][]; + }; + }; + }; + }; + /** @description Configuring breakout rooms errored */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + }; + }; + "breakout_room-remove-breakout-rooms": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Breakout rooms removed successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"]; + }; + }; + }; }; - }; }; - }; - 500: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { + }; + "breakout_room-broadcast-chat-message": { + parameters: { + query: { + /** @description Message to broadcast */ message: string; - }; - }; - }; - }; - }; - }; - }; - /** - * Stop all bridges - * @description This endpoint requires admin access - */ - "matterbridge_settings-stop-all-bridges": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - }; - }; - responses: { - /** @description All bridges stopped successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: boolean; - }; - }; - }; - }; - /** @description Stopping all bridges is not possible */ - 406: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; - }; - }; - }; - }; - /** - * Get Matterbridge version - * @description This endpoint requires admin access - */ - "matterbridge_settings-get-matterbridge-version": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - }; - }; - responses: { - /** @description Bridge version returned */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - version: string; - }; - }; - }; - }; - }; - /** @description Getting bridge version is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; - }; - }; - }; - }; - /** - * Get the welcome message of a recording server - * @description This endpoint requires admin access - */ - "recording-get-welcome-message": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - /** @description ID of the server */ - serverId: number; - }; - }; - responses: { - /** @description Welcome message returned */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - /** Format: double */ - version: number; - }; - }; - }; - }; - }; - /** @description Recording server not found or not configured */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - 500: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; - }; - }; - }; - }; - /** - * Update SIP bridge settings - * @description This endpoint requires admin access - */ - "settings-setsip-settings": { - parameters: { - query?: { - /** @description New SIP groups */ - "sipGroups[]"?: string[]; - /** @description New dial info */ - dialInInfo?: string; - /** @description New shared secret */ - sharedSecret?: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - }; - }; - responses: { - /** @description Successfully set new SIP settings */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** - * Get the welcome message from a signaling server - * @description Only available for logged-in users because guests can not use the apps right now. - * This endpoint requires admin access - */ - "signaling-get-welcome-message": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v3"; - /** @description ID of the signaling server */ - serverId: number; - }; - }; - responses: { - /** @description Welcome message returned */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - [key: string]: Record; - }; - }; - }; - }; - }; - /** @description Signaling server not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - 500: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - version?: string; - }; - }; - }; - }; - }; - }; - }; - /** Update the recording status as a backend */ - "recording-backend": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - }; - }; - responses: { - /** @description Recording status updated successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Updating recording status is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - type: string; - error: { - code: string; - message: string; - }; - }; - }; - }; - }; - }; - /** @description Missing permissions to update recording status */ - 403: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - type: string; - error: { - code: string; - message: string; - }; - }; - }; - }; - }; - }; - /** @description Room not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - type: string; - error: { - code: string; - message: string; - }; - }; - }; - }; - }; - }; - }; - }; - /** Store the recording */ - "recording-store": { - parameters: { - query?: { - /** @description User that will own the recording file. `null` is actually not allowed and will always result in a "400 Bad Request". It's only allowed code-wise to handle requests where the post data exceeded the limits, so we can return a proper error instead of "500 Internal Server Error". */ - owner?: string | null; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Recording stored successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Storing recording is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; - }; - }; - /** @description Missing permissions to store recording */ - 401: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - type: string; - error: { - code: string; - message: string; - }; - }; - }; - }; - }; - }; - }; - }; - /** Verify a dial-in PIN (SIP bridge) */ - "room-verify-dial-in-pin-deprecated": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - /** @description PIN the participant used to dial-in */ - pin: string; - }; - }; - responses: { - /** @description Participant returned */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"]; - }; - }; - }; - }; - /** @description SIP request invalid */ - 401: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Participant not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description SIP dial-in is not configured */ - 501: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Verify a dial-in PIN (SIP bridge) */ - "room-verify-dial-in-pin": { - parameters: { - query: { - /** @description PIN the participant used to dial-in */ - pin: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Participant returned */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"]; - }; - }; - }; - }; - /** @description SIP request invalid */ - 401: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Participant not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description SIP dial-in is not configured */ - 501: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Verify a dial-out number (SIP bridge) */ - "room-verify-dial-out-number": { - parameters: { - query: { - /** @description E164 formatted phone number */ - number: string; - /** @description Additional details to verify the validity of the request */ - options?: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Participant created successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"]; - }; - }; - }; - }; - /** @description Phone number and details could not be confirmed */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description SIP request invalid */ - 401: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Phone number is not invited as a participant */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description SIP dial-out is not configured */ - 501: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Create a guest by their dial-in */ - "room-create-guest-by-dial-in": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Participant created successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"]; - }; - }; - }; - }; - /** @description SIP not enabled */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description SIP request invalid */ - 401: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Reset call ID of a dial-out participant when the SIP gateway rejected it */ - "room-rejected-dial-out-request": { - parameters: { - query: { - /** @description The call ID provided by the SIP bridge earlier to uniquely identify the call to terminate */ - callId: string; - /** @description Additional details to verify the validity of the request */ - options?: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Call ID reset */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Call ID mismatch or attendeeId not found in $options */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description SIP request invalid */ - 401: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Participant was not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description SIP dial-out is not configured */ - 501: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** - * Backend API to query information required for standalone signaling servers - * @description See sections "Backend validation" in https://nextcloud-spreed-signaling.readthedocs.io/en/latest/standalone-signaling-api-v1/#backend-requests - */ - "signaling-backend": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v3"; - }; - }; - responses: { - /** @description Always, sorry about that */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - type: string; - error?: { - code: string; - message: string; - }; - auth?: { - version: string; - userid?: string; - user?: { - [key: string]: Record; - }; - }; - room?: { - version: string; - roomid?: string; - properties?: { - [key: string]: Record; - }; - permissions?: string[]; - session?: { - [key: string]: Record; - }; - }; - }; - }; - }; - }; - }; - }; - }; -}; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Chat message broadcasted successfully */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"][]; + }; + }; + }; + }; + /** @description Broadcasting chat message is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + /** @description Chat message too long */ + 413: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + }; + }; + "breakout_room-apply-attendee-map": { + parameters: { + query: { + /** @description JSON encoded mapping of the attendees to breakout rooms `array` */ + attendeeMap: string; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Attendee map applied successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"][]; + }; + }; + }; + }; + /** @description Applying attendee map is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + }; + }; + "breakout_room-request-assistance": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Assistance requested successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"]; + }; + }; + }; + }; + /** @description Requesting assistance is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + }; + }; + "breakout_room-reset-request-for-assistance": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Request for assistance reset successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"]; + }; + }; + }; + }; + /** @description Resetting the request for assistance is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + }; + }; + "breakout_room-start-breakout-rooms": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Breakout rooms started successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"][]; + }; + }; + }; + }; + /** @description Starting breakout rooms is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + }; + }; + "breakout_room-stop-breakout-rooms": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Breakout rooms stopped successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"][]; + }; + }; + }; + }; + /** @description Stopping breakout rooms is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + }; + }; + "breakout_room-switch-breakout-room": { + parameters: { + query: { + /** @description Target breakout room */ + target: string; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Switched to breakout room successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"]; + }; + }; + }; + }; + /** @description Switching to breakout room is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + }; + }; + "call-get-peers-for-call": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description List of peers in the call returned */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["CallPeer"][]; + }; + }; + }; + }; + }; + }; + "call-update-call-flags": { + parameters: { + query: { + /** @description New flags */ + flags: number; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description In-call flags updated successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Updating in-call flags is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Call session not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "call-join-call": { + parameters: { + query?: { + /** @description In-Call flags */ + flags?: number | null; + /** @description In-call permissions */ + forcePermissions?: number | null; + /** @description Join the call silently */ + silent?: 0 | 1; + /** @description When the user ticked a checkbox and agreed with being recorded (Only needed when the `config => call => recording-consent` capability is set to {@see RecordingService::CONSENT_REQUIRED_YES} or the capability is {@see RecordingService::CONSENT_REQUIRED_OPTIONAL} and the conversation `recordingConsent` value is {@see RecordingService::CONSENT_REQUIRED_YES} ) */ + recordingConsent?: 0 | 1; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Call joined successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description No recording consent was given */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error?: string; + }; + }; + }; + }; + }; + /** @description Call not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "call-leave-call": { + parameters: { + query?: { + /** @description whether to also terminate the call for all participants */ + all?: 0 | 1; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Call left successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Call session not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "call-ring-attendee": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + /** @description ID of the attendee to ring */ + attendeeId: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Attendee rang successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Ringing attendee is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + /** @description Attendee could not be found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "call-sip-dial-out": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + /** @description ID of the attendee to call */ + attendeeId: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Dial-out initiated successfully */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error?: string; + message?: string; + }; + }; + }; + }; + }; + /** @description SIP dial-out not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error?: string; + message?: string; + }; + }; + }; + }; + }; + /** @description Participant could not be found or is a wrong type */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error?: string; + message?: string; + }; + }; + }; + }; + }; + /** @description SIP dial-out is not configured on the server */ + 501: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error?: string; + message?: string; + }; + }; + }; + }; + }; + }; + }; + "chat-receive-messages": { + parameters: { + query: { + /** @description Polling for new messages (1) or getting the history of the chat (0) */ + lookIntoFuture: 0 | 1; + /** @description Number of chat messages to receive (100 by default, 200 at most) */ + limit?: number; + /** @description The last known message (serves as offset) */ + lastKnownMessageId?: number; + /** @description The last known common read message (so the response is 200 instead of 304 when it changes even when there are no messages) */ + lastCommonReadId?: number; + /** @description Number of seconds to wait for new messages (30 by default, 30 at most) */ + timeout?: number; + /** @description Automatically set the last read marker when 1, if your client does this itself via chat/{token}/read set to 0 */ + setReadMarker?: 0 | 1; + /** @description Include the $lastKnownMessageId in the messages when 1 (default 0) */ + includeLastKnown?: 0 | 1; + /** @description When the user status should not be automatically set to online set to 1 (default 0) */ + noStatusUpdate?: 0 | 1; + /** @description Set to 0 when notifications should not be marked as read (default 1) */ + markNotificationsAsRead?: 0 | 1; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Messages returned */ + 200: { + headers: { + "X-Chat-Last-Common-Read"?: string; + "X-Chat-Last-Given"?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["ChatMessageWithParent"][]; + }; + }; + }; + }; + /** @description No messages */ + 304: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "chat-send-message": { + parameters: { + query: { + /** @description the message to send */ + message: string; + /** @description for guests */ + actorDisplayName?: string; + /** @description for the message to be able to later identify it again */ + referenceId?: string; + /** @description Parent id which this message is a reply to */ + replyTo?: number; + /** @description If sent silent the chat message will not create any notifications */ + silent?: 0 | 1; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Message sent successfully */ + 201: { + headers: { + "X-Chat-Last-Common-Read"?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["ChatMessageWithParent"]; + }; + }; + }; + }; + /** @description Sending message is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Actor not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Message too long */ + 413: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Mention rate limit exceeded (guests only) */ + 429: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "chat-clear-history": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description History cleared successfully */ + 200: { + headers: { + "X-Chat-Last-Common-Read"?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["ChatMessage"]; + }; + }; + }; + }; + /** @description History cleared successfully, but Matterbridge is configured, so the information can be replicated elsewhere */ + 202: { + headers: { + "X-Chat-Last-Common-Read"?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["ChatMessage"]; + }; + }; + }; + }; + /** @description Missing permissions to clear history */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "chat-edit-message": { + parameters: { + query: { + /** @description the message to send */ + message: string; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + /** @description ID of the message */ + messageId: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Message edited successfully */ + 200: { + headers: { + "X-Chat-Last-Common-Read"?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["ChatMessageWithParent"]; + }; + }; + }; + }; + /** @description Message edited successfully, but a bot or Matterbridge is configured, so the information can be replicated to other services */ + 202: { + headers: { + "X-Chat-Last-Common-Read"?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["ChatMessageWithParent"]; + }; + }; + }; + }; + /** @description Editing message is not possible, e.g. when the new message is empty or the message is too old */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + /** @description Missing permissions to edit message */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Message not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Editing this message type is not allowed */ + 405: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Message too long */ + 413: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "chat-delete-message": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + /** @description ID of the message */ + messageId: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Message deleted successfully */ + 200: { + headers: { + "X-Chat-Last-Common-Read"?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["ChatMessageWithParent"]; + }; + }; + }; + }; + /** @description Message deleted successfully, but a bot or Matterbridge is configured, so the information can be replicated elsewhere */ + 202: { + headers: { + "X-Chat-Last-Common-Read"?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["ChatMessageWithParent"]; + }; + }; + }; + }; + /** @description Deleting message is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Missing permissions to delete message */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Message not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Deleting this message type is not allowed */ + 405: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "chat-get-message-context": { + parameters: { + query?: { + /** @description Number of chat messages to receive in both directions (50 by default, 100 at most, might return 201 messages) */ + limit?: number; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + /** @description The focused message which should be in the "middle" of the returned context */ + messageId: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Message context returned */ + 200: { + headers: { + "X-Chat-Last-Common-Read"?: string; + "X-Chat-Last-Given"?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["ChatMessageWithParent"][]; + }; + }; + }; + }; + /** @description No messages */ + 304: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "chat-get-reminder": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + /** @description ID of the message */ + messageId: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Reminder returned */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["ChatReminder"]; + }; + }; + }; + }; + /** @description Message not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error?: string; + }; + }; + }; + }; + }; + }; + }; + "chat-set-reminder": { + parameters: { + query: { + /** @description Timestamp of the reminder */ + timestamp: number; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + /** @description ID of the message */ + messageId: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Reminder created successfully */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["ChatReminder"]; + }; + }; + }; + }; + /** @description Message not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error?: string; + }; + }; + }; + }; + }; + }; + }; + "chat-delete-reminder": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + /** @description ID of the message */ + messageId: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Reminder deleted successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error?: string; + }; + }; + }; + }; + }; + /** @description Message not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error?: string; + }; + }; + }; + }; + }; + }; + }; + "chat-set-read-marker": { + parameters: { + query?: { + /** @description ID if the last read message (Optional only with `chat-read-last` capability) */ + lastReadMessage?: number | null; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Read marker set successfully */ + 200: { + headers: { + "X-Chat-Last-Common-Read"?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"]; + }; + }; + }; + }; + }; + }; + "chat-mark-unread": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Read marker set successfully */ + 200: { + headers: { + "X-Chat-Last-Common-Read"?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"]; + }; + }; + }; + }; + }; + }; + "chat-mentions": { + parameters: { + query: { + /** @description Text to search for */ + search: string; + /** @description Maximum number of results */ + limit?: number; + /** @description Include the user statuses */ + includeStatus?: 0 | 1; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description List of mention suggestions returned */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["ChatMentionSuggestion"][]; + }; + }; + }; + }; + }; + }; + "chat-get-objects-shared-in-room": { + parameters: { + query: { + /** @description Type of the objects */ + objectType: string; + /** @description ID of the last known message */ + lastKnownMessageId?: number; + /** @description Maximum number of objects */ + limit?: number; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description List of shared objects messages returned */ + 200: { + headers: { + "X-Chat-Last-Given"?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["ChatMessage"][]; + }; + }; + }; + }; + }; + }; + "chat-share-object-to-chat": { + parameters: { + query: { + /** @description Type of the object */ + objectType: string; + /** @description ID of the object */ + objectId: string; + /** @description Additional metadata */ + metaData?: string; + /** @description Guest name */ + actorDisplayName?: string; + /** @description Reference ID */ + referenceId?: string; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Object shared successfully */ + 201: { + headers: { + "X-Chat-Last-Common-Read"?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["ChatMessageWithParent"]; + }; + }; + }; + }; + /** @description Sharing object is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Actor not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Message too long */ + 413: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "chat-get-objects-shared-in-room-overview": { + parameters: { + query?: { + /** @description Maximum number of objects */ + limit?: number; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description List of shared objects messages of each type returned */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + [key: string]: components["schemas"]["ChatMessage"][] | undefined; + }; + }; + }; + }; + }; + }; + }; + "files_integration-get-room-by-file-id": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + /** @description ID of the file */ + fileId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Room token returned */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + token: string; + }; + }; + }; + }; + }; + /** @description Rooms not allowed for shares */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Share not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "files_integration-get-room-by-share-token": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + /** @description Token of the file share */ + shareToken: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Room token and user info returned */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + token: string; + userId: string; + userDisplayName: string; + }; + }; + }; + }; + }; + /** @description Rooms not allowed for shares */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Share not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "guest-set-display-name": { + parameters: { + query: { + /** @description New display name */ + displayName: string; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Display name updated successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Not a guest */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Not a participant */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "matterbridge-get-bridge-of-room": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Return list of configured bridges */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["MatterbridgeWithProcessState"]; + }; + }; + }; + }; + }; + }; + "matterbridge-edit-bridge-of-room": { + parameters: { + query: { + /** @description If the bridge should be enabled */ + enabled: 0 | 1; + /** @description New parts */ + parts?: string; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Bridge edited successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["MatterbridgeProcessState"]; + }; + }; + }; + }; + /** @description Editing bridge is not possible */ + 406: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + }; + }; + "matterbridge-delete-bridge-of-room": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Bridge deleted successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: boolean; + }; + }; + }; + }; + /** @description Deleting bridge is not possible */ + 406: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + }; + }; + "matterbridge-get-bridge-process-state": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Return list of running processes */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["MatterbridgeProcessState"]; + }; + }; + }; + }; + }; + }; + "poll-create-poll": { + parameters: { + query: { + /** @description Question of the poll */ + question: string; + /** @description Options of the poll */ + "options[]": string[]; + /** @description Mode how the results will be shown */ + resultMode: 0 | 1; + /** @description Number of maximum votes per voter */ + maxVotes: number; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Poll created successfully */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Poll"]; + }; + }; + }; + }; + /** @description Creating poll is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "poll-show-poll": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + /** @description ID of the poll */ + pollId: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Poll returned */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Poll"]; + }; + }; + }; + }; + /** @description Poll not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "poll-vote-poll": { + parameters: { + query?: { + /** @description IDs of the selected options */ + "optionIds[]"?: number[]; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + /** @description ID of the poll */ + pollId: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Voted successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Poll"]; + }; + }; + }; + }; + /** @description Voting is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Poll not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "poll-close-poll": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + /** @description ID of the poll */ + pollId: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Poll closed successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Poll"]; + }; + }; + }; + }; + /** @description Poll already closed */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Missing permissions to close poll */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Poll not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "public_share_auth-create-room": { + parameters: { + query: { + /** @description Token of the file share */ + shareToken: string; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Room created successfully */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + token: string; + name: string; + displayName: string; + }; + }; + }; + }; + }; + /** @description Share not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "reaction-get-reactions": { + parameters: { + query?: { + /** @description Emoji to filter */ + reaction?: string | null; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + /** @description ID of the message */ + messageId: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Reactions returned */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + [key: string]: components["schemas"]["Reaction"][] | undefined; + }; + }; + }; + }; + }; + /** @description Message or reaction not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "reaction-react": { + parameters: { + query: { + /** @description Emoji to add */ + reaction: string; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + /** @description ID of the message */ + messageId: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Reaction already existed */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + [key: string]: components["schemas"]["Reaction"][] | undefined; + }; + }; + }; + }; + }; + /** @description Reaction added successfully */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + [key: string]: components["schemas"]["Reaction"][] | undefined; + }; + }; + }; + }; + }; + /** @description Adding reaction is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Message not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "reaction-delete": { + parameters: { + query: { + /** @description Emoji to remove */ + reaction: string; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + /** @description ID of the message */ + messageId: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Reaction deleted successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + [key: string]: components["schemas"]["Reaction"][] | undefined; + }; + }; + }; + }; + }; + /** @description Deleting reaction is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Message not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "recording-start": { + parameters: { + query: { + /** @description Type of the recording */ + status: number; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Recording started successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Starting recording is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + }; + }; + "recording-stop": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Recording stopped successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Stopping recording is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + }; + }; + "recording-notification-dismiss": { + parameters: { + query: { + /** @description Timestamp of the notification to be dismissed */ + timestamp: number; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Notification dismissed successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Dismissing notification is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + }; + }; + "recording-share-to-chat": { + parameters: { + query: { + /** @description ID of the file */ + fileId: number; + /** @description Timestamp of the notification to be dismissed */ + timestamp: number; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Recording shared to chat successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Sharing recording to chat is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + }; + }; + "room-get-rooms": { + parameters: { + query?: { + /** @description When the user status should not be automatically set to online set to 1 (default 0) */ + noStatusUpdate?: 0 | 1; + /** @description Include the user status */ + includeStatus?: 0 | 1; + /** @description Filter rooms modified after a timestamp */ + modifiedSince?: number; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Return list of rooms */ + 200: { + headers: { + "X-Nextcloud-Talk-Hash"?: string; + "X-Nextcloud-Talk-Modified-Before"?: string; + "X-Nextcloud-Talk-Federation-Invites"?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"][]; + }; + }; + }; + }; + }; + }; + "room-create-room": { + parameters: { + query: { + /** @description Type of the room */ + roomType: number; + /** @description User, group, … ID to invite */ + invite?: string; + /** @description Name of the room */ + roomName?: string; + /** @description Source of the invite ID ('circles' to create a room with a circle, etc.) */ + source?: string; + /** @description Type of the object */ + objectType?: string; + /** @description ID of the object */ + objectId?: string; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Room already existed */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"]; + }; + }; + }; + }; + /** @description Room created successfully */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"]; + }; + }; + }; + }; + /** @description Room type invalid */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error?: string; + }; + }; + }; + }; + }; + /** @description Missing permissions to create room */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description User, group or other target to invite was not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-get-listed-rooms": { + parameters: { + query?: { + /** @description search term */ + searchTerm?: string; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Return list of matching rooms */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"][]; + }; + }; + }; + }; + }; + }; + "room-get-note-to-self-conversation": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Room returned successfully */ + 200: { + headers: { + "X-Nextcloud-Talk-Hash"?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"]; + }; + }; + }; + }; + }; + }; + "room-get-single-room": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + /** @description Token of the room */ + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Room returned */ + 200: { + headers: { + "X-Nextcloud-Talk-Hash"?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"]; + }; + }; + }; + }; + /** @description SIP request invalid */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Room not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-get-breakout-rooms": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Breakout rooms returned */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"][]; + }; + }; + }; + }; + /** @description Getting breakout rooms is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + }; + }; + "room-make-public": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Allowed guests successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Allowing guests is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-make-private": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Room unpublished Disallowing guests successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Disallowing guests is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-set-description": { + parameters: { + query: { + /** @description New description */ + description: string; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Description updated successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Updating description is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-set-read-only": { + parameters: { + query: { + /** @description New read-only state */ + state: 0 | 1; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Read-only state updated successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Updating read-only state is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-set-listable": { + parameters: { + query: { + /** @description Scope where the room is listable */ + scope: 0 | 1 | 2; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Made room listable successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Making room listable is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-set-password": { + parameters: { + query: { + /** @description New password */ + password: string; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Password set successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Setting password is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + message?: string; + }; + }; + }; + }; + }; + /** @description Setting password is not allowed */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-set-permissions": { + parameters: { + query: { + /** @description New permissions */ + permissions: number; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + /** @description Level of the permissions ('call', 'default') */ + mode: "call" | "default"; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Permissions updated successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"]; + }; + }; + }; + }; + /** @description Updating permissions is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-get-participants": { + parameters: { + query?: { + /** @description Include the user statuses */ + includeStatus?: 0 | 1; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Participants returned */ + 200: { + headers: { + "X-Nextcloud-Has-User-Statuses"?: boolean; + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Participant"][]; + }; + }; + }; + }; + /** @description Missing permissions for getting participants */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-add-participant-to-room": { + parameters: { + query: { + /** @description New participant */ + newParticipant: string; + /** @description Source of the participant */ + source?: "users" | "groups" | "circles" | "emails" | "federated_users" | "phones"; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Participant successfully added */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + /** Format: int64 */ + type: number; + } | unknown[]; + }; + }; + }; + }; + /** @description Adding participant is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error?: string; + }; + }; + }; + }; + }; + /** @description User, group or other target to invite was not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description SIP dial-out is not configured */ + 501: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-get-breakout-room-participants": { + parameters: { + query?: { + /** @description Include the user statuses */ + includeStatus?: 0 | 1; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Breakout room participants returned */ + 200: { + headers: { + "X-Nextcloud-Has-User-Statuses"?: boolean; + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Participant"][]; + }; + }; + }; + }; + /** @description Getting breakout room participants is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + /** @description Missing permissions to get breakout room participants */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-remove-self-from-room": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Participant removed successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Removing participant is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Participant not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-remove-attendee-from-room": { + parameters: { + query: { + /** @description ID of the attendee */ + attendeeId: number; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Attendee removed successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Removing attendee is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Removing attendee is not allowed */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Attendee not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-set-attendee-permissions": { + parameters: { + query: { + /** @description ID of the attendee */ + attendeeId: number; + /** @description Method of updating permissions ('set', 'remove', 'add') */ + method: "set" | "remove" | "add"; + /** @description New permissions */ + permissions: number; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Permissions updated successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Updating permissions is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Missing permissions to update permissions */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Attendee not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-set-all-attendees-permissions": { + parameters: { + query: { + /** @description Method of updating permissions ('set', 'remove', 'add') */ + method: "set" | "remove" | "add"; + /** @description New permissions */ + permissions: number; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Permissions updated successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"]; + }; + }; + }; + }; + /** @description Updating permissions is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-join-room": { + parameters: { + query?: { + /** @description Password of the room */ + password?: string; + /** @description Create a new session if necessary */ + force?: 0 | 1; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + /** @description Token of the room */ + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Room joined successfully */ + 200: { + headers: { + "X-Nextcloud-Talk-Proxy-Hash"?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"]; + }; + }; + }; + }; + /** @description Joining room is not allowed */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + /** @enum {string} */ + error: "ban" | "password"; + }; + }; + }; + }; + }; + /** @description Room not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Session already exists */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + sessionId: string; + /** Format: int64 */ + inCall: number; + /** Format: int64 */ + lastPing: number; + }; + }; + }; + }; + }; + }; + }; + "room-leave-room": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + /** @description Token of the room */ + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successfully left the room */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-resend-invitations": { + parameters: { + query?: { + /** @description ID of the attendee */ + attendeeId?: number | null; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Invitation resent successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Attendee not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-set-session-state": { + parameters: { + query: { + /** @description of the room */ + state: 0 | 1; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Session state set successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"]; + }; + }; + }; + }; + /** @description The provided new state was invalid */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description The participant did not have a session */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-promote-moderator": { + parameters: { + query: { + /** @description ID of the attendee */ + attendeeId: number; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Attendee promoted to moderator successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Promoting attendee to moderator is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Promoting attendee to moderator is not allowed */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Attendee not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-demote-moderator": { + parameters: { + query: { + /** @description ID of the attendee */ + attendeeId: number; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Attendee demoted from moderator successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Demoting attendee from moderator is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Demoting attendee from moderator is not allowed */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Attendee not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-add-to-favorites": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successfully added room to favorites */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-remove-from-favorites": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successfully removed room from favorites */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-set-notification-level": { + parameters: { + query: { + /** @description New level */ + level: number; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Notification level updated successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Updating notification level is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-set-notification-calls": { + parameters: { + query: { + /** @description New level */ + level: number; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Call notification level updated successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Updating call notification level is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-set-lobby": { + parameters: { + query: { + /** @description New state */ + state: number; + /** @description Timer when the lobby will be removed */ + timer?: number | null; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Lobby state updated successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"]; + }; + }; + }; + }; + /** @description Updating lobby state is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-setsip-enabled": { + parameters: { + query: { + /** @description New state */ + state: 0 | 1 | 2; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description SIP enabled state updated successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"]; + }; + }; + }; + }; + /** @description Updating SIP enabled state is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description User not found */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Missing permissions to update SIP enabled state */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description SIP not configured */ + 412: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-set-recording-consent": { + parameters: { + query: { + /** @description New consent setting for the conversation (Only {@see RecordingService::CONSENT_REQUIRED_NO} and {@see RecordingService::CONSENT_REQUIRED_YES} are allowed here.) */ + recordingConsent: number; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Recording consent requirement set successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"]; + }; + }; + }; + }; + /** @description Setting recording consent requirement is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + /** @description No recording server is configured */ + 412: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-set-message-expiration": { + parameters: { + query: { + /** @description New time */ + seconds: number; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Message expiration time updated successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Updating message expiration time is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error?: string; + }; + }; + }; + }; + }; + }; + }; + "room-get-capabilities": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Get capabilities successfully */ + 200: { + headers: { + "X-Nextcloud-Talk-Hash"?: string; + "X-Nextcloud-Talk-Proxy-Hash"?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Capabilities"] | unknown[]; + }; + }; + }; + }; + }; + }; + "settings-set-user-setting": { + parameters: { + query: { + /** @description Key to update */ + key: "attachment_folder" | "read_status_privacy" | "typing_privacy" | "play_sounds"; + /** @description New value for the key */ + value?: (string | number) | null; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description User setting updated successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Updating user setting is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "signaling-get-settings": { + parameters: { + query?: { + /** @description Token of the room */ + token?: string; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v3"; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Signaling settings returned */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["SignalingSettings"]; + }; + }; + }; + }; + /** @description Recording request invalid */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Room not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "signaling-pull-messages": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v3"; + /** @description Token of the room */ + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Signaling messages returned */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + type: string; + data: components["schemas"]["SignalingSession"][] | string; + }[]; + }; + }; + }; + }; + /** @description Getting signaling messages is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: string; + }; + }; + }; + }; + /** @description Session, room or participant not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + type: string; + data: components["schemas"]["SignalingSession"][] | string; + }[]; + }; + }; + }; + }; + /** @description Session killed */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + type: string; + data: components["schemas"]["SignalingSession"][] | string; + }[]; + }; + }; + }; + }; + }; + }; + "signaling-send-messages": { + parameters: { + query: { + /** @description JSON encoded messages */ + messages: string; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v3"; + /** @description Token of the room */ + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Signaling message sent successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Sending signaling message is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: string; + }; + }; + }; + }; + }; + }; + "temp_avatar-post-avatar": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Avatar uploaded successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Uploading avatar is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + message: string; + }; + }; + }; + }; + }; + }; + }; + "temp_avatar-delete-avatar": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Avatar deleted successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Deleting avatar is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "avatar-get-user-proxy-avatar-without-room": { + parameters: { + query: { + /** @description Federation CloudID to get the avatar for */ + cloudId: string; + /** @description Theme used for background */ + darkTheme?: 0 | 1; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + /** @description Avatar size */ + size: 64 | 512; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description User avatar returned */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "*/*": string; + }; + }; + }; + }; + "avatar-get-user-proxy-avatar-dark-without-room": { + parameters: { + query: { + /** @description Federation CloudID to get the avatar for */ + cloudId: string; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + /** @description Avatar size */ + size: 64 | 512; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description User avatar returned */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "*/*": string; + }; + }; + }; + }; + "avatar-get-user-proxy-avatar": { + parameters: { + query: { + /** @description Federation CloudID to get the avatar for */ + cloudId: string; + /** @description Theme used for background */ + darkTheme?: 0 | 1; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + /** @description Avatar size */ + size: 64 | 512; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description User avatar returned */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "*/*": string; + }; + }; + }; + }; + "avatar-get-user-proxy-avatar-dark": { + parameters: { + query: { + /** @description Federation CloudID to get the avatar for */ + cloudId: string; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + /** @description Avatar size */ + size: 64 | 512; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description User avatar returned */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "*/*": string; + }; + }; + }; + }; + "federation-accept-share": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + /** @description ID of the share */ + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Invite accepted successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"]; + }; + }; + }; + }; + /** @description Invite can not be accepted (maybe it was accepted already) */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + /** @description Invite can not be found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error?: string; + }; + }; + }; + }; + }; + /** @description Remote server could not be reached to notify about the acceptance */ + 410: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + }; + }; + "federation-reject-share": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + /** @description ID of the share */ + id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Invite declined successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Invite was already accepted, use the "Remove the current user from a room" endpoint instead */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error?: string; + }; + }; + }; + }; + }; + /** @description Invite can not be found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error?: string; + }; + }; + }; + }; + }; + }; + }; + "federation-get-shares": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Get list of received federation invites successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["FederationInvite"][]; + }; + }; + }; + }; + }; + }; + "room-join-federated-room": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + /** @description Token of the room */ + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Federated user is still part of the room */ + 200: { + headers: { + "X-Nextcloud-Talk-Hash"?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Room not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "bot-send-message": { + parameters: { + query: { + /** @description The message to send */ + message: string; + /** @description For the message to be able to later identify it again */ + referenceId?: string; + /** @description Parent id which this message is a reply to */ + replyTo?: number; + /** @description If sent silent the chat message will not create any notifications */ + silent?: 0 | 1; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + /** @description Conversation token */ + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Message sent successfully */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description When the replyTo is invalid or message is empty */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Sending message is not allowed */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Message too long */ + 413: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "bot-react": { + parameters: { + query: { + /** @description Reaction to add */ + reaction: string; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + /** @description Conversation token */ + token: string; + /** @description ID of the message */ + messageId: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Reaction already exists */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Reacted successfully */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Reacting is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Reacting is not allowed */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Reaction not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "bot-delete-reaction": { + parameters: { + query: { + /** @description Reaction to delete */ + reaction: string; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + /** @description Conversation token */ + token: string; + /** @description ID of the message */ + messageId: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Reaction deleted successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Reacting is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Reacting is not allowed */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Reaction not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "bot-admin-list-bots": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Bot list returned */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["BotWithDetails"][]; + }; + }; + }; + }; + }; + }; + "certificate-get-certificate-expiration": { + parameters: { + query: { + /** @description Host to check */ + host: string; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Certificate expiration returned */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + /** Format: int64 */ + expiration_in_days: number | null; + }; + }; + }; + }; + }; + /** @description Getting certificate expiration is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + message: string; + }; + }; + }; + }; + }; + }; + }; + "hosted_signaling_server-request-trial": { + parameters: { + query: { + /** @description Server URL */ + url: string; + /** @description Display name of the user */ + name: string; + /** @description Email of the user */ + email: string; + /** @description Language of the user */ + language: string; + /** @description Country of the user */ + country: string; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Trial requested successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + [key: string]: Record | undefined; + }; + }; + }; + }; + }; + /** @description Requesting trial is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + message: string; + }; + }; + }; + }; + }; + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + message: string; + }; + }; + }; + }; + }; + }; + }; + "hosted_signaling_server-delete-account": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Account deleted successfully */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Deleting account is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + message: string; + }; + }; + }; + }; + }; + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + message: string; + }; + }; + }; + }; + }; + }; + }; + "matterbridge_settings-stop-all-bridges": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description All bridges stopped successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: boolean; + }; + }; + }; + }; + /** @description Stopping all bridges is not possible */ + 406: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + }; + }; + "matterbridge_settings-get-matterbridge-version": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Bridge version returned */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + version: string; + }; + }; + }; + }; + }; + /** @description Getting bridge version is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + }; + }; + "recording-get-welcome-message": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + /** @description ID of the server */ + serverId: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Welcome message returned */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + /** Format: double */ + version: number; + }; + }; + }; + }; + }; + /** @description Recording server not found or not configured */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + }; + }; + "settings-setsip-settings": { + parameters: { + query?: { + /** @description New SIP groups */ + "sipGroups[]"?: string[]; + /** @description New dial info */ + dialInInfo?: string; + /** @description New shared secret */ + sharedSecret?: string; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successfully set new SIP settings */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "signaling-get-welcome-message": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v3"; + /** @description ID of the signaling server */ + serverId: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Welcome message returned */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + [key: string]: Record | undefined; + }; + }; + }; + }; + }; + /** @description Signaling server not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + version?: string; + }; + }; + }; + }; + }; + }; + }; + "recording-backend": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Recording status updated successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Updating recording status is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + type: string; + error: { + code: string; + message: string; + }; + }; + }; + }; + }; + }; + /** @description Missing permissions to update recording status */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + type: string; + error: { + code: string; + message: string; + }; + }; + }; + }; + }; + }; + /** @description Room not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + type: string; + error: { + code: string; + message: string; + }; + }; + }; + }; + }; + }; + }; + }; + "recording-store": { + parameters: { + query?: { + /** @description User that will own the recording file. `null` is actually not allowed and will always result in a "400 Bad Request". It's only allowed code-wise to handle requests where the post data exceeded the limits, so we can return a proper error instead of "500 Internal Server Error". */ + owner?: string | null; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Recording stored successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Storing recording is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + /** @description Missing permissions to store recording */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + type: string; + error: { + code: string; + message: string; + }; + }; + }; + }; + }; + }; + }; + }; + "room-verify-dial-in-pin-deprecated": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + /** @description PIN the participant used to dial-in */ + pin: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Participant returned */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"]; + }; + }; + }; + }; + /** @description SIP request invalid */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Participant not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description SIP dial-in is not configured */ + 501: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-verify-dial-in-pin": { + parameters: { + query: { + /** @description PIN the participant used to dial-in */ + pin: string; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Participant returned */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"]; + }; + }; + }; + }; + /** @description SIP request invalid */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Participant not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description SIP dial-in is not configured */ + 501: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-verify-dial-out-number": { + parameters: { + query: { + /** @description E164 formatted phone number */ + number: string; + /** @description Additional details to verify the validity of the request */ + options?: string; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Participant created successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"]; + }; + }; + }; + }; + /** @description Phone number and details could not be confirmed */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description SIP request invalid */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Phone number is not invited as a participant */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description SIP dial-out is not configured */ + 501: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-create-guest-by-dial-in": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Participant created successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"]; + }; + }; + }; + }; + /** @description SIP not enabled */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description SIP request invalid */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-rejected-dial-out-request": { + parameters: { + query: { + /** @description The call ID provided by the SIP bridge earlier to uniquely identify the call to terminate */ + callId: string; + /** @description Additional details to verify the validity of the request */ + options?: string; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Call ID reset */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Call ID mismatch or attendeeId not found in $options */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description SIP request invalid */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Participant was not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description SIP dial-out is not configured */ + 501: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "signaling-backend": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v3"; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Always, sorry about that */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + type: string; + error?: { + code: string; + message: string; + }; + auth?: { + version: string; + userid?: string; + user?: { + [key: string]: Record | undefined; + }; + }; + room?: { + version: string; + roomid?: string; + properties?: { + [key: string]: Record | undefined; + }; + permissions?: string[]; + session?: { + [key: string]: Record | undefined; + }; + }; + }; + }; + }; + }; + }; + }; + }; +} diff --git a/src/types/openapi/openapi.ts b/src/types/openapi/openapi.ts index 7192cee515c..3fc3056bb03 100644 --- a/src/types/openapi/openapi.ts +++ b/src/types/openapi/openapi.ts @@ -3,5589 +3,7217 @@ * Do not make direct changes to the file. */ - -/** OneOf type helpers */ -type Without = { [P in Exclude]?: never }; -type XOR = (T | U) extends object ? (Without & U) | (Without & T) : T | U; -type OneOf = T extends [infer Only] ? Only : T extends [infer A, infer B, ...infer Rest] ? OneOf<[XOR, ...Rest]> : never; - export type paths = { - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/avatar": { - /** Get the avatar of a room */ - get: operations["avatar-get-avatar"]; - /** Upload an avatar for a room */ - post: operations["avatar-upload-avatar"]; - /** Delete the avatar of a room */ - delete: operations["avatar-delete-avatar"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/avatar/emoji": { - /** Set an emoji as avatar */ - post: operations["avatar-emoji-avatar"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/avatar/dark": { - /** Get the dark mode avatar of a room */ - get: operations["avatar-get-avatar-dark"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/ban/{token}": { - /** - * List the bans of a conversation - * @description Required capability: `ban-v1` - */ - get: operations["ban-list-bans"]; - /** - * Ban an actor or IP address - * @description Required capability: `ban-v1` - */ - post: operations["ban-ban-actor"]; - /** - * Unban an actor or IP address - * @description Required capability: `ban-v1` - */ - delete: operations["ban-unban-actor"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/bot/{token}": { - /** List bots */ - get: operations["bot-list-bots"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/bot/{token}/{botId}": { - /** Enables a bot */ - post: operations["bot-enable-bot"]; - /** Disables a bot */ - delete: operations["bot-disable-bot"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/breakout-rooms/{token}": { - /** Configure the breakout rooms */ - post: operations["breakout_room-configure-breakout-rooms"]; - /** Remove the breakout rooms */ - delete: operations["breakout_room-remove-breakout-rooms"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/breakout-rooms/{token}/broadcast": { - /** Broadcast a chat message to all breakout rooms */ - post: operations["breakout_room-broadcast-chat-message"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/breakout-rooms/{token}/attendees": { - /** Apply an attendee map to the breakout rooms */ - post: operations["breakout_room-apply-attendee-map"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/breakout-rooms/{token}/request-assistance": { - /** Request assistance */ - post: operations["breakout_room-request-assistance"]; - /** Reset the request for assistance */ - delete: operations["breakout_room-reset-request-for-assistance"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/breakout-rooms/{token}/rooms": { - /** Start the breakout rooms */ - post: operations["breakout_room-start-breakout-rooms"]; - /** Stop the breakout rooms */ - delete: operations["breakout_room-stop-breakout-rooms"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/breakout-rooms/{token}/switch": { - /** Switch to another breakout room */ - post: operations["breakout_room-switch-breakout-room"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/call/{token}": { - /** Get the peers for a call */ - get: operations["call-get-peers-for-call"]; - /** Update the in-call flags */ - put: operations["call-update-call-flags"]; - /** Join a call */ - post: operations["call-join-call"]; - /** Leave a call */ - delete: operations["call-leave-call"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/call/{token}/ring/{attendeeId}": { - /** Ring an attendee */ - post: operations["call-ring-attendee"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/call/{token}/dialout/{attendeeId}": { - /** Call a SIP dial-out attendee */ - post: operations["call-sip-dial-out"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/chat/{token}": { - /** - * Receives chat messages from the given room - * @description - Receiving the history ($lookIntoFuture=0): The next $limit messages after $lastKnownMessageId will be returned. The new $lastKnownMessageId for the follow up query is available as `X-Chat-Last-Given` header. - * - Looking into the future ($lookIntoFuture=1): If there are currently no messages the response will not be sent immediately. Instead, HTTP connection will be kept open waiting for new messages to arrive and, when they do, then the response will be sent. The connection will not be kept open indefinitely, though; the number of seconds to wait for new messages to arrive can be set using the timeout parameter; the default timeout is 30 seconds, maximum timeout is 60 seconds. If the timeout ends a successful but empty response will be sent. If messages have been returned (status=200) the new $lastKnownMessageId for the follow up query is available as `X-Chat-Last-Given` header. - * The limit specifies the maximum number of messages that will be returned, although the actual number of returned messages could be lower if some messages are not visible to the participant. Note that if none of the messages are visible to the participant the returned number of messages will be 0, yet the status will still be 200. Also note that `X-Chat-Last-Given` may reference a message not visible and thus not returned, but it should be used nevertheless as the $lastKnownMessageId for the follow-up query. - */ - get: operations["chat-receive-messages"]; - /** - * Sends a new chat message to the given room - * @description The author and timestamp are automatically set to the current user/guest and time. - */ - post: operations["chat-send-message"]; - /** Clear the chat history */ - delete: operations["chat-clear-history"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/chat/{token}/{messageId}": { - /** Edit a chat message */ - put: operations["chat-edit-message"]; - /** Delete a chat message */ - delete: operations["chat-delete-message"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/chat/{token}/{messageId}/context": { - /** Get the context of a message */ - get: operations["chat-get-message-context"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/chat/{token}/{messageId}/reminder": { - /** Get the reminder for a chat message */ - get: operations["chat-get-reminder"]; - /** Set a reminder for a chat message */ - post: operations["chat-set-reminder"]; - /** Delete a chat reminder */ - delete: operations["chat-delete-reminder"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/chat/{token}/read": { - /** Set the read marker to a specific message */ - post: operations["chat-set-read-marker"]; - /** Mark a chat as unread */ - delete: operations["chat-mark-unread"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/chat/{token}/mentions": { - /** Search for mentions */ - get: operations["chat-mentions"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/chat/{token}/share": { - /** Get objects that are shared in the room */ - get: operations["chat-get-objects-shared-in-room"]; - /** - * Sends a rich-object to the given room - * @description The author and timestamp are automatically set to the current user/guest and time. - */ - post: operations["chat-share-object-to-chat"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/chat/{token}/share/overview": { - /** Get objects that are shared in the room overview */ - get: operations["chat-get-objects-shared-in-room-overview"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/file/{fileId}": { - /** - * Get the token of the room associated to the given file id - * @description This is the counterpart of self::getRoomByShareToken() for file ids instead of share tokens, although both return the same room token if the given file id and share token refer to the same file. - * If there is no room associated to the given file id a new room is created; the new room is a public room associated with a "file" object with the given file id. Unlike normal rooms in which the owner is the user that created the room these are special rooms without owner (although self joined users with direct access to the file become persistent participants automatically when they join until they explicitly leave or no longer have access to the file). - * In any case, to create or even get the token of the room, the file must be shared and the user must be the owner of a public share of the file (like a link share, for example) or have direct access to that file; an error is returned otherwise. A user has direct access to a file if she has access to it (or to an ancestor) through a user, group, circle or room share (but not through a link share, for example), or if she is the owner of such a file. - */ - get: operations["files_integration-get-room-by-file-id"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/publicshare/{shareToken}": { - /** - * Returns the token of the room associated to the file of the given share token - * @description This is the counterpart of self::getRoomByFileId() for share tokens instead of file ids, although both return the same room token if the given file id and share token refer to the same file. - * If there is no room associated to the file id of the given share token a new room is created; the new room is a public room associated with a "file" object with the file id of the given share token. Unlike normal rooms in which the owner is the user that created the room these are special rooms without owner (although self joined users with direct access to the file become persistent participants automatically when they join until they explicitly leave or no longer have access to the file). - * In any case, to create or even get the token of the room, the file must be publicly shared (like a link share, for example); an error is returned otherwise. - * Besides the token of the room this also returns the current user ID and display name, if any; this is needed by the Talk sidebar to know the actual current user, as the public share page uses the incognito mode and thus logged-in users as seen as guests. - */ - get: operations["files_integration-get-room-by-share-token"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/guest/{token}/name": { - /** Set the display name as a guest */ - post: operations["guest-set-display-name"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/bridge/{token}": { - /** Get bridge information of one room */ - get: operations["matterbridge-get-bridge-of-room"]; - /** Edit bridge information of one room */ - put: operations["matterbridge-edit-bridge-of-room"]; - /** Delete bridge of one room */ - delete: operations["matterbridge-delete-bridge-of-room"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/bridge/{token}/process": { - /** Get bridge process information */ - get: operations["matterbridge-get-bridge-process-state"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/poll/{token}": { - /** Create a poll */ - post: operations["poll-create-poll"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/poll/{token}/{pollId}": { - /** Get a poll */ - get: operations["poll-show-poll"]; - /** Vote on a poll */ - post: operations["poll-vote-poll"]; - /** Close a poll */ - delete: operations["poll-close-poll"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/publicshareauth": { - /** - * Creates a new room for video verification (requesting the password of a share) - * @description The new room is a public room associated with a "share:password" object with the ID of the share token. Unlike normal rooms in which the owner is the user that created the room these are special rooms always created by a guest or user on behalf of a registered user, the sharer, who will be the owner of the room. - * The share must have "send password by Talk" enabled; an error is returned otherwise. - */ - post: operations["public_share_auth-create-room"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/reaction/{token}/{messageId}": { - /** Get a list of reactions for a message */ - get: operations["reaction-get-reactions"]; - /** Add a reaction to a message */ - post: operations["reaction-react"]; - /** Delete a reaction from a message */ - delete: operations["reaction-delete"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/recording/{token}": { - /** Start the recording */ - post: operations["recording-start"]; - /** Stop the recording */ - delete: operations["recording-stop"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/recording/{token}/notification": { - /** Dismiss the store call recording notification */ - delete: operations["recording-notification-dismiss"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/recording/{token}/share-chat": { - /** Share the recorded file to the chat */ - post: operations["recording-share-to-chat"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room": { - /** Get all currently existent rooms which the user has joined */ - get: operations["room-get-rooms"]; - /** Create a room with a user, a group or a circle */ - post: operations["room-create-room"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/listed-room": { - /** Get listed rooms with optional search term */ - get: operations["room-get-listed-rooms"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/note-to-self": { - /** - * Get the "Note to self" conversation for the user - * @description It will be automatically created when it is currently missing - */ - get: operations["room-get-note-to-self-conversation"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}": { - /** Get a room */ - get: operations["room-get-single-room"]; - /** Rename a room */ - put: operations["room-rename-room"]; - /** Delete a room */ - delete: operations["room-delete-room"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/breakout-rooms": { - /** - * Get breakout rooms - * @description All for moderators and in case of "free selection", or the assigned breakout room for other participants - */ - get: operations["room-get-breakout-rooms"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/public": { - /** Allowed guests to join conversation */ - post: operations["room-make-public"]; - /** Disallowed guests to join conversation */ - delete: operations["room-make-private"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/description": { - /** Update the description of a room */ - put: operations["room-set-description"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/read-only": { - /** Set read-only state of a room */ - put: operations["room-set-read-only"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/listable": { - /** Make a room listable */ - put: operations["room-set-listable"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/password": { - /** Set a password for a room */ - put: operations["room-set-password"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/permissions/{mode}": { - /** Update the permissions of a room */ - put: operations["room-set-permissions"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/participants": { - /** Get a list of participants for a room */ - get: operations["room-get-participants"]; - /** Add a participant to a room */ - post: operations["room-add-participant-to-room"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/breakout-rooms/participants": { - /** Get the breakout room participants for a room */ - get: operations["room-get-breakout-room-participants"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/participants/self": { - /** Remove the current user from a room */ - delete: operations["room-remove-self-from-room"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/attendees": { - /** Remove an attendee from a room */ - delete: operations["room-remove-attendee-from-room"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/attendees/permissions": { - /** Update the permissions of an attendee */ - put: operations["room-set-attendee-permissions"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/attendees/permissions/all": { - /** Update the permissions of all attendees */ - put: operations["room-set-all-attendees-permissions"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/participants/active": { - /** Join a room */ - post: operations["room-join-room"]; - /** Leave a room */ - delete: operations["room-leave-room"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/participants/resend-invitations": { - /** Resend invitations */ - post: operations["room-resend-invitations"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/participants/state": { - /** Set active state for a session */ - put: operations["room-set-session-state"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/moderators": { - /** Promote an attendee to moderator */ - post: operations["room-promote-moderator"]; - /** Demote an attendee from moderator */ - delete: operations["room-demote-moderator"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/favorite": { - /** Add a room to the favorites */ - post: operations["room-add-to-favorites"]; - /** Remove a room from the favorites */ - delete: operations["room-remove-from-favorites"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/notify": { - /** Update the notification level for a room */ - post: operations["room-set-notification-level"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/notify-calls": { - /** Update call notifications */ - post: operations["room-set-notification-calls"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/webinar/lobby": { - /** Update the lobby state for a room */ - put: operations["room-set-lobby"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/webinar/sip": { - /** Update SIP enabled state */ - put: operations["room-setsip-enabled"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/recording-consent": { - /** Set recording consent requirement for this conversation */ - put: operations["room-set-recording-consent"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/message-expiration": { - /** Update message expiration time */ - post: operations["room-set-message-expiration"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/capabilities": { - /** - * Get capabilities for a room - * @description See "Capability handling in federated conversations" in https://github.com/nextcloud/spreed/issues/10680 to learn which capabilities should be considered from the local server or from the remote server. - */ - get: operations["room-get-capabilities"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/settings/user": { - /** Update user setting */ - post: operations["settings-set-user-setting"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/signaling/settings": { - /** Get the signaling settings */ - get: operations["signaling-get-settings"]; - }; - "/ocs/v2.php/apps/spreed/api/{apiVersion}/signaling/{token}": { - /** Get signaling messages */ - get: operations["signaling-pull-messages"]; - /** Send signaling messages */ - post: operations["signaling-send-messages"]; - }; - "/ocs/v2.php/apps/spreed/temp-user-avatar": { - /** Upload your avatar as a user */ - post: operations["temp_avatar-post-avatar"]; - /** Delete your avatar as a user */ - delete: operations["temp_avatar-delete-avatar"]; - }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/avatar": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get the avatar of a room */ + get: operations["avatar-get-avatar"]; + put?: never; + /** Upload an avatar for a room */ + post: operations["avatar-upload-avatar"]; + /** Delete the avatar of a room */ + delete: operations["avatar-delete-avatar"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/avatar/emoji": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Set an emoji as avatar */ + post: operations["avatar-emoji-avatar"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/avatar/dark": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get the dark mode avatar of a room */ + get: operations["avatar-get-avatar-dark"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/ban/{token}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List the bans of a conversation + * @description Required capability: `ban-v1` + */ + get: operations["ban-list-bans"]; + put?: never; + /** + * Ban an actor or IP address + * @description Required capability: `ban-v1` + */ + post: operations["ban-ban-actor"]; + /** + * Unban an actor or IP address + * @description Required capability: `ban-v1` + */ + delete: operations["ban-unban-actor"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/bot/{token}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List bots */ + get: operations["bot-list-bots"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/bot/{token}/{botId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Enables a bot */ + post: operations["bot-enable-bot"]; + /** Disables a bot */ + delete: operations["bot-disable-bot"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/breakout-rooms/{token}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Configure the breakout rooms */ + post: operations["breakout_room-configure-breakout-rooms"]; + /** Remove the breakout rooms */ + delete: operations["breakout_room-remove-breakout-rooms"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/breakout-rooms/{token}/broadcast": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Broadcast a chat message to all breakout rooms */ + post: operations["breakout_room-broadcast-chat-message"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/breakout-rooms/{token}/attendees": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Apply an attendee map to the breakout rooms */ + post: operations["breakout_room-apply-attendee-map"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/breakout-rooms/{token}/request-assistance": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Request assistance */ + post: operations["breakout_room-request-assistance"]; + /** Reset the request for assistance */ + delete: operations["breakout_room-reset-request-for-assistance"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/breakout-rooms/{token}/rooms": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Start the breakout rooms */ + post: operations["breakout_room-start-breakout-rooms"]; + /** Stop the breakout rooms */ + delete: operations["breakout_room-stop-breakout-rooms"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/breakout-rooms/{token}/switch": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Switch to another breakout room */ + post: operations["breakout_room-switch-breakout-room"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/call/{token}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get the peers for a call */ + get: operations["call-get-peers-for-call"]; + /** Update the in-call flags */ + put: operations["call-update-call-flags"]; + /** Join a call */ + post: operations["call-join-call"]; + /** Leave a call */ + delete: operations["call-leave-call"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/call/{token}/ring/{attendeeId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Ring an attendee */ + post: operations["call-ring-attendee"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/call/{token}/dialout/{attendeeId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Call a SIP dial-out attendee */ + post: operations["call-sip-dial-out"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/chat/{token}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Receives chat messages from the given room + * @description - Receiving the history ($lookIntoFuture=0): The next $limit messages after $lastKnownMessageId will be returned. The new $lastKnownMessageId for the follow up query is available as `X-Chat-Last-Given` header. + * - Looking into the future ($lookIntoFuture=1): If there are currently no messages the response will not be sent immediately. Instead, HTTP connection will be kept open waiting for new messages to arrive and, when they do, then the response will be sent. The connection will not be kept open indefinitely, though; the number of seconds to wait for new messages to arrive can be set using the timeout parameter; the default timeout is 30 seconds, maximum timeout is 60 seconds. If the timeout ends a successful but empty response will be sent. If messages have been returned (status=200) the new $lastKnownMessageId for the follow up query is available as `X-Chat-Last-Given` header. + * The limit specifies the maximum number of messages that will be returned, although the actual number of returned messages could be lower if some messages are not visible to the participant. Note that if none of the messages are visible to the participant the returned number of messages will be 0, yet the status will still be 200. Also note that `X-Chat-Last-Given` may reference a message not visible and thus not returned, but it should be used nevertheless as the $lastKnownMessageId for the follow-up query. + */ + get: operations["chat-receive-messages"]; + put?: never; + /** + * Sends a new chat message to the given room + * @description The author and timestamp are automatically set to the current user/guest and time. + */ + post: operations["chat-send-message"]; + /** Clear the chat history */ + delete: operations["chat-clear-history"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/chat/{token}/{messageId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** Edit a chat message */ + put: operations["chat-edit-message"]; + post?: never; + /** Delete a chat message */ + delete: operations["chat-delete-message"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/chat/{token}/{messageId}/context": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get the context of a message */ + get: operations["chat-get-message-context"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/chat/{token}/{messageId}/reminder": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get the reminder for a chat message */ + get: operations["chat-get-reminder"]; + put?: never; + /** Set a reminder for a chat message */ + post: operations["chat-set-reminder"]; + /** Delete a chat reminder */ + delete: operations["chat-delete-reminder"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/chat/{token}/read": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Set the read marker to a specific message */ + post: operations["chat-set-read-marker"]; + /** Mark a chat as unread */ + delete: operations["chat-mark-unread"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/chat/{token}/mentions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Search for mentions */ + get: operations["chat-mentions"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/chat/{token}/share": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get objects that are shared in the room */ + get: operations["chat-get-objects-shared-in-room"]; + put?: never; + /** + * Sends a rich-object to the given room + * @description The author and timestamp are automatically set to the current user/guest and time. + */ + post: operations["chat-share-object-to-chat"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/chat/{token}/share/overview": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get objects that are shared in the room overview */ + get: operations["chat-get-objects-shared-in-room-overview"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/file/{fileId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the token of the room associated to the given file id + * @description This is the counterpart of self::getRoomByShareToken() for file ids instead of share tokens, although both return the same room token if the given file id and share token refer to the same file. + * If there is no room associated to the given file id a new room is created; the new room is a public room associated with a "file" object with the given file id. Unlike normal rooms in which the owner is the user that created the room these are special rooms without owner (although self joined users with direct access to the file become persistent participants automatically when they join until they explicitly leave or no longer have access to the file). + * In any case, to create or even get the token of the room, the file must be shared and the user must be the owner of a public share of the file (like a link share, for example) or have direct access to that file; an error is returned otherwise. A user has direct access to a file if she has access to it (or to an ancestor) through a user, group, circle or room share (but not through a link share, for example), or if she is the owner of such a file. + */ + get: operations["files_integration-get-room-by-file-id"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/publicshare/{shareToken}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Returns the token of the room associated to the file of the given share token + * @description This is the counterpart of self::getRoomByFileId() for share tokens instead of file ids, although both return the same room token if the given file id and share token refer to the same file. + * If there is no room associated to the file id of the given share token a new room is created; the new room is a public room associated with a "file" object with the file id of the given share token. Unlike normal rooms in which the owner is the user that created the room these are special rooms without owner (although self joined users with direct access to the file become persistent participants automatically when they join until they explicitly leave or no longer have access to the file). + * In any case, to create or even get the token of the room, the file must be publicly shared (like a link share, for example); an error is returned otherwise. + * Besides the token of the room this also returns the current user ID and display name, if any; this is needed by the Talk sidebar to know the actual current user, as the public share page uses the incognito mode and thus logged-in users as seen as guests. + */ + get: operations["files_integration-get-room-by-share-token"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/guest/{token}/name": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Set the display name as a guest */ + post: operations["guest-set-display-name"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/bridge/{token}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get bridge information of one room */ + get: operations["matterbridge-get-bridge-of-room"]; + /** Edit bridge information of one room */ + put: operations["matterbridge-edit-bridge-of-room"]; + post?: never; + /** Delete bridge of one room */ + delete: operations["matterbridge-delete-bridge-of-room"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/bridge/{token}/process": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get bridge process information */ + get: operations["matterbridge-get-bridge-process-state"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/poll/{token}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Create a poll */ + post: operations["poll-create-poll"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/poll/{token}/{pollId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get a poll */ + get: operations["poll-show-poll"]; + put?: never; + /** Vote on a poll */ + post: operations["poll-vote-poll"]; + /** Close a poll */ + delete: operations["poll-close-poll"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/publicshareauth": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Creates a new room for video verification (requesting the password of a share) + * @description The new room is a public room associated with a "share:password" object with the ID of the share token. Unlike normal rooms in which the owner is the user that created the room these are special rooms always created by a guest or user on behalf of a registered user, the sharer, who will be the owner of the room. + * The share must have "send password by Talk" enabled; an error is returned otherwise. + */ + post: operations["public_share_auth-create-room"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/reaction/{token}/{messageId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get a list of reactions for a message */ + get: operations["reaction-get-reactions"]; + put?: never; + /** Add a reaction to a message */ + post: operations["reaction-react"]; + /** Delete a reaction from a message */ + delete: operations["reaction-delete"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/recording/{token}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Start the recording */ + post: operations["recording-start"]; + /** Stop the recording */ + delete: operations["recording-stop"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/recording/{token}/notification": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** Dismiss the store call recording notification */ + delete: operations["recording-notification-dismiss"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/recording/{token}/share-chat": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Share the recorded file to the chat */ + post: operations["recording-share-to-chat"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get all currently existent rooms which the user has joined */ + get: operations["room-get-rooms"]; + put?: never; + /** Create a room with a user, a group or a circle */ + post: operations["room-create-room"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/listed-room": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get listed rooms with optional search term */ + get: operations["room-get-listed-rooms"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/note-to-self": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the "Note to self" conversation for the user + * @description It will be automatically created when it is currently missing + */ + get: operations["room-get-note-to-self-conversation"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get a room */ + get: operations["room-get-single-room"]; + /** Rename a room */ + put: operations["room-rename-room"]; + post?: never; + /** Delete a room */ + delete: operations["room-delete-room"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/breakout-rooms": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get breakout rooms + * @description All for moderators and in case of "free selection", or the assigned breakout room for other participants + */ + get: operations["room-get-breakout-rooms"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/public": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Allowed guests to join conversation */ + post: operations["room-make-public"]; + /** Disallowed guests to join conversation */ + delete: operations["room-make-private"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/description": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** Update the description of a room */ + put: operations["room-set-description"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/read-only": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** Set read-only state of a room */ + put: operations["room-set-read-only"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/listable": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** Make a room listable */ + put: operations["room-set-listable"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/password": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** Set a password for a room */ + put: operations["room-set-password"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/permissions/{mode}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** Update the permissions of a room */ + put: operations["room-set-permissions"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/participants": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get a list of participants for a room */ + get: operations["room-get-participants"]; + put?: never; + /** Add a participant to a room */ + post: operations["room-add-participant-to-room"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/breakout-rooms/participants": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get the breakout room participants for a room */ + get: operations["room-get-breakout-room-participants"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/participants/self": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** Remove the current user from a room */ + delete: operations["room-remove-self-from-room"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/attendees": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** Remove an attendee from a room */ + delete: operations["room-remove-attendee-from-room"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/attendees/permissions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** Update the permissions of an attendee */ + put: operations["room-set-attendee-permissions"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/attendees/permissions/all": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** Update the permissions of all attendees */ + put: operations["room-set-all-attendees-permissions"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/participants/active": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Join a room */ + post: operations["room-join-room"]; + /** Leave a room */ + delete: operations["room-leave-room"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/participants/resend-invitations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Resend invitations */ + post: operations["room-resend-invitations"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/participants/state": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** Set active state for a session */ + put: operations["room-set-session-state"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/moderators": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Promote an attendee to moderator */ + post: operations["room-promote-moderator"]; + /** Demote an attendee from moderator */ + delete: operations["room-demote-moderator"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/favorite": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Add a room to the favorites */ + post: operations["room-add-to-favorites"]; + /** Remove a room from the favorites */ + delete: operations["room-remove-from-favorites"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/notify": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Update the notification level for a room */ + post: operations["room-set-notification-level"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/notify-calls": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Update call notifications */ + post: operations["room-set-notification-calls"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/webinar/lobby": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** Update the lobby state for a room */ + put: operations["room-set-lobby"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/webinar/sip": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** Update SIP enabled state */ + put: operations["room-setsip-enabled"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/recording-consent": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** Set recording consent requirement for this conversation */ + put: operations["room-set-recording-consent"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/message-expiration": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Update message expiration time */ + post: operations["room-set-message-expiration"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/capabilities": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get capabilities for a room + * @description See "Capability handling in federated conversations" in https://github.com/nextcloud/spreed/issues/10680 to learn which capabilities should be considered from the local server or from the remote server. + */ + get: operations["room-get-capabilities"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/settings/user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Update user setting */ + post: operations["settings-set-user-setting"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/signaling/settings": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get the signaling settings */ + get: operations["signaling-get-settings"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/api/{apiVersion}/signaling/{token}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get signaling messages */ + get: operations["signaling-pull-messages"]; + put?: never; + /** Send signaling messages */ + post: operations["signaling-send-messages"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ocs/v2.php/apps/spreed/temp-user-avatar": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Upload your avatar as a user */ + post: operations["temp_avatar-post-avatar"]; + /** Delete your avatar as a user */ + delete: operations["temp_avatar-delete-avatar"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; }; - export type webhooks = Record; - export type components = { - schemas: { - Ban: { - /** Format: int64 */ - id: number; - actorType: string; - actorId: string; - bannedType: string; - bannedId: string; - /** Format: int64 */ - bannedTime: number; - internalNote: string; - }; - BaseMessage: { - actorDisplayName: string; - actorId: string; - actorType: string; - /** Format: int64 */ - expirationTimestamp: number; - message: string; - messageParameters: { - [key: string]: components["schemas"]["RichObjectParameter"]; - }; - messageType: string; - systemMessage: string; - }; - Bot: { - description: string | null; - /** Format: int64 */ - id: number; - name: string; - /** Format: int64 */ - state: number; - }; - CallPeer: { - actorId: string; - actorType: string; - displayName: string; - /** Format: int64 */ - lastPing: number; - sessionId: string; - token: string; - }; - Capabilities: { - features: string[]; - "features-local": string[]; - config: { - attachments: { - allowed: boolean; - folder?: string; - }; - call: { - enabled: boolean; - "breakout-rooms": boolean; - recording: boolean; - /** Format: int64 */ - "recording-consent": number; - "supported-reactions": string[]; - "predefined-backgrounds": string[]; - "can-upload-background": boolean; - "sip-enabled": boolean; - "sip-dialout-enabled": boolean; - "can-enable-sip": boolean; - }; - chat: { - /** Format: int64 */ - "max-length": number; - /** Format: int64 */ - "read-privacy": number; - "has-translation-providers": boolean; - /** Format: int64 */ - "typing-privacy": number; - }; - conversations: { - "can-create": boolean; - }; - federation: { - enabled: boolean; - "incoming-enabled": boolean; - "outgoing-enabled": boolean; - "only-trusted-servers": boolean; - }; - previews: { - /** Format: int64 */ - "max-gif-size": number; - }; - signaling: { - /** Format: int64 */ - "session-ping-limit": number; - "hello-v2-token-key"?: string; - }; - }; - "config-local": { - [key: string]: string[]; - }; - version: string; - }; - ChatMentionSuggestion: { - id: string; - label: string; - source: string; - mentionId: string; - status: string | null; - /** Format: int64 */ - statusClearAt: number | null; - statusIcon: string | null; - statusMessage: string | null; - }; - ChatMessage: components["schemas"]["BaseMessage"] & { - /** @enum {boolean} */ - deleted?: true; - /** Format: int64 */ - id: number; - isReplyable: boolean; - markdown: boolean; - reactions: { - [key: string]: number; - }; - reactionsSelf?: string[]; - referenceId: string; - /** Format: int64 */ - timestamp: number; - token: string; - lastEditActorDisplayName?: string; - lastEditActorId?: string; - lastEditActorType?: string; - /** Format: int64 */ - lastEditTimestamp?: number; - silent?: boolean; - }; - ChatMessageWithParent: components["schemas"]["ChatMessage"] & { - parent?: components["schemas"]["ChatMessage"]; - }; - ChatProxyMessage: components["schemas"]["BaseMessage"]; - ChatReminder: { - /** Format: int64 */ - messageId: number; - /** Format: int64 */ - timestamp: number; - token: string; - userId: string; - }; - Matterbridge: { - enabled: boolean; - parts: components["schemas"]["MatterbridgeConfigFields"]; - /** Format: int64 */ - pid: number; - }; - MatterbridgeConfigFields: { - [key: string]: Record; - }[]; - MatterbridgeProcessState: { - log: string; - running: boolean; - }; - MatterbridgeWithProcessState: components["schemas"]["Matterbridge"] & components["schemas"]["MatterbridgeProcessState"]; - OCSMeta: { - status: string; - statuscode: number; - message?: string; - totalitems?: string; - itemsperpage?: string; - }; - Participant: { - actorId: string; - actorType: string; - /** Format: int64 */ - attendeeId: number; - /** Format: int64 */ - attendeePermissions: number; - attendeePin: string; - displayName: string; - /** Format: int64 */ - inCall: number; - /** Format: int64 */ - lastPing: number; - /** Format: int64 */ - participantType: number; - /** Format: int64 */ - permissions: number; - roomToken: string; - sessionIds: string[]; - status?: string; - /** Format: int64 */ - statusClearAt?: number | null; - statusIcon?: string | null; - statusMessage?: string | null; - phoneNumber?: string | null; - callId?: string | null; - }; - Poll: { - actorDisplayName: string; - actorId: string; - actorType: string; - details?: components["schemas"]["PollVote"][]; - /** Format: int64 */ - id: number; - /** Format: int64 */ - maxVotes: number; - /** Format: int64 */ - numVoters?: number; - options: string[]; - question: string; - /** Format: int64 */ - resultMode: number; - /** Format: int64 */ - status: number; - votedSelf?: number[]; - votes?: { - [key: string]: number; - }; - }; - PollVote: { - actorDisplayName: string; - actorId: string; - actorType: string; - /** Format: int64 */ - optionId: number; - }; - PublicCapabilities: OneOf<[{ - spreed: components["schemas"]["Capabilities"]; - }, unknown[]]>; - Reaction: { - actorDisplayName: string; - actorId: string; - actorType: string; - /** Format: int64 */ - timestamp: number; - }; - RichObjectParameter: { - type: string; - id: string; - name: string; - server?: string; - link?: string; - /** @enum {string} */ - "call-type"?: "one2one" | "group" | "public"; - "icon-url"?: string; - "message-id"?: string; - boardname?: string; - stackname?: string; - size?: string; - path?: string; - mimetype?: string; - /** @enum {string} */ - "preview-available"?: "yes" | "no"; - mtime?: string; - latitude?: string; - longitude?: string; - description?: string; - thumb?: string; - website?: string; - /** @enum {string} */ - visibility?: "0" | "1"; - /** @enum {string} */ - assignable?: "0" | "1"; - conversation?: string; - etag?: string; - permissions?: string; - width?: string; - height?: string; - }; - Room: { - actorId: string; - actorType: string; - /** Format: int64 */ - attendeeId: number; - /** Format: int64 */ - attendeePermissions: number; - attendeePin: string | null; - avatarVersion: string; - /** Format: int64 */ - breakoutRoomMode: number; - /** Format: int64 */ - breakoutRoomStatus: number; - /** Format: int64 */ - callFlag: number; - /** Format: int64 */ - callPermissions: number; - /** Format: int64 */ - callRecording: number; - /** Format: int64 */ - callStartTime: number; - canDeleteConversation: boolean; - canEnableSIP: boolean; - canLeaveConversation: boolean; - canStartCall: boolean; - /** Format: int64 */ - defaultPermissions: number; - description: string; - displayName: string; - hasCall: boolean; - hasPassword: boolean; - /** Format: int64 */ - id: number; - isCustomAvatar: boolean; - isFavorite: boolean; - /** Format: int64 */ - lastActivity: number; - /** Format: int64 */ - lastCommonReadMessage: number; - lastMessage: components["schemas"]["RoomLastMessage"] | unknown[]; - /** Format: int64 */ - lastPing: number; - /** Format: int64 */ - lastReadMessage: number; - /** Format: int64 */ - listable: number; - /** Format: int64 */ - lobbyState: number; - /** Format: int64 */ - lobbyTimer: number; - /** Format: int64 */ - messageExpiration: number; - name: string; - /** Format: int64 */ - notificationCalls: number; - /** Format: int64 */ - notificationLevel: number; - objectId: string; - objectType: string; - /** Format: int64 */ - participantFlags: number; - /** Format: int64 */ - participantType: number; - /** Format: int64 */ - permissions: number; - /** Format: int64 */ - readOnly: number; - /** Format: int64 */ - recordingConsent: number; - sessionId: string; - /** Format: int64 */ - sipEnabled: number; - status?: string; - /** Format: int64 */ - statusClearAt?: number | null; - statusIcon?: string | null; - statusMessage?: string | null; - token: string; - /** Format: int64 */ - type: number; - unreadMention: boolean; - unreadMentionDirect: boolean; - /** Format: int64 */ - unreadMessages: number; - }; - RoomLastMessage: components["schemas"]["ChatMessage"] | components["schemas"]["ChatProxyMessage"]; - SignalingSession: { - /** Format: int64 */ - inCall: number; - /** Format: int64 */ - lastPing: number; - /** Format: int64 */ - participantPermissions: number; - /** Format: int64 */ - roomId: number; - sessionId: string; - userId: string; - }; - SignalingSettings: { - helloAuthParams: { - "1.0": { - userid: string | null; - ticket: string; - }; - "2.0": { - token: string; - }; - }; - hideWarning: boolean; - server: string; - signalingMode: string; - sipDialinInfo: string; - stunservers: { - urls: string[]; - }[]; - ticket: string; - turnservers: { - urls: string[]; - username: string; - credential: Record; + schemas: { + Ban: { + /** Format: int64 */ + id: number; + actorType: string; + actorId: string; + bannedType: string; + bannedId: string; + /** Format: int64 */ + bannedTime: number; + internalNote: string; + }; + BaseMessage: { + actorDisplayName: string; + actorId: string; + actorType: string; + /** Format: int64 */ + expirationTimestamp: number; + message: string; + messageParameters: { + [key: string]: components["schemas"]["RichObjectParameter"] | undefined; + }; + messageType: string; + systemMessage: string; + }; + Bot: { + description: string | null; + /** Format: int64 */ + id: number; + name: string; + /** Format: int64 */ + state: number; + }; + CallPeer: { + actorId: string; + actorType: string; + displayName: string; + /** Format: int64 */ + lastPing: number; + sessionId: string; + token: string; + }; + Capabilities: { + features: string[]; + "features-local": string[]; + config: { + attachments: { + allowed: boolean; + folder?: string; + }; + call: { + enabled: boolean; + "breakout-rooms": boolean; + recording: boolean; + /** Format: int64 */ + "recording-consent": number; + "supported-reactions": string[]; + "predefined-backgrounds": string[]; + "can-upload-background": boolean; + "sip-enabled": boolean; + "sip-dialout-enabled": boolean; + "can-enable-sip": boolean; + }; + chat: { + /** Format: int64 */ + "max-length": number; + /** Format: int64 */ + "read-privacy": number; + "has-translation-providers": boolean; + /** Format: int64 */ + "typing-privacy": number; + }; + conversations: { + "can-create": boolean; + }; + federation: { + enabled: boolean; + "incoming-enabled": boolean; + "outgoing-enabled": boolean; + "only-trusted-servers": boolean; + }; + previews: { + /** Format: int64 */ + "max-gif-size": number; + }; + signaling: { + /** Format: int64 */ + "session-ping-limit": number; + "hello-v2-token-key"?: string; + }; + }; + "config-local": { + [key: string]: string[] | undefined; + }; + version: string; + }; + ChatMentionSuggestion: { + id: string; + label: string; + source: string; + mentionId: string; + status: string | null; + /** Format: int64 */ + statusClearAt: number | null; + statusIcon: string | null; + statusMessage: string | null; + }; + ChatMessage: components["schemas"]["BaseMessage"] & { + /** @enum {boolean} */ + deleted?: true; + /** Format: int64 */ + id: number; + isReplyable: boolean; + markdown: boolean; + reactions: { + [key: string]: number | undefined; + }; + reactionsSelf?: string[]; + referenceId: string; + /** Format: int64 */ + timestamp: number; + token: string; + lastEditActorDisplayName?: string; + lastEditActorId?: string; + lastEditActorType?: string; + /** Format: int64 */ + lastEditTimestamp?: number; + silent?: boolean; + }; + ChatMessageWithParent: components["schemas"]["ChatMessage"] & { + parent?: components["schemas"]["ChatMessage"]; + }; + ChatProxyMessage: components["schemas"]["BaseMessage"]; + ChatReminder: { + /** Format: int64 */ + messageId: number; + /** Format: int64 */ + timestamp: number; + token: string; + userId: string; + }; + Matterbridge: { + enabled: boolean; + parts: components["schemas"]["MatterbridgeConfigFields"]; + /** Format: int64 */ + pid: number; + }; + MatterbridgeConfigFields: { + [key: string]: Record | undefined; }[]; - userId: string | null; - }; - }; - responses: never; - parameters: never; - requestBodies: never; - headers: never; - pathItems: never; + MatterbridgeProcessState: { + log: string; + running: boolean; + }; + MatterbridgeWithProcessState: components["schemas"]["Matterbridge"] & components["schemas"]["MatterbridgeProcessState"]; + OCSMeta: { + status: string; + statuscode: number; + message?: string; + totalitems?: string; + itemsperpage?: string; + }; + Participant: { + actorId: string; + actorType: string; + /** Format: int64 */ + attendeeId: number; + /** Format: int64 */ + attendeePermissions: number; + attendeePin: string; + displayName: string; + /** Format: int64 */ + inCall: number; + /** Format: int64 */ + lastPing: number; + /** Format: int64 */ + participantType: number; + /** Format: int64 */ + permissions: number; + roomToken: string; + sessionIds: string[]; + status?: string; + /** Format: int64 */ + statusClearAt?: number | null; + statusIcon?: string | null; + statusMessage?: string | null; + phoneNumber?: string | null; + callId?: string | null; + }; + Poll: { + actorDisplayName: string; + actorId: string; + actorType: string; + details?: components["schemas"]["PollVote"][]; + /** Format: int64 */ + id: number; + /** Format: int64 */ + maxVotes: number; + /** Format: int64 */ + numVoters?: number; + options: string[]; + question: string; + /** Format: int64 */ + resultMode: number; + /** Format: int64 */ + status: number; + votedSelf?: number[]; + votes?: { + [key: string]: number | undefined; + }; + }; + PollVote: { + actorDisplayName: string; + actorId: string; + actorType: string; + /** Format: int64 */ + optionId: number; + }; + PublicCapabilities: { + spreed: components["schemas"]["Capabilities"]; + } | unknown[]; + Reaction: { + actorDisplayName: string; + actorId: string; + actorType: string; + /** Format: int64 */ + timestamp: number; + }; + RichObjectParameter: { + type: string; + id: string; + name: string; + server?: string; + link?: string; + /** @enum {string} */ + "call-type"?: "one2one" | "group" | "public"; + "icon-url"?: string; + "message-id"?: string; + boardname?: string; + stackname?: string; + size?: string; + path?: string; + mimetype?: string; + /** @enum {string} */ + "preview-available"?: "yes" | "no"; + mtime?: string; + latitude?: string; + longitude?: string; + description?: string; + thumb?: string; + website?: string; + /** @enum {string} */ + visibility?: "0" | "1"; + /** @enum {string} */ + assignable?: "0" | "1"; + conversation?: string; + etag?: string; + permissions?: string; + width?: string; + height?: string; + }; + Room: { + actorId: string; + actorType: string; + /** Format: int64 */ + attendeeId: number; + /** Format: int64 */ + attendeePermissions: number; + attendeePin: string | null; + avatarVersion: string; + /** Format: int64 */ + breakoutRoomMode: number; + /** Format: int64 */ + breakoutRoomStatus: number; + /** Format: int64 */ + callFlag: number; + /** Format: int64 */ + callPermissions: number; + /** Format: int64 */ + callRecording: number; + /** Format: int64 */ + callStartTime: number; + canDeleteConversation: boolean; + canEnableSIP: boolean; + canLeaveConversation: boolean; + canStartCall: boolean; + /** Format: int64 */ + defaultPermissions: number; + description: string; + displayName: string; + hasCall: boolean; + hasPassword: boolean; + /** Format: int64 */ + id: number; + isCustomAvatar: boolean; + isFavorite: boolean; + /** Format: int64 */ + lastActivity: number; + /** Format: int64 */ + lastCommonReadMessage: number; + lastMessage: components["schemas"]["RoomLastMessage"] | unknown[]; + /** Format: int64 */ + lastPing: number; + /** Format: int64 */ + lastReadMessage: number; + /** Format: int64 */ + listable: number; + /** Format: int64 */ + lobbyState: number; + /** Format: int64 */ + lobbyTimer: number; + /** Format: int64 */ + messageExpiration: number; + name: string; + /** Format: int64 */ + notificationCalls: number; + /** Format: int64 */ + notificationLevel: number; + objectId: string; + objectType: string; + /** Format: int64 */ + participantFlags: number; + /** Format: int64 */ + participantType: number; + /** Format: int64 */ + permissions: number; + /** Format: int64 */ + readOnly: number; + /** Format: int64 */ + recordingConsent: number; + sessionId: string; + /** Format: int64 */ + sipEnabled: number; + status?: string; + /** Format: int64 */ + statusClearAt?: number | null; + statusIcon?: string | null; + statusMessage?: string | null; + token: string; + /** Format: int64 */ + type: number; + unreadMention: boolean; + unreadMentionDirect: boolean; + /** Format: int64 */ + unreadMessages: number; + }; + RoomLastMessage: components["schemas"]["ChatMessage"] | components["schemas"]["ChatProxyMessage"]; + SignalingSession: { + /** Format: int64 */ + inCall: number; + /** Format: int64 */ + lastPing: number; + /** Format: int64 */ + participantPermissions: number; + /** Format: int64 */ + roomId: number; + sessionId: string; + userId: string; + }; + SignalingSettings: { + helloAuthParams: { + "1.0": { + userid: string | null; + ticket: string; + }; + "2.0": { + token: string; + }; + }; + hideWarning: boolean; + server: string; + signalingMode: string; + sipDialinInfo: string; + stunservers: { + urls: string[]; + }[]; + ticket: string; + turnservers: { + urls: string[]; + username: string; + credential: Record; + }[]; + userId: string | null; + }; + }; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; }; - export type $defs = Record; - -export type external = Record; - -export type operations = { - - /** Get the avatar of a room */ - "avatar-get-avatar": { - parameters: { - query?: { - /** @description Theme used for background */ - darkTheme?: 0 | 1; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Room avatar returned */ - 200: { - content: { - "*/*": string; - }; - }; - }; - }; - /** Upload an avatar for a room */ - "avatar-upload-avatar": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Avatar uploaded successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"]; - }; - }; - }; - }; - /** @description Avatar invalid */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { +export interface operations { + "avatar-get-avatar": { + parameters: { + query?: { + /** @description Theme used for background */ + darkTheme?: 0 | 1; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Room avatar returned */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "*/*": string; + }; + }; + }; + }; + "avatar-upload-avatar": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Avatar uploaded successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"]; + }; + }; + }; + }; + /** @description Avatar invalid */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + message: string; + }; + }; + }; + }; + }; + }; + }; + "avatar-delete-avatar": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Avatar removed successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"]; + }; + }; + }; + }; + }; + }; + "avatar-emoji-avatar": { + parameters: { + query: { + /** @description Emoji */ + emoji: string; + /** @description Color of the emoji */ + color?: string | null; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Avatar set successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"]; + }; + }; + }; + }; + /** @description Setting emoji avatar is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + message: string; + }; + }; + }; + }; + }; + }; + }; + "avatar-get-avatar-dark": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Room avatar returned */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "*/*": string; + }; + }; + }; + }; + "ban-list-bans": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description List all bans */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Ban"][]; + }; + }; + }; + }; + }; + }; + "ban-ban-actor": { + parameters: { + query: { + /** @description Type of actor to ban, or `ip` when banning a clients remote address */ + actorType: "users" | "groups" | "circles" | "emails" | "federated_users" | "phones" | "ip"; + /** @description Actor ID or the IP address or range in case of type `ip` */ + actorId: string; + /** @description Optional internal note */ + internalNote?: string; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Ban successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Ban"]; + }; + }; + }; + }; + /** @description Actor information is invalid */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + }; + }; + "ban-unban-actor": { + parameters: { + query: { + /** @description ID of the ban to be removed */ + banId: number; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Unban successfully or not found */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "bot-list-bots": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Bot list returned */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Bot"][]; + }; + }; + }; + }; + }; + }; + "bot-enable-bot": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + /** @description ID of the bot */ + botId: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Bot already enabled */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Bot"]; + }; + }; + }; + }; + /** @description Bot enabled successfully */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Bot"]; + }; + }; + }; + }; + /** @description Enabling bot errored */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + }; + }; + "bot-disable-bot": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + /** @description ID of the bot */ + botId: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Bot disabled successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Bot"]; + }; + }; + }; + }; + /** @description Disabling bot errored */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + }; + }; + "breakout_room-configure-breakout-rooms": { + parameters: { + query: { + /** @description Mode of the breakout rooms */ + mode: 0 | 1 | 2 | 3; + /** @description Number of breakout rooms - Constants {@see BreakoutRoom::MINIMUM_ROOM_AMOUNT} and {@see BreakoutRoom::MAXIMUM_ROOM_AMOUNT} */ + amount: number; + /** @description Mapping of the attendees to breakout rooms */ + attendeeMap?: string; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Breakout rooms configured successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"][]; + }; + }; + }; + }; + /** @description Configuring breakout rooms errored */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + }; + }; + "breakout_room-remove-breakout-rooms": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Breakout rooms removed successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"]; + }; + }; + }; + }; + }; + }; + "breakout_room-broadcast-chat-message": { + parameters: { + query: { + /** @description Message to broadcast */ message: string; - }; - }; - }; - }; - }; - }; - }; - /** Delete the avatar of a room */ - "avatar-delete-avatar": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Avatar removed successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"]; - }; - }; - }; - }; - }; - }; - /** Set an emoji as avatar */ - "avatar-emoji-avatar": { - parameters: { - query: { - /** @description Emoji */ - emoji: string; - /** @description Color of the emoji */ - color?: string | null; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Avatar set successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"]; - }; - }; - }; - }; - /** @description Setting emoji avatar is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Chat message broadcasted successfully */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"][]; + }; + }; + }; + }; + /** @description Broadcasting chat message is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + /** @description Chat message too long */ + 413: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + }; + }; + "breakout_room-apply-attendee-map": { + parameters: { + query: { + /** @description JSON encoded mapping of the attendees to breakout rooms `array` */ + attendeeMap: string; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Attendee map applied successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"][]; + }; + }; + }; + }; + /** @description Applying attendee map is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + }; + }; + "breakout_room-request-assistance": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Assistance requested successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"]; + }; + }; + }; + }; + /** @description Requesting assistance is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + }; + }; + "breakout_room-reset-request-for-assistance": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Request for assistance reset successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"]; + }; + }; + }; + }; + /** @description Resetting the request for assistance is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + }; + }; + "breakout_room-start-breakout-rooms": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Breakout rooms started successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"][]; + }; + }; + }; + }; + /** @description Starting breakout rooms is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + }; + }; + "breakout_room-stop-breakout-rooms": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Breakout rooms stopped successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"][]; + }; + }; + }; + }; + /** @description Stopping breakout rooms is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + }; + }; + "breakout_room-switch-breakout-room": { + parameters: { + query: { + /** @description Target breakout room */ + target: string; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Switched to breakout room successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"]; + }; + }; + }; + }; + /** @description Switching to breakout room is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + }; + }; + "call-get-peers-for-call": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description List of peers in the call returned */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["CallPeer"][]; + }; + }; + }; + }; + }; + }; + "call-update-call-flags": { + parameters: { + query: { + /** @description New flags */ + flags: number; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description In-call flags updated successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Updating in-call flags is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Call session not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "call-join-call": { + parameters: { + query?: { + /** @description In-Call flags */ + flags?: number | null; + /** @description In-call permissions */ + forcePermissions?: number | null; + /** @description Join the call silently */ + silent?: 0 | 1; + /** @description When the user ticked a checkbox and agreed with being recorded (Only needed when the `config => call => recording-consent` capability is set to {@see RecordingService::CONSENT_REQUIRED_YES} or the capability is {@see RecordingService::CONSENT_REQUIRED_OPTIONAL} and the conversation `recordingConsent` value is {@see RecordingService::CONSENT_REQUIRED_YES} ) */ + recordingConsent?: 0 | 1; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Call joined successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description No recording consent was given */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error?: string; + }; + }; + }; + }; + }; + /** @description Call not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "call-leave-call": { + parameters: { + query?: { + /** @description whether to also terminate the call for all participants */ + all?: 0 | 1; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Call left successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Call session not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "call-ring-attendee": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + /** @description ID of the attendee to ring */ + attendeeId: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Attendee rang successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Ringing attendee is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + /** @description Attendee could not be found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "call-sip-dial-out": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + /** @description ID of the attendee to call */ + attendeeId: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Dial-out initiated successfully */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error?: string; + message?: string; + }; + }; + }; + }; + }; + /** @description SIP dial-out not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error?: string; + message?: string; + }; + }; + }; + }; + }; + /** @description Participant could not be found or is a wrong type */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error?: string; + message?: string; + }; + }; + }; + }; + }; + /** @description SIP dial-out is not configured on the server */ + 501: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error?: string; + message?: string; + }; + }; + }; + }; + }; + }; + }; + "chat-receive-messages": { + parameters: { + query: { + /** @description Polling for new messages (1) or getting the history of the chat (0) */ + lookIntoFuture: 0 | 1; + /** @description Number of chat messages to receive (100 by default, 200 at most) */ + limit?: number; + /** @description The last known message (serves as offset) */ + lastKnownMessageId?: number; + /** @description The last known common read message (so the response is 200 instead of 304 when it changes even when there are no messages) */ + lastCommonReadId?: number; + /** @description Number of seconds to wait for new messages (30 by default, 30 at most) */ + timeout?: number; + /** @description Automatically set the last read marker when 1, if your client does this itself via chat/{token}/read set to 0 */ + setReadMarker?: 0 | 1; + /** @description Include the $lastKnownMessageId in the messages when 1 (default 0) */ + includeLastKnown?: 0 | 1; + /** @description When the user status should not be automatically set to online set to 1 (default 0) */ + noStatusUpdate?: 0 | 1; + /** @description Set to 0 when notifications should not be marked as read (default 1) */ + markNotificationsAsRead?: 0 | 1; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Messages returned */ + 200: { + headers: { + "X-Chat-Last-Common-Read"?: string; + "X-Chat-Last-Given"?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["ChatMessageWithParent"][]; + }; + }; + }; + }; + /** @description No messages */ + 304: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "chat-send-message": { + parameters: { + query: { + /** @description the message to send */ + message: string; + /** @description for guests */ + actorDisplayName?: string; + /** @description for the message to be able to later identify it again */ + referenceId?: string; + /** @description Parent id which this message is a reply to */ + replyTo?: number; + /** @description If sent silent the chat message will not create any notifications */ + silent?: 0 | 1; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Message sent successfully */ + 201: { + headers: { + "X-Chat-Last-Common-Read"?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["ChatMessageWithParent"]; + }; + }; + }; + }; + /** @description Sending message is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Actor not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Message too long */ + 413: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Mention rate limit exceeded (guests only) */ + 429: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "chat-clear-history": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description History cleared successfully */ + 200: { + headers: { + "X-Chat-Last-Common-Read"?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["ChatMessage"]; + }; + }; + }; + }; + /** @description History cleared successfully, but Matterbridge is configured, so the information can be replicated elsewhere */ + 202: { + headers: { + "X-Chat-Last-Common-Read"?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["ChatMessage"]; + }; + }; + }; + }; + /** @description Missing permissions to clear history */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "chat-edit-message": { + parameters: { + query: { + /** @description the message to send */ message: string; - }; - }; - }; - }; - }; - }; - }; - /** Get the dark mode avatar of a room */ - "avatar-get-avatar-dark": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Room avatar returned */ - 200: { - content: { - "*/*": string; - }; - }; - }; - }; - /** - * List the bans of a conversation - * @description Required capability: `ban-v1` - */ - "ban-list-bans": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description List all bans */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Ban"][]; - }; - }; - }; - }; - }; - }; - /** - * Ban an actor or IP address - * @description Required capability: `ban-v1` - */ - "ban-ban-actor": { - parameters: { - query: { - /** @description Type of actor to ban, or `ip` when banning a clients remote address */ - actorType: "users" | "groups" | "circles" | "emails" | "federated_users" | "phones" | "ip"; - /** @description Actor ID or the IP address or range in case of type `ip` */ - actorId: string; - /** @description Optional internal note */ - internalNote?: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Ban successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Ban"]; - }; - }; - }; - }; - /** @description Actor information is invalid */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; - }; - }; - }; - }; - /** - * Unban an actor or IP address - * @description Required capability: `ban-v1` - */ - "ban-unban-actor": { - parameters: { - query: { - /** @description ID of the ban to be removed */ - banId: number; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Unban successfully or not found */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** List bots */ - "bot-list-bots": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Bot list returned */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Bot"][]; - }; - }; - }; - }; - }; - }; - /** Enables a bot */ - "bot-enable-bot": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - /** @description ID of the bot */ - botId: number; - }; - }; - responses: { - /** @description Bot already enabled */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Bot"]; - }; - }; - }; - }; - /** @description Bot enabled successfully */ - 201: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Bot"]; - }; - }; - }; - }; - /** @description Enabling bot errored */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; - }; - }; - }; - }; - /** Disables a bot */ - "bot-disable-bot": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - /** @description ID of the bot */ - botId: number; - }; - }; - responses: { - /** @description Bot disabled successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Bot"]; - }; - }; - }; - }; - /** @description Disabling bot errored */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; - }; - }; - }; - }; - /** Configure the breakout rooms */ - "breakout_room-configure-breakout-rooms": { - parameters: { - query: { - /** @description Mode of the breakout rooms */ - mode: 0 | 1 | 2 | 3; - /** @description Number of breakout rooms - Constants {@see BreakoutRoom::MINIMUM_ROOM_AMOUNT} and {@see BreakoutRoom::MAXIMUM_ROOM_AMOUNT} */ - amount: number; - /** @description Mapping of the attendees to breakout rooms */ - attendeeMap?: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Breakout rooms configured successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"][]; - }; - }; - }; - }; - /** @description Configuring breakout rooms errored */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; - }; - }; - }; - }; - /** Remove the breakout rooms */ - "breakout_room-remove-breakout-rooms": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Breakout rooms removed successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"]; - }; - }; - }; - }; - }; - }; - /** Broadcast a chat message to all breakout rooms */ - "breakout_room-broadcast-chat-message": { - parameters: { - query: { - /** @description Message to broadcast */ - message: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Chat message broadcasted successfully */ - 201: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"][]; - }; - }; - }; - }; - /** @description Broadcasting chat message is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; - }; - }; - /** @description Chat message too long */ - 413: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; - }; - }; - }; - }; - /** Apply an attendee map to the breakout rooms */ - "breakout_room-apply-attendee-map": { - parameters: { - query: { - /** @description JSON encoded mapping of the attendees to breakout rooms `array` */ - attendeeMap: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Attendee map applied successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"][]; - }; - }; - }; - }; - /** @description Applying attendee map is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; - }; - }; - }; - }; - /** Request assistance */ - "breakout_room-request-assistance": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Assistance requested successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"]; - }; - }; - }; - }; - /** @description Requesting assistance is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; - }; - }; - }; - }; - /** Reset the request for assistance */ - "breakout_room-reset-request-for-assistance": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Request for assistance reset successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"]; - }; - }; - }; - }; - /** @description Resetting the request for assistance is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; - }; - }; - }; - }; - /** Start the breakout rooms */ - "breakout_room-start-breakout-rooms": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Breakout rooms started successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"][]; - }; - }; - }; - }; - /** @description Starting breakout rooms is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; - }; - }; - }; - }; - /** Stop the breakout rooms */ - "breakout_room-stop-breakout-rooms": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Breakout rooms stopped successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"][]; - }; - }; - }; - }; - /** @description Stopping breakout rooms is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; - }; - }; - }; - }; - /** Switch to another breakout room */ - "breakout_room-switch-breakout-room": { - parameters: { - query: { - /** @description Target breakout room */ - target: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Switched to breakout room successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"]; - }; - }; - }; - }; - /** @description Switching to breakout room is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; - }; - }; - }; - }; - /** Get the peers for a call */ - "call-get-peers-for-call": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description List of peers in the call returned */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["CallPeer"][]; - }; - }; - }; - }; - }; - }; - /** Update the in-call flags */ - "call-update-call-flags": { - parameters: { - query: { - /** @description New flags */ - flags: number; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description In-call flags updated successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Updating in-call flags is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Call session not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Join a call */ - "call-join-call": { - parameters: { - query?: { - /** @description In-Call flags */ - flags?: number | null; - /** @description In-call permissions */ - forcePermissions?: number | null; - /** @description Join the call silently */ - silent?: 0 | 1; - /** @description When the user ticked a checkbox and agreed with being recorded (Only needed when the `config => call => recording-consent` capability is set to {@see RecordingService::CONSENT_REQUIRED_YES} or the capability is {@see RecordingService::CONSENT_REQUIRED_OPTIONAL} and the conversation `recordingConsent` value is {@see RecordingService::CONSENT_REQUIRED_YES} ) */ - recordingConsent?: 0 | 1; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Call joined successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description No recording consent was given */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error?: string; - }; - }; - }; - }; - }; - /** @description Call not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Leave a call */ - "call-leave-call": { - parameters: { - query?: { - /** @description whether to also terminate the call for all participants */ - all?: 0 | 1; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Call left successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Call session not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Ring an attendee */ - "call-ring-attendee": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - /** @description ID of the attendee to ring */ - attendeeId: number; - }; - }; - responses: { - /** @description Attendee rang successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Ringing attendee is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; - }; - }; - /** @description Attendee could not be found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Call a SIP dial-out attendee */ - "call-sip-dial-out": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - /** @description ID of the attendee to call */ - attendeeId: number; - }; - }; - responses: { - /** @description Dial-out initiated successfully */ - 201: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error?: string; - message?: string; - }; - }; - }; - }; - }; - /** @description SIP dial-out not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error?: string; - message?: string; - }; - }; - }; - }; - }; - /** @description Participant could not be found or is a wrong type */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error?: string; - message?: string; - }; - }; - }; - }; - }; - /** @description SIP dial-out is not configured on the server */ - 501: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error?: string; - message?: string; - }; - }; - }; - }; - }; - }; - }; - /** - * Receives chat messages from the given room - * @description - Receiving the history ($lookIntoFuture=0): The next $limit messages after $lastKnownMessageId will be returned. The new $lastKnownMessageId for the follow up query is available as `X-Chat-Last-Given` header. - * - Looking into the future ($lookIntoFuture=1): If there are currently no messages the response will not be sent immediately. Instead, HTTP connection will be kept open waiting for new messages to arrive and, when they do, then the response will be sent. The connection will not be kept open indefinitely, though; the number of seconds to wait for new messages to arrive can be set using the timeout parameter; the default timeout is 30 seconds, maximum timeout is 60 seconds. If the timeout ends a successful but empty response will be sent. If messages have been returned (status=200) the new $lastKnownMessageId for the follow up query is available as `X-Chat-Last-Given` header. - * The limit specifies the maximum number of messages that will be returned, although the actual number of returned messages could be lower if some messages are not visible to the participant. Note that if none of the messages are visible to the participant the returned number of messages will be 0, yet the status will still be 200. Also note that `X-Chat-Last-Given` may reference a message not visible and thus not returned, but it should be used nevertheless as the $lastKnownMessageId for the follow-up query. - */ - "chat-receive-messages": { - parameters: { - query: { - /** @description Polling for new messages (1) or getting the history of the chat (0) */ - lookIntoFuture: 0 | 1; - /** @description Number of chat messages to receive (100 by default, 200 at most) */ - limit?: number; - /** @description The last known message (serves as offset) */ - lastKnownMessageId?: number; - /** @description The last known common read message (so the response is 200 instead of 304 when it changes even when there are no messages) */ - lastCommonReadId?: number; - /** @description Number of seconds to wait for new messages (30 by default, 30 at most) */ - timeout?: number; - /** @description Automatically set the last read marker when 1, if your client does this itself via chat/{token}/read set to 0 */ - setReadMarker?: 0 | 1; - /** @description Include the $lastKnownMessageId in the messages when 1 (default 0) */ - includeLastKnown?: 0 | 1; - /** @description When the user status should not be automatically set to online set to 1 (default 0) */ - noStatusUpdate?: 0 | 1; - /** @description Set to 0 when notifications should not be marked as read (default 1) */ - markNotificationsAsRead?: 0 | 1; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Messages returned */ - 200: { - headers: { - "X-Chat-Last-Common-Read"?: string; - "X-Chat-Last-Given"?: string; - }; - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["ChatMessageWithParent"][]; - }; - }; - }; - }; - /** @description No messages */ - 304: { - content: never; - }; - }; - }; - /** - * Sends a new chat message to the given room - * @description The author and timestamp are automatically set to the current user/guest and time. - */ - "chat-send-message": { - parameters: { - query: { - /** @description the message to send */ - message: string; - /** @description for guests */ - actorDisplayName?: string; - /** @description for the message to be able to later identify it again */ - referenceId?: string; - /** @description Parent id which this message is a reply to */ - replyTo?: number; - /** @description If sent silent the chat message will not create any notifications */ - silent?: 0 | 1; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Message sent successfully */ - 201: { - headers: { - "X-Chat-Last-Common-Read"?: string; - }; - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["ChatMessageWithParent"]; - }; - }; - }; - }; - /** @description Sending message is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Actor not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Message too long */ - 413: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Mention rate limit exceeded (guests only) */ - 429: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Clear the chat history */ - "chat-clear-history": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description History cleared successfully */ - 200: { - headers: { - "X-Chat-Last-Common-Read"?: string; - }; - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["ChatMessage"]; - }; - }; - }; - }; - /** @description History cleared successfully, but Matterbridge is configured, so the information can be replicated elsewhere */ - 202: { - headers: { - "X-Chat-Last-Common-Read"?: string; - }; - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["ChatMessage"]; - }; - }; - }; - }; - /** @description Missing permissions to clear history */ - 403: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Edit a chat message */ - "chat-edit-message": { - parameters: { - query: { - /** @description the message to send */ - message: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - /** @description ID of the message */ - messageId: number; - }; - }; - responses: { - /** @description Message edited successfully */ - 200: { - headers: { - "X-Chat-Last-Common-Read"?: string; - }; - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["ChatMessageWithParent"]; - }; - }; - }; - }; - /** @description Message edited successfully, but a bot or Matterbridge is configured, so the information can be replicated to other services */ - 202: { - headers: { - "X-Chat-Last-Common-Read"?: string; - }; - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["ChatMessageWithParent"]; - }; - }; - }; - }; - /** @description Editing message is not possible, e.g. when the new message is empty or the message is too old */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; - }; - }; - /** @description Missing permissions to edit message */ - 403: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Message not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Editing this message type is not allowed */ - 405: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Message too long */ - 413: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Delete a chat message */ - "chat-delete-message": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - /** @description ID of the message */ - messageId: number; - }; - }; - responses: { - /** @description Message deleted successfully */ - 200: { - headers: { - "X-Chat-Last-Common-Read"?: string; - }; - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["ChatMessageWithParent"]; - }; - }; - }; - }; - /** @description Message deleted successfully, but a bot or Matterbridge is configured, so the information can be replicated elsewhere */ - 202: { - headers: { - "X-Chat-Last-Common-Read"?: string; - }; - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["ChatMessageWithParent"]; - }; - }; - }; - }; - /** @description Deleting message is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Missing permissions to delete message */ - 403: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Message not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Deleting this message type is not allowed */ - 405: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Get the context of a message */ - "chat-get-message-context": { - parameters: { - query?: { - /** @description Number of chat messages to receive in both directions (50 by default, 100 at most, might return 201 messages) */ - limit?: number; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - /** @description The focused message which should be in the "middle" of the returned context */ - messageId: number; - }; - }; - responses: { - /** @description Message context returned */ - 200: { - headers: { - "X-Chat-Last-Common-Read"?: string; - "X-Chat-Last-Given"?: string; - }; - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["ChatMessageWithParent"][]; - }; - }; - }; - }; - /** @description No messages */ - 304: { - content: never; - }; - }; - }; - /** Get the reminder for a chat message */ - "chat-get-reminder": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - /** @description ID of the message */ - messageId: number; - }; - }; - responses: { - /** @description Reminder returned */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["ChatReminder"]; - }; - }; - }; - }; - /** @description Message not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error?: string; - }; - }; - }; - }; - }; - }; - }; - /** Set a reminder for a chat message */ - "chat-set-reminder": { - parameters: { - query: { - /** @description Timestamp of the reminder */ - timestamp: number; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - /** @description ID of the message */ - messageId: number; - }; - }; - responses: { - /** @description Reminder created successfully */ - 201: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["ChatReminder"]; - }; - }; - }; - }; - /** @description Message not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error?: string; - }; - }; - }; - }; - }; - }; - }; - /** Delete a chat reminder */ - "chat-delete-reminder": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - /** @description ID of the message */ - messageId: number; - }; - }; - responses: { - /** @description Reminder deleted successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error?: string; - }; - }; - }; - }; - }; - /** @description Message not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error?: string; - }; - }; - }; - }; - }; - }; - }; - /** Set the read marker to a specific message */ - "chat-set-read-marker": { - parameters: { - query?: { - /** @description ID if the last read message (Optional only with `chat-read-last` capability) */ - lastReadMessage?: number | null; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Read marker set successfully */ - 200: { - headers: { - "X-Chat-Last-Common-Read"?: string; - }; - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"]; - }; - }; - }; - }; - }; - }; - /** Mark a chat as unread */ - "chat-mark-unread": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Read marker set successfully */ - 200: { - headers: { - "X-Chat-Last-Common-Read"?: string; - }; - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"]; - }; - }; - }; - }; - }; - }; - /** Search for mentions */ - "chat-mentions": { - parameters: { - query: { - /** @description Text to search for */ - search: string; - /** @description Maximum number of results */ - limit?: number; - /** @description Include the user statuses */ - includeStatus?: 0 | 1; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description List of mention suggestions returned */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["ChatMentionSuggestion"][]; - }; - }; - }; - }; - }; - }; - /** Get objects that are shared in the room */ - "chat-get-objects-shared-in-room": { - parameters: { - query: { - /** @description Type of the objects */ - objectType: string; - /** @description ID of the last known message */ - lastKnownMessageId?: number; - /** @description Maximum number of objects */ - limit?: number; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description List of shared objects messages returned */ - 200: { - headers: { - "X-Chat-Last-Given"?: string; - }; - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["ChatMessage"][]; - }; - }; - }; - }; - }; - }; - /** - * Sends a rich-object to the given room - * @description The author and timestamp are automatically set to the current user/guest and time. - */ - "chat-share-object-to-chat": { - parameters: { - query: { - /** @description Type of the object */ - objectType: string; - /** @description ID of the object */ - objectId: string; - /** @description Additional metadata */ - metaData?: string; - /** @description Guest name */ - actorDisplayName?: string; - /** @description Reference ID */ - referenceId?: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Object shared successfully */ - 201: { - headers: { - "X-Chat-Last-Common-Read"?: string; - }; - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["ChatMessageWithParent"]; - }; - }; - }; - }; - /** @description Sharing object is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Actor not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Message too long */ - 413: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Get objects that are shared in the room overview */ - "chat-get-objects-shared-in-room-overview": { - parameters: { - query?: { - /** @description Maximum number of objects */ - limit?: number; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description List of shared objects messages of each type returned */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - [key: string]: components["schemas"]["ChatMessage"][]; - }; - }; - }; - }; - }; - }; - }; - /** - * Get the token of the room associated to the given file id - * @description This is the counterpart of self::getRoomByShareToken() for file ids instead of share tokens, although both return the same room token if the given file id and share token refer to the same file. - * If there is no room associated to the given file id a new room is created; the new room is a public room associated with a "file" object with the given file id. Unlike normal rooms in which the owner is the user that created the room these are special rooms without owner (although self joined users with direct access to the file become persistent participants automatically when they join until they explicitly leave or no longer have access to the file). - * In any case, to create or even get the token of the room, the file must be shared and the user must be the owner of a public share of the file (like a link share, for example) or have direct access to that file; an error is returned otherwise. A user has direct access to a file if she has access to it (or to an ancestor) through a user, group, circle or room share (but not through a link share, for example), or if she is the owner of such a file. - */ - "files_integration-get-room-by-file-id": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - /** @description ID of the file */ - fileId: string; - }; - }; - responses: { - /** @description Room token returned */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + /** @description ID of the message */ + messageId: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Message edited successfully */ + 200: { + headers: { + "X-Chat-Last-Common-Read"?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["ChatMessageWithParent"]; + }; + }; + }; + }; + /** @description Message edited successfully, but a bot or Matterbridge is configured, so the information can be replicated to other services */ + 202: { + headers: { + "X-Chat-Last-Common-Read"?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["ChatMessageWithParent"]; + }; + }; + }; + }; + /** @description Editing message is not possible, e.g. when the new message is empty or the message is too old */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + /** @description Missing permissions to edit message */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Message not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Editing this message type is not allowed */ + 405: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Message too long */ + 413: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "chat-delete-message": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + /** @description ID of the message */ + messageId: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Message deleted successfully */ + 200: { + headers: { + "X-Chat-Last-Common-Read"?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["ChatMessageWithParent"]; + }; + }; + }; + }; + /** @description Message deleted successfully, but a bot or Matterbridge is configured, so the information can be replicated elsewhere */ + 202: { + headers: { + "X-Chat-Last-Common-Read"?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["ChatMessageWithParent"]; + }; + }; + }; + }; + /** @description Deleting message is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Missing permissions to delete message */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Message not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Deleting this message type is not allowed */ + 405: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "chat-get-message-context": { + parameters: { + query?: { + /** @description Number of chat messages to receive in both directions (50 by default, 100 at most, might return 201 messages) */ + limit?: number; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + /** @description The focused message which should be in the "middle" of the returned context */ + messageId: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Message context returned */ + 200: { + headers: { + "X-Chat-Last-Common-Read"?: string; + "X-Chat-Last-Given"?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["ChatMessageWithParent"][]; + }; + }; + }; + }; + /** @description No messages */ + 304: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "chat-get-reminder": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + /** @description ID of the message */ + messageId: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Reminder returned */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["ChatReminder"]; + }; + }; + }; + }; + /** @description Message not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error?: string; + }; + }; + }; + }; + }; + }; + }; + "chat-set-reminder": { + parameters: { + query: { + /** @description Timestamp of the reminder */ + timestamp: number; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + /** @description ID of the message */ + messageId: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Reminder created successfully */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["ChatReminder"]; + }; + }; + }; + }; + /** @description Message not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error?: string; + }; + }; + }; + }; + }; + }; + }; + "chat-delete-reminder": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + /** @description ID of the message */ + messageId: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Reminder deleted successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error?: string; + }; + }; + }; + }; + }; + /** @description Message not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error?: string; + }; + }; + }; + }; + }; + }; + }; + "chat-set-read-marker": { + parameters: { + query?: { + /** @description ID if the last read message (Optional only with `chat-read-last` capability) */ + lastReadMessage?: number | null; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; token: string; - }; - }; - }; - }; - }; - /** @description Rooms not allowed for shares */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Share not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** - * Returns the token of the room associated to the file of the given share token - * @description This is the counterpart of self::getRoomByFileId() for share tokens instead of file ids, although both return the same room token if the given file id and share token refer to the same file. - * If there is no room associated to the file id of the given share token a new room is created; the new room is a public room associated with a "file" object with the file id of the given share token. Unlike normal rooms in which the owner is the user that created the room these are special rooms without owner (although self joined users with direct access to the file become persistent participants automatically when they join until they explicitly leave or no longer have access to the file). - * In any case, to create or even get the token of the room, the file must be publicly shared (like a link share, for example); an error is returned otherwise. - * Besides the token of the room this also returns the current user ID and display name, if any; this is needed by the Talk sidebar to know the actual current user, as the public share page uses the incognito mode and thus logged-in users as seen as guests. - */ - "files_integration-get-room-by-share-token": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - /** @description Token of the file share */ - shareToken: string; - }; - }; - responses: { - /** @description Room token and user info returned */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Read marker set successfully */ + 200: { + headers: { + "X-Chat-Last-Common-Read"?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"]; + }; + }; + }; + }; + }; + }; + "chat-mark-unread": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Read marker set successfully */ + 200: { + headers: { + "X-Chat-Last-Common-Read"?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"]; + }; + }; + }; + }; + }; + }; + "chat-mentions": { + parameters: { + query: { + /** @description Text to search for */ + search: string; + /** @description Maximum number of results */ + limit?: number; + /** @description Include the user statuses */ + includeStatus?: 0 | 1; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description List of mention suggestions returned */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["ChatMentionSuggestion"][]; + }; + }; + }; + }; + }; + }; + "chat-get-objects-shared-in-room": { + parameters: { + query: { + /** @description Type of the objects */ + objectType: string; + /** @description ID of the last known message */ + lastKnownMessageId?: number; + /** @description Maximum number of objects */ + limit?: number; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description List of shared objects messages returned */ + 200: { + headers: { + "X-Chat-Last-Given"?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["ChatMessage"][]; + }; + }; + }; + }; + }; + }; + "chat-share-object-to-chat": { + parameters: { + query: { + /** @description Type of the object */ + objectType: string; + /** @description ID of the object */ + objectId: string; + /** @description Additional metadata */ + metaData?: string; + /** @description Guest name */ + actorDisplayName?: string; + /** @description Reference ID */ + referenceId?: string; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; token: string; - userId: string; - userDisplayName: string; - }; - }; - }; - }; - }; - /** @description Rooms not allowed for shares */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Share not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Set the display name as a guest */ - "guest-set-display-name": { - parameters: { - query: { - /** @description New display name */ - displayName: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Display name updated successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Not a guest */ - 403: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Not a participant */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Get bridge information of one room */ - "matterbridge-get-bridge-of-room": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Return list of configured bridges */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["MatterbridgeWithProcessState"]; - }; - }; - }; - }; - }; - }; - /** Edit bridge information of one room */ - "matterbridge-edit-bridge-of-room": { - parameters: { - query: { - /** @description If the bridge should be enabled */ - enabled: 0 | 1; - /** @description New parts */ - parts?: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Bridge edited successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["MatterbridgeProcessState"]; - }; - }; - }; - }; - /** @description Editing bridge is not possible */ - 406: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; - }; - }; - }; - }; - /** Delete bridge of one room */ - "matterbridge-delete-bridge-of-room": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Bridge deleted successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: boolean; - }; - }; - }; - }; - /** @description Deleting bridge is not possible */ - 406: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; - }; - }; - }; - }; - /** Get bridge process information */ - "matterbridge-get-bridge-process-state": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Return list of running processes */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["MatterbridgeProcessState"]; - }; - }; - }; - }; - }; - }; - /** Create a poll */ - "poll-create-poll": { - parameters: { - query: { - /** @description Question of the poll */ - question: string; - /** @description Options of the poll */ - "options[]": string[]; - /** @description Mode how the results will be shown */ - resultMode: 0 | 1; - /** @description Number of maximum votes per voter */ - maxVotes: number; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Poll created successfully */ - 201: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Poll"]; - }; - }; - }; - }; - /** @description Creating poll is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Get a poll */ - "poll-show-poll": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - /** @description ID of the poll */ - pollId: number; - }; - }; - responses: { - /** @description Poll returned */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Poll"]; - }; - }; - }; - }; - /** @description Poll not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Vote on a poll */ - "poll-vote-poll": { - parameters: { - query?: { - /** @description IDs of the selected options */ - "optionIds[]"?: number[]; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - /** @description ID of the poll */ - pollId: number; - }; - }; - responses: { - /** @description Voted successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Poll"]; - }; - }; - }; - }; - /** @description Voting is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Poll not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Close a poll */ - "poll-close-poll": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - /** @description ID of the poll */ - pollId: number; - }; - }; - responses: { - /** @description Poll closed successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Poll"]; - }; - }; - }; - }; - /** @description Poll already closed */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Missing permissions to close poll */ - 403: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Poll not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - 500: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** - * Creates a new room for video verification (requesting the password of a share) - * @description The new room is a public room associated with a "share:password" object with the ID of the share token. Unlike normal rooms in which the owner is the user that created the room these are special rooms always created by a guest or user on behalf of a registered user, the sharer, who will be the owner of the room. - * The share must have "send password by Talk" enabled; an error is returned otherwise. - */ - "public_share_auth-create-room": { - parameters: { - query: { - /** @description Token of the file share */ - shareToken: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - }; - }; - responses: { - /** @description Room created successfully */ - 201: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Object shared successfully */ + 201: { + headers: { + "X-Chat-Last-Common-Read"?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["ChatMessageWithParent"]; + }; + }; + }; + }; + /** @description Sharing object is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Actor not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Message too long */ + 413: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "chat-get-objects-shared-in-room-overview": { + parameters: { + query?: { + /** @description Maximum number of objects */ + limit?: number; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; token: string; - name: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description List of shared objects messages of each type returned */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + [key: string]: components["schemas"]["ChatMessage"][] | undefined; + }; + }; + }; + }; + }; + }; + }; + "files_integration-get-room-by-file-id": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + /** @description ID of the file */ + fileId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Room token returned */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + token: string; + }; + }; + }; + }; + }; + /** @description Rooms not allowed for shares */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Share not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "files_integration-get-room-by-share-token": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + /** @description Token of the file share */ + shareToken: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Room token and user info returned */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + token: string; + userId: string; + userDisplayName: string; + }; + }; + }; + }; + }; + /** @description Rooms not allowed for shares */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Share not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "guest-set-display-name": { + parameters: { + query: { + /** @description New display name */ displayName: string; - }; - }; - }; - }; - }; - /** @description Share not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Get a list of reactions for a message */ - "reaction-get-reactions": { - parameters: { - query?: { - /** @description Emoji to filter */ - reaction?: string | null; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - /** @description ID of the message */ - messageId: number; - }; - }; - responses: { - /** @description Reactions returned */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - [key: string]: components["schemas"]["Reaction"][]; - }; - }; - }; - }; - }; - /** @description Message or reaction not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Add a reaction to a message */ - "reaction-react": { - parameters: { - query: { - /** @description Emoji to add */ - reaction: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - /** @description ID of the message */ - messageId: number; - }; - }; - responses: { - /** @description Reaction already existed */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - [key: string]: components["schemas"]["Reaction"][]; - }; - }; - }; - }; - }; - /** @description Reaction added successfully */ - 201: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - [key: string]: components["schemas"]["Reaction"][]; - }; - }; - }; - }; - }; - /** @description Adding reaction is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Message not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Delete a reaction from a message */ - "reaction-delete": { - parameters: { - query: { - /** @description Emoji to remove */ - reaction: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - /** @description ID of the message */ - messageId: number; - }; - }; - responses: { - /** @description Reaction deleted successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - [key: string]: components["schemas"]["Reaction"][]; - }; - }; - }; - }; - }; - /** @description Deleting reaction is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Message not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Start the recording */ - "recording-start": { - parameters: { - query: { - /** @description Type of the recording */ - status: number; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Recording started successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Starting recording is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; - }; - }; - }; - }; - /** Stop the recording */ - "recording-stop": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Recording stopped successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Stopping recording is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; - }; - }; - }; - }; - /** Dismiss the store call recording notification */ - "recording-notification-dismiss": { - parameters: { - query: { - /** @description Timestamp of the notification to be dismissed */ - timestamp: number; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Notification dismissed successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Dismissing notification is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; - }; - }; - }; - }; - /** Share the recorded file to the chat */ - "recording-share-to-chat": { - parameters: { - query: { - /** @description ID of the file */ - fileId: number; - /** @description Timestamp of the notification to be dismissed */ - timestamp: number; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - token: string; - }; - }; - responses: { - /** @description Recording shared to chat successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Sharing recording to chat is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; - }; - }; - }; - }; - /** Get all currently existent rooms which the user has joined */ - "room-get-rooms": { - parameters: { - query?: { - /** @description When the user status should not be automatically set to online set to 1 (default 0) */ - noStatusUpdate?: 0 | 1; - /** @description Include the user status */ - includeStatus?: 0 | 1; - /** @description Filter rooms modified after a timestamp */ - modifiedSince?: number; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - }; - }; - responses: { - /** @description Return list of rooms */ - 200: { - headers: { - "X-Nextcloud-Talk-Hash"?: string; - "X-Nextcloud-Talk-Modified-Before"?: string; - "X-Nextcloud-Talk-Federation-Invites"?: string; - }; - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"][]; - }; - }; - }; - }; - }; - }; - /** Create a room with a user, a group or a circle */ - "room-create-room": { - parameters: { - query: { - /** @description Type of the room */ - roomType: number; - /** @description User, group, … ID to invite */ - invite?: string; - /** @description Name of the room */ - roomName?: string; - /** @description Source of the invite ID ('circles' to create a room with a circle, etc.) */ - source?: string; - /** @description Type of the object */ - objectType?: string; - /** @description ID of the object */ - objectId?: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - }; - }; - responses: { - /** @description Room already existed */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"]; - }; - }; - }; - }; - /** @description Room created successfully */ - 201: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"]; - }; - }; - }; - }; - /** @description Room type invalid */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error?: string; - }; - }; - }; - }; - }; - /** @description Missing permissions to create room */ - 403: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description User, group or other target to invite was not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Get listed rooms with optional search term */ - "room-get-listed-rooms": { - parameters: { - query?: { - /** @description search term */ - searchTerm?: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - }; - }; - responses: { - /** @description Return list of matching rooms */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"][]; - }; - }; - }; - }; - }; - }; - /** - * Get the "Note to self" conversation for the user - * @description It will be automatically created when it is currently missing - */ - "room-get-note-to-self-conversation": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - }; - }; - responses: { - /** @description Room returned successfully */ - 200: { - headers: { - "X-Nextcloud-Talk-Hash"?: string; - }; - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"]; - }; - }; - }; - }; - }; - }; - /** Get a room */ - "room-get-single-room": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - /** @description Token of the room */ - token: string; - }; - }; - responses: { - /** @description Room returned */ - 200: { - headers: { - "X-Nextcloud-Talk-Hash"?: string; - }; - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"]; - }; - }; - }; - }; - /** @description SIP request invalid */ - 401: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Room not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Rename a room */ - "room-rename-room": { - parameters: { - query: { - /** @description New name */ - roomName: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Room renamed successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Renaming room is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Delete a room */ - "room-delete-room": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Room successfully deleted */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Deleting room is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** - * Get breakout rooms - * @description All for moderators and in case of "free selection", or the assigned breakout room for other participants - */ - "room-get-breakout-rooms": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Breakout rooms returned */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"][]; - }; - }; - }; - }; - /** @description Getting breakout rooms is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; - }; - }; - }; - }; - /** Allowed guests to join conversation */ - "room-make-public": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Allowed guests successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Allowing guests is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Disallowed guests to join conversation */ - "room-make-private": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Room unpublished Disallowing guests successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Disallowing guests is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Update the description of a room */ - "room-set-description": { - parameters: { - query: { - /** @description New description */ - description: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Description updated successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Updating description is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Set read-only state of a room */ - "room-set-read-only": { - parameters: { - query: { - /** @description New read-only state */ - state: 0 | 1; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Read-only state updated successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Updating read-only state is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Make a room listable */ - "room-set-listable": { - parameters: { - query: { - /** @description Scope where the room is listable */ - scope: 0 | 1 | 2; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Made room listable successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Making room listable is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Set a password for a room */ - "room-set-password": { - parameters: { - query: { - /** @description New password */ - password: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Password set successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Setting password is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - message?: string; - }; - }; - }; - }; - }; - /** @description Setting password is not allowed */ - 403: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Update the permissions of a room */ - "room-set-permissions": { - parameters: { - query: { - /** @description New permissions */ - permissions: number; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - /** @description Level of the permissions ('call', 'default') */ - mode: "call" | "default"; - }; - }; - responses: { - /** @description Permissions updated successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"]; - }; - }; - }; - }; - /** @description Updating permissions is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Get a list of participants for a room */ - "room-get-participants": { - parameters: { - query?: { - /** @description Include the user statuses */ - includeStatus?: 0 | 1; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Participants returned */ - 200: { - headers: { - "X-Nextcloud-Has-User-Statuses"?: boolean; - }; - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Participant"][]; - }; - }; - }; - }; - /** @description Missing permissions for getting participants */ - 403: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Add a participant to a room */ - "room-add-participant-to-room": { - parameters: { - query: { - /** @description New participant */ - newParticipant: string; - /** @description Source of the participant */ - source?: "users" | "groups" | "circles" | "emails" | "federated_users" | "phones"; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Participant successfully added */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: OneOf<[{ - /** Format: int64 */ - type: number; - }, unknown[]]>; - }; - }; - }; - }; - /** @description Adding participant is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error?: string; - }; - }; - }; - }; - }; - /** @description User, group or other target to invite was not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description SIP dial-out is not configured */ - 501: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Get the breakout room participants for a room */ - "room-get-breakout-room-participants": { - parameters: { - query?: { - /** @description Include the user statuses */ - includeStatus?: 0 | 1; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Breakout room participants returned */ - 200: { - headers: { - "X-Nextcloud-Has-User-Statuses"?: boolean; - }; - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Participant"][]; - }; - }; - }; - }; - /** @description Getting breakout room participants is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; - }; - }; - /** @description Missing permissions to get breakout room participants */ - 403: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Remove the current user from a room */ - "room-remove-self-from-room": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Participant removed successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Removing participant is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Participant not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Remove an attendee from a room */ - "room-remove-attendee-from-room": { - parameters: { - query: { - /** @description ID of the attendee */ - attendeeId: number; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Attendee removed successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Removing attendee is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Removing attendee is not allowed */ - 403: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Attendee not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Update the permissions of an attendee */ - "room-set-attendee-permissions": { - parameters: { - query: { - /** @description ID of the attendee */ - attendeeId: number; - /** @description Method of updating permissions ('set', 'remove', 'add') */ - method: "set" | "remove" | "add"; - /** @description New permissions */ - permissions: number; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Permissions updated successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Updating permissions is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Missing permissions to update permissions */ - 403: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Attendee not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Update the permissions of all attendees */ - "room-set-all-attendees-permissions": { - parameters: { - query: { - /** @description Method of updating permissions ('set', 'remove', 'add') */ - method: "set" | "remove" | "add"; - /** @description New permissions */ - permissions: number; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Permissions updated successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"]; - }; - }; - }; - }; - /** @description Updating permissions is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Join a room */ - "room-join-room": { - parameters: { - query?: { - /** @description Password of the room */ - password?: string; - /** @description Create a new session if necessary */ - force?: 0 | 1; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - /** @description Token of the room */ - token: string; - }; - }; - responses: { - /** @description Room joined successfully */ - 200: { - headers: { - "X-Nextcloud-Talk-Proxy-Hash"?: string; - }; - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"]; - }; - }; - }; - }; - /** @description Joining room is not allowed */ - 403: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - /** @enum {string} */ - error: "ban" | "password"; - }; - }; - }; - }; - }; - /** @description Room not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Session already exists */ - 409: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - sessionId: string; - /** Format: int64 */ - inCall: number; - /** Format: int64 */ - lastPing: number; - }; - }; - }; - }; - }; - }; - }; - /** Leave a room */ - "room-leave-room": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - /** @description Token of the room */ - token: string; - }; - }; - responses: { - /** @description Successfully left the room */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Resend invitations */ - "room-resend-invitations": { - parameters: { - query?: { - /** @description ID of the attendee */ - attendeeId?: number | null; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Invitation resent successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Attendee not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Set active state for a session */ - "room-set-session-state": { - parameters: { - query: { - /** @description of the room */ - state: 0 | 1; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Session state set successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"]; - }; - }; - }; - }; - /** @description The provided new state was invalid */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description The participant did not have a session */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Promote an attendee to moderator */ - "room-promote-moderator": { - parameters: { - query: { - /** @description ID of the attendee */ - attendeeId: number; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Attendee promoted to moderator successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Promoting attendee to moderator is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Promoting attendee to moderator is not allowed */ - 403: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Attendee not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Demote an attendee from moderator */ - "room-demote-moderator": { - parameters: { - query: { - /** @description ID of the attendee */ - attendeeId: number; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Attendee demoted from moderator successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Demoting attendee from moderator is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Demoting attendee from moderator is not allowed */ - 403: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Attendee not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Add a room to the favorites */ - "room-add-to-favorites": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Successfully added room to favorites */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Remove a room from the favorites */ - "room-remove-from-favorites": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Successfully removed room from favorites */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Update the notification level for a room */ - "room-set-notification-level": { - parameters: { - query: { - /** @description New level */ - level: number; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Notification level updated successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Updating notification level is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Update call notifications */ - "room-set-notification-calls": { - parameters: { - query: { - /** @description New level */ - level: number; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Call notification level updated successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Updating call notification level is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Update the lobby state for a room */ - "room-set-lobby": { - parameters: { - query: { - /** @description New state */ - state: number; - /** @description Timer when the lobby will be removed */ - timer?: number | null; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Lobby state updated successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"]; - }; - }; - }; - }; - /** @description Updating lobby state is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Update SIP enabled state */ - "room-setsip-enabled": { - parameters: { - query: { - /** @description New state */ - state: 0 | 1 | 2; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description SIP enabled state updated successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"]; - }; - }; - }; - }; - /** @description Updating SIP enabled state is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description User not found */ - 401: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Missing permissions to update SIP enabled state */ - 403: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description SIP not configured */ - 412: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Set recording consent requirement for this conversation */ - "room-set-recording-consent": { - parameters: { - query: { - /** @description New consent setting for the conversation (Only {@see RecordingService::CONSENT_REQUIRED_NO} and {@see RecordingService::CONSENT_REQUIRED_YES} are allowed here.) */ - recordingConsent: number; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Recording consent requirement set successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Room"]; - }; - }; - }; - }; - /** @description Setting recording consent requirement is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error: string; - }; - }; - }; - }; - }; - /** @description No recording server is configured */ - 412: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Update message expiration time */ - "room-set-message-expiration": { - parameters: { - query: { - /** @description New time */ - seconds: number; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Message expiration time updated successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Updating message expiration time is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - error?: string; - }; - }; - }; - }; - }; - }; - }; - /** - * Get capabilities for a room - * @description See "Capability handling in federated conversations" in https://github.com/nextcloud/spreed/issues/10680 to learn which capabilities should be considered from the local server or from the remote server. - */ - "room-get-capabilities": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v4"; - token: string; - }; - }; - responses: { - /** @description Get capabilities successfully */ - 200: { - headers: { - "X-Nextcloud-Talk-Hash"?: string; - "X-Nextcloud-Talk-Proxy-Hash"?: string; - }; - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["Capabilities"] | unknown[]; - }; - }; - }; - }; - }; - }; - /** Update user setting */ - "settings-set-user-setting": { - parameters: { - query: { - /** @description Key to update */ - key: "attachment_folder" | "read_status_privacy" | "typing_privacy" | "play_sounds"; - /** @description New value for the key */ - value?: string | number | null; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v1"; - }; - }; - responses: { - /** @description User setting updated successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Updating user setting is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Get the signaling settings */ - "signaling-get-settings": { - parameters: { - query?: { - /** @description Token of the room */ - token?: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v3"; - }; - }; - responses: { - /** @description Signaling settings returned */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: components["schemas"]["SignalingSettings"]; - }; - }; - }; - }; - /** @description Recording request invalid */ - 401: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Room not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; - /** Get signaling messages */ - "signaling-pull-messages": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v3"; - /** @description Token of the room */ - token: string; - }; - }; - responses: { - /** @description Signaling messages returned */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: ({ - type: string; - data: components["schemas"]["SignalingSession"][] | string; - })[]; - }; - }; - }; - }; - /** @description Getting signaling messages is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: string; - }; - }; - }; - }; - /** @description Session, room or participant not found */ - 404: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: ({ - type: string; - data: components["schemas"]["SignalingSession"][] | string; - })[]; - }; - }; - }; - }; - /** @description Session killed */ - 409: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: ({ - type: string; - data: components["schemas"]["SignalingSession"][] | string; - })[]; - }; - }; - }; - }; - }; - }; - /** Send signaling messages */ - "signaling-send-messages": { - parameters: { - query: { - /** @description JSON encoded messages */ - messages: string; - }; - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - path: { - apiVersion: "v3"; - /** @description Token of the room */ - token: string; - }; - }; - responses: { - /** @description Signaling message sent successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Sending signaling message is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: string; - }; - }; - }; - }; - }; - }; - /** Upload your avatar as a user */ - "temp_avatar-post-avatar": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - }; - responses: { - /** @description Avatar uploaded successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Uploading avatar is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: { - message: string; - }; - }; - }; - }; - }; - }; - }; - /** Delete your avatar as a user */ - "temp_avatar-delete-avatar": { - parameters: { - header: { - /** @description Required to be true for the API request to pass */ - "OCS-APIRequest": boolean; - }; - }; - responses: { - /** @description Avatar deleted successfully */ - 200: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - /** @description Deleting avatar is not possible */ - 400: { - content: { - "application/json": { - ocs: { - meta: components["schemas"]["OCSMeta"]; - data: unknown; - }; - }; - }; - }; - }; - }; -}; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Display name updated successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Not a guest */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Not a participant */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "matterbridge-get-bridge-of-room": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Return list of configured bridges */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["MatterbridgeWithProcessState"]; + }; + }; + }; + }; + }; + }; + "matterbridge-edit-bridge-of-room": { + parameters: { + query: { + /** @description If the bridge should be enabled */ + enabled: 0 | 1; + /** @description New parts */ + parts?: string; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Bridge edited successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["MatterbridgeProcessState"]; + }; + }; + }; + }; + /** @description Editing bridge is not possible */ + 406: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + }; + }; + "matterbridge-delete-bridge-of-room": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Bridge deleted successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: boolean; + }; + }; + }; + }; + /** @description Deleting bridge is not possible */ + 406: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + }; + }; + "matterbridge-get-bridge-process-state": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Return list of running processes */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["MatterbridgeProcessState"]; + }; + }; + }; + }; + }; + }; + "poll-create-poll": { + parameters: { + query: { + /** @description Question of the poll */ + question: string; + /** @description Options of the poll */ + "options[]": string[]; + /** @description Mode how the results will be shown */ + resultMode: 0 | 1; + /** @description Number of maximum votes per voter */ + maxVotes: number; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Poll created successfully */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Poll"]; + }; + }; + }; + }; + /** @description Creating poll is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "poll-show-poll": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + /** @description ID of the poll */ + pollId: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Poll returned */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Poll"]; + }; + }; + }; + }; + /** @description Poll not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "poll-vote-poll": { + parameters: { + query?: { + /** @description IDs of the selected options */ + "optionIds[]"?: number[]; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + /** @description ID of the poll */ + pollId: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Voted successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Poll"]; + }; + }; + }; + }; + /** @description Voting is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Poll not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "poll-close-poll": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + /** @description ID of the poll */ + pollId: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Poll closed successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Poll"]; + }; + }; + }; + }; + /** @description Poll already closed */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Missing permissions to close poll */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Poll not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "public_share_auth-create-room": { + parameters: { + query: { + /** @description Token of the file share */ + shareToken: string; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Room created successfully */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + token: string; + name: string; + displayName: string; + }; + }; + }; + }; + }; + /** @description Share not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "reaction-get-reactions": { + parameters: { + query?: { + /** @description Emoji to filter */ + reaction?: string | null; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + /** @description ID of the message */ + messageId: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Reactions returned */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + [key: string]: components["schemas"]["Reaction"][] | undefined; + }; + }; + }; + }; + }; + /** @description Message or reaction not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "reaction-react": { + parameters: { + query: { + /** @description Emoji to add */ + reaction: string; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + /** @description ID of the message */ + messageId: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Reaction already existed */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + [key: string]: components["schemas"]["Reaction"][] | undefined; + }; + }; + }; + }; + }; + /** @description Reaction added successfully */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + [key: string]: components["schemas"]["Reaction"][] | undefined; + }; + }; + }; + }; + }; + /** @description Adding reaction is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Message not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "reaction-delete": { + parameters: { + query: { + /** @description Emoji to remove */ + reaction: string; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + /** @description ID of the message */ + messageId: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Reaction deleted successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + [key: string]: components["schemas"]["Reaction"][] | undefined; + }; + }; + }; + }; + }; + /** @description Deleting reaction is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Message not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "recording-start": { + parameters: { + query: { + /** @description Type of the recording */ + status: number; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Recording started successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Starting recording is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + }; + }; + "recording-stop": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Recording stopped successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Stopping recording is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + }; + }; + "recording-notification-dismiss": { + parameters: { + query: { + /** @description Timestamp of the notification to be dismissed */ + timestamp: number; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Notification dismissed successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Dismissing notification is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + }; + }; + "recording-share-to-chat": { + parameters: { + query: { + /** @description ID of the file */ + fileId: number; + /** @description Timestamp of the notification to be dismissed */ + timestamp: number; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Recording shared to chat successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Sharing recording to chat is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + }; + }; + "room-get-rooms": { + parameters: { + query?: { + /** @description When the user status should not be automatically set to online set to 1 (default 0) */ + noStatusUpdate?: 0 | 1; + /** @description Include the user status */ + includeStatus?: 0 | 1; + /** @description Filter rooms modified after a timestamp */ + modifiedSince?: number; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Return list of rooms */ + 200: { + headers: { + "X-Nextcloud-Talk-Hash"?: string; + "X-Nextcloud-Talk-Modified-Before"?: string; + "X-Nextcloud-Talk-Federation-Invites"?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"][]; + }; + }; + }; + }; + }; + }; + "room-create-room": { + parameters: { + query: { + /** @description Type of the room */ + roomType: number; + /** @description User, group, … ID to invite */ + invite?: string; + /** @description Name of the room */ + roomName?: string; + /** @description Source of the invite ID ('circles' to create a room with a circle, etc.) */ + source?: string; + /** @description Type of the object */ + objectType?: string; + /** @description ID of the object */ + objectId?: string; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Room already existed */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"]; + }; + }; + }; + }; + /** @description Room created successfully */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"]; + }; + }; + }; + }; + /** @description Room type invalid */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error?: string; + }; + }; + }; + }; + }; + /** @description Missing permissions to create room */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description User, group or other target to invite was not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-get-listed-rooms": { + parameters: { + query?: { + /** @description search term */ + searchTerm?: string; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Return list of matching rooms */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"][]; + }; + }; + }; + }; + }; + }; + "room-get-note-to-self-conversation": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Room returned successfully */ + 200: { + headers: { + "X-Nextcloud-Talk-Hash"?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"]; + }; + }; + }; + }; + }; + }; + "room-get-single-room": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + /** @description Token of the room */ + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Room returned */ + 200: { + headers: { + "X-Nextcloud-Talk-Hash"?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"]; + }; + }; + }; + }; + /** @description SIP request invalid */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Room not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-rename-room": { + parameters: { + query: { + /** @description New name */ + roomName: string; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Room renamed successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Renaming room is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-delete-room": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Room successfully deleted */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Deleting room is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-get-breakout-rooms": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Breakout rooms returned */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"][]; + }; + }; + }; + }; + /** @description Getting breakout rooms is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + }; + }; + "room-make-public": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Allowed guests successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Allowing guests is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-make-private": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Room unpublished Disallowing guests successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Disallowing guests is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-set-description": { + parameters: { + query: { + /** @description New description */ + description: string; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Description updated successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Updating description is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-set-read-only": { + parameters: { + query: { + /** @description New read-only state */ + state: 0 | 1; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Read-only state updated successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Updating read-only state is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-set-listable": { + parameters: { + query: { + /** @description Scope where the room is listable */ + scope: 0 | 1 | 2; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Made room listable successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Making room listable is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-set-password": { + parameters: { + query: { + /** @description New password */ + password: string; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Password set successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Setting password is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + message?: string; + }; + }; + }; + }; + }; + /** @description Setting password is not allowed */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-set-permissions": { + parameters: { + query: { + /** @description New permissions */ + permissions: number; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + /** @description Level of the permissions ('call', 'default') */ + mode: "call" | "default"; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Permissions updated successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"]; + }; + }; + }; + }; + /** @description Updating permissions is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-get-participants": { + parameters: { + query?: { + /** @description Include the user statuses */ + includeStatus?: 0 | 1; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Participants returned */ + 200: { + headers: { + "X-Nextcloud-Has-User-Statuses"?: boolean; + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Participant"][]; + }; + }; + }; + }; + /** @description Missing permissions for getting participants */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-add-participant-to-room": { + parameters: { + query: { + /** @description New participant */ + newParticipant: string; + /** @description Source of the participant */ + source?: "users" | "groups" | "circles" | "emails" | "federated_users" | "phones"; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Participant successfully added */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + /** Format: int64 */ + type: number; + } | unknown[]; + }; + }; + }; + }; + /** @description Adding participant is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error?: string; + }; + }; + }; + }; + }; + /** @description User, group or other target to invite was not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description SIP dial-out is not configured */ + 501: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-get-breakout-room-participants": { + parameters: { + query?: { + /** @description Include the user statuses */ + includeStatus?: 0 | 1; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Breakout room participants returned */ + 200: { + headers: { + "X-Nextcloud-Has-User-Statuses"?: boolean; + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Participant"][]; + }; + }; + }; + }; + /** @description Getting breakout room participants is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + /** @description Missing permissions to get breakout room participants */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-remove-self-from-room": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Participant removed successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Removing participant is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Participant not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-remove-attendee-from-room": { + parameters: { + query: { + /** @description ID of the attendee */ + attendeeId: number; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Attendee removed successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Removing attendee is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Removing attendee is not allowed */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Attendee not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-set-attendee-permissions": { + parameters: { + query: { + /** @description ID of the attendee */ + attendeeId: number; + /** @description Method of updating permissions ('set', 'remove', 'add') */ + method: "set" | "remove" | "add"; + /** @description New permissions */ + permissions: number; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Permissions updated successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Updating permissions is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Missing permissions to update permissions */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Attendee not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-set-all-attendees-permissions": { + parameters: { + query: { + /** @description Method of updating permissions ('set', 'remove', 'add') */ + method: "set" | "remove" | "add"; + /** @description New permissions */ + permissions: number; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Permissions updated successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"]; + }; + }; + }; + }; + /** @description Updating permissions is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-join-room": { + parameters: { + query?: { + /** @description Password of the room */ + password?: string; + /** @description Create a new session if necessary */ + force?: 0 | 1; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + /** @description Token of the room */ + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Room joined successfully */ + 200: { + headers: { + "X-Nextcloud-Talk-Proxy-Hash"?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"]; + }; + }; + }; + }; + /** @description Joining room is not allowed */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + /** @enum {string} */ + error: "ban" | "password"; + }; + }; + }; + }; + }; + /** @description Room not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Session already exists */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + sessionId: string; + /** Format: int64 */ + inCall: number; + /** Format: int64 */ + lastPing: number; + }; + }; + }; + }; + }; + }; + }; + "room-leave-room": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + /** @description Token of the room */ + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successfully left the room */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-resend-invitations": { + parameters: { + query?: { + /** @description ID of the attendee */ + attendeeId?: number | null; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Invitation resent successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Attendee not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-set-session-state": { + parameters: { + query: { + /** @description of the room */ + state: 0 | 1; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Session state set successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"]; + }; + }; + }; + }; + /** @description The provided new state was invalid */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description The participant did not have a session */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-promote-moderator": { + parameters: { + query: { + /** @description ID of the attendee */ + attendeeId: number; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Attendee promoted to moderator successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Promoting attendee to moderator is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Promoting attendee to moderator is not allowed */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Attendee not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-demote-moderator": { + parameters: { + query: { + /** @description ID of the attendee */ + attendeeId: number; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Attendee demoted from moderator successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Demoting attendee from moderator is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Demoting attendee from moderator is not allowed */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Attendee not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-add-to-favorites": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successfully added room to favorites */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-remove-from-favorites": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successfully removed room from favorites */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-set-notification-level": { + parameters: { + query: { + /** @description New level */ + level: number; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Notification level updated successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Updating notification level is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-set-notification-calls": { + parameters: { + query: { + /** @description New level */ + level: number; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Call notification level updated successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Updating call notification level is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-set-lobby": { + parameters: { + query: { + /** @description New state */ + state: number; + /** @description Timer when the lobby will be removed */ + timer?: number | null; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Lobby state updated successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"]; + }; + }; + }; + }; + /** @description Updating lobby state is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-setsip-enabled": { + parameters: { + query: { + /** @description New state */ + state: 0 | 1 | 2; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description SIP enabled state updated successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"]; + }; + }; + }; + }; + /** @description Updating SIP enabled state is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description User not found */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Missing permissions to update SIP enabled state */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description SIP not configured */ + 412: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-set-recording-consent": { + parameters: { + query: { + /** @description New consent setting for the conversation (Only {@see RecordingService::CONSENT_REQUIRED_NO} and {@see RecordingService::CONSENT_REQUIRED_YES} are allowed here.) */ + recordingConsent: number; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Recording consent requirement set successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Room"]; + }; + }; + }; + }; + /** @description Setting recording consent requirement is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error: string; + }; + }; + }; + }; + }; + /** @description No recording server is configured */ + 412: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "room-set-message-expiration": { + parameters: { + query: { + /** @description New time */ + seconds: number; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Message expiration time updated successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Updating message expiration time is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + error?: string; + }; + }; + }; + }; + }; + }; + }; + "room-get-capabilities": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v4"; + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Get capabilities successfully */ + 200: { + headers: { + "X-Nextcloud-Talk-Hash"?: string; + "X-Nextcloud-Talk-Proxy-Hash"?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["Capabilities"] | unknown[]; + }; + }; + }; + }; + }; + }; + "settings-set-user-setting": { + parameters: { + query: { + /** @description Key to update */ + key: "attachment_folder" | "read_status_privacy" | "typing_privacy" | "play_sounds"; + /** @description New value for the key */ + value?: (string | number) | null; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v1"; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description User setting updated successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Updating user setting is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "signaling-get-settings": { + parameters: { + query?: { + /** @description Token of the room */ + token?: string; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v3"; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Signaling settings returned */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: components["schemas"]["SignalingSettings"]; + }; + }; + }; + }; + /** @description Recording request invalid */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Room not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; + "signaling-pull-messages": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v3"; + /** @description Token of the room */ + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Signaling messages returned */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + type: string; + data: components["schemas"]["SignalingSession"][] | string; + }[]; + }; + }; + }; + }; + /** @description Getting signaling messages is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: string; + }; + }; + }; + }; + /** @description Session, room or participant not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + type: string; + data: components["schemas"]["SignalingSession"][] | string; + }[]; + }; + }; + }; + }; + /** @description Session killed */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + type: string; + data: components["schemas"]["SignalingSession"][] | string; + }[]; + }; + }; + }; + }; + }; + }; + "signaling-send-messages": { + parameters: { + query: { + /** @description JSON encoded messages */ + messages: string; + }; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path: { + apiVersion: "v3"; + /** @description Token of the room */ + token: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Signaling message sent successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Sending signaling message is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: string; + }; + }; + }; + }; + }; + }; + "temp_avatar-post-avatar": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Avatar uploaded successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Uploading avatar is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: { + message: string; + }; + }; + }; + }; + }; + }; + }; + "temp_avatar-delete-avatar": { + parameters: { + query?: never; + header: { + /** @description Required to be true for the API request to pass */ + "OCS-APIRequest": boolean; + }; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Avatar deleted successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + /** @description Deleting avatar is not possible */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ocs: { + meta: components["schemas"]["OCSMeta"]; + data: unknown; + }; + }; + }; + }; + }; + }; +} From 48c9ad4261b55dd9b03a69c4c4ebd5b2215b013f Mon Sep 17 00:00:00 2001 From: Maksim Sukharev Date: Mon, 24 Jun 2024 11:23:48 +0200 Subject: [PATCH 4/4] fix(ts): fix tsc errors Signed-off-by: Maksim Sukharev --- src/utils/textParse.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/utils/textParse.ts b/src/utils/textParse.ts index 6a208f00052..e3ed3be53ff 100644 --- a/src/utils/textParse.ts +++ b/src/utils/textParse.ts @@ -14,8 +14,8 @@ import type { ChatMessage, Mention } from '../types' * @param parameters The parameters that contain the mentions */ function parseMentions(text: string, parameters: ChatMessage['messageParameters']): string { - for (const key of Object.keys(parameters).filter(key => key.startsWith('mention'))) { - const value: Mention = parameters[key] + for (const key of Object.keys(Object(parameters)).filter(key => key.startsWith('mention'))) { + const value: Mention = parameters[key] as Mention let mention = '' if (key.startsWith('mention-call') && value.type === 'call') {