diff options
author | Joas Schilling <coding@schilljs.com> | 2024-01-18 11:43:00 +0100 |
---|---|---|
committer | Joas Schilling <coding@schilljs.com> | 2024-01-18 15:32:45 +0100 |
commit | bac9eb8652e009c8e13b52d0c6815bc0432740e0 (patch) | |
tree | a9921ae05ad471f2480e82915868c520eaeff62a /openapi-backend-signaling.json | |
parent | ae568ed5e6a48473232bade7b08c49058db3e0ff (diff) |
chore(assets): Recreate openapi specs
Signed-off-by: Joas Schilling <coding@schilljs.com>
Diffstat (limited to 'openapi-backend-signaling.json')
-rw-r--r-- | openapi-backend-signaling.json | 382 |
1 files changed, 382 insertions, 0 deletions
diff --git a/openapi-backend-signaling.json b/openapi-backend-signaling.json new file mode 100644 index 000000000..e39b8deee --- /dev/null +++ b/openapi-backend-signaling.json @@ -0,0 +1,382 @@ +{ + "openapi": "3.0.3", + "info": { + "title": "spreed-backend-signaling", + "version": "0.0.1", + "description": "Chat, video & audio-conferencing using WebRTC", + "license": { + "name": "agpl" + } + }, + "components": { + "securitySchemes": { + "basic_auth": { + "type": "http", + "scheme": "basic" + }, + "bearer_auth": { + "type": "http", + "scheme": "bearer" + } + }, + "schemas": { + "OCSMeta": { + "type": "object", + "required": [ + "status", + "statuscode" + ], + "properties": { + "status": { + "type": "string" + }, + "statuscode": { + "type": "integer" + }, + "message": { + "type": "string" + }, + "totalitems": { + "type": "string" + }, + "itemsperpage": { + "type": "string" + } + } + }, + "PublicCapabilities": { + "oneOf": [ + { + "type": "object", + "required": [ + "spreed" + ], + "properties": { + "spreed": { + "type": "object", + "required": [ + "features", + "config", + "version" + ], + "properties": { + "features": { + "type": "array", + "items": { + "type": "string" + } + }, + "config": { + "type": "object", + "required": [ + "attachments", + "call", + "chat", + "conversations", + "previews", + "signaling" + ], + "properties": { + "attachments": { + "type": "object", + "required": [ + "allowed" + ], + "properties": { + "allowed": { + "type": "boolean" + }, + "folder": { + "type": "string" + } + } + }, + "call": { + "type": "object", + "required": [ + "enabled", + "breakout-rooms", + "recording", + "recording-consent", + "supported-reactions", + "predefined-backgrounds", + "can-upload-background", + "sip-enabled", + "sip-dialout-enabled", + "can-enable-sip" + ], + "properties": { + "enabled": { + "type": "boolean" + }, + "breakout-rooms": { + "type": "boolean" + }, + "recording": { + "type": "boolean" + }, + "recording-consent": { + "type": "integer", + "format": "int64" + }, + "supported-reactions": { + "type": "array", + "items": { + "type": "string" + } + }, + "predefined-backgrounds": { + "type": "array", + "items": { + "type": "string" + } + }, + "can-upload-background": { + "type": "boolean" + }, + "sip-enabled": { + "type": "boolean" + }, + "sip-dialout-enabled": { + "type": "boolean" + }, + "can-enable-sip": { + "type": "boolean" + } + } + }, + "chat": { + "type": "object", + "required": [ + "max-length", + "read-privacy", + "has-translation-providers", + "typing-privacy" + ], + "properties": { + "max-length": { + "type": "integer", + "format": "int64" + }, + "read-privacy": { + "type": "integer", + "format": "int64" + }, + "has-translation-providers": { + "type": "boolean" + }, + "typing-privacy": { + "type": "integer", + "format": "int64" + } + } + }, + "conversations": { + "type": "object", + "required": [ + "can-create" + ], + "properties": { + "can-create": { + "type": "boolean" + } + } + }, + "previews": { + "type": "object", + "required": [ + "max-gif-size" + ], + "properties": { + "max-gif-size": { + "type": "integer", + "format": "int64" + } + } + }, + "signaling": { + "type": "object", + "required": [ + "session-ping-limit" + ], + "properties": { + "session-ping-limit": { + "type": "integer", + "format": "int64" + }, + "hello-v2-token-key": { + "type": "string" + } + } + } + } + }, + "version": { + "type": "string" + } + } + } + } + }, + { + "type": "array", + "maxLength": 0 + } + ] + } + } + }, + "paths": { + "/ocs/v2.php/apps/spreed/api/{apiVersion}/signaling/backend": { + "post": { + "operationId": "signaling-backend", + "summary": "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", + "tags": [ + "signaling" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "apiVersion", + "in": "path", + "required": true, + "schema": { + "type": "string", + "enum": [ + "v3" + ], + "default": "v3" + } + }, + { + "name": "OCS-APIRequest", + "in": "header", + "description": "Required to be true for the API request to pass", + "required": true, + "schema": { + "type": "boolean", + "default": true + } + } + ], + "responses": { + "200": { + "description": "Always, sorry about that", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "error": { + "type": "object", + "required": [ + "code", + "message" + ], + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + } + } + }, + "auth": { + "type": "object", + "required": [ + "version" + ], + "properties": { + "version": { + "type": "string" + }, + "userid": { + "type": "string" + }, + "user": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "room": { + "type": "object", + "required": [ + "version" + ], + "properties": { + "version": { + "type": "string" + }, + "roomid": { + "type": "string" + }, + "properties": { + "type": "object", + "additionalProperties": { + "type": "object" + } + }, + "permissions": { + "type": "array", + "items": { + "type": "string" + } + }, + "session": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "tags": [] +}
\ No newline at end of file |