diff options
author | Joas Schilling <coding@schilljs.com> | 2023-10-06 10:50:37 +0200 |
---|---|---|
committer | Joas Schilling <coding@schilljs.com> | 2023-10-06 12:41:12 +0200 |
commit | a8a21d551552ff44ee636daae3a399671938ac13 (patch) | |
tree | d508431032771dbe70ad9d2365b31e0ff42a90c5 /openapi.json | |
parent | d6456c3bf305c0ba82229e67da32639b74452ccd (diff) |
Generate OpenAPI.json
Signed-off-by: Joas Schilling <coding@schilljs.com>
Diffstat (limited to 'openapi.json')
-rw-r--r-- | openapi.json | 16314 |
1 files changed, 16314 insertions, 0 deletions
diff --git a/openapi.json b/openapi.json new file mode 100644 index 000000000..c28aeaa96 --- /dev/null +++ b/openapi.json @@ -0,0 +1,16314 @@ +{ + "openapi": "3.0.3", + "info": { + "title": "spreed", + "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": { + "Bot": { + "type": "object", + "required": [ + "description", + "id", + "name", + "state" + ], + "properties": { + "description": { + "type": "string", + "nullable": true + }, + "id": { + "type": "integer", + "format": "int64" + }, + "name": { + "type": "string" + }, + "state": { + "type": "integer", + "format": "int64" + } + } + }, + "BotWithDetails": { + "allOf": [ + { + "$ref": "#/components/schemas/Bot" + }, + { + "type": "object", + "required": [ + "error_count", + "features", + "last_error_date", + "last_error_message", + "url", + "url_hash" + ], + "properties": { + "error_count": { + "type": "integer", + "format": "int64" + }, + "features": { + "type": "integer", + "format": "int64" + }, + "last_error_date": { + "type": "integer", + "format": "int64" + }, + "last_error_message": { + "type": "string" + }, + "url": { + "type": "string" + }, + "url_hash": { + "type": "string" + } + } + } + ] + }, + "BotWithDetailsAndSecret": { + "allOf": [ + { + "$ref": "#/components/schemas/BotWithDetails" + }, + { + "type": "object", + "required": [ + "secret" + ], + "properties": { + "secret": { + "type": "string" + } + } + } + ] + }, + "CallPeer": { + "type": "object", + "required": [ + "actorId", + "actorType", + "displayName", + "lastPing", + "sessionId", + "token" + ], + "properties": { + "actorId": { + "type": "string" + }, + "actorType": { + "type": "string" + }, + "displayName": { + "type": "string" + }, + "lastPing": { + "type": "integer", + "format": "int64" + }, + "sessionId": { + "type": "string" + }, + "token": { + "type": "string" + } + } + }, + "ChatMentionSuggestion": { + "type": "object", + "required": [ + "id", + "label", + "source", + "status", + "statusClearAt", + "statusIcon", + "statusMessage" + ], + "properties": { + "id": { + "type": "string" + }, + "label": { + "type": "string" + }, + "source": { + "type": "string" + }, + "status": { + "type": "string", + "nullable": true + }, + "statusClearAt": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "statusIcon": { + "type": "string", + "nullable": true + }, + "statusMessage": { + "type": "string", + "nullable": true + } + } + }, + "ChatMessage": { + "type": "object", + "required": [ + "actorDisplayName", + "actorId", + "actorType", + "expirationTimestamp", + "id", + "isReplyable", + "markdown", + "message", + "messageParameters", + "messageType", + "reactions", + "referenceId", + "systemMessage", + "timestamp", + "token" + ], + "properties": { + "actorDisplayName": { + "type": "string" + }, + "actorId": { + "type": "string" + }, + "actorType": { + "type": "string" + }, + "deleted": { + "type": "boolean" + }, + "expirationTimestamp": { + "type": "integer", + "format": "int64" + }, + "id": { + "type": "integer", + "format": "int64" + }, + "isReplyable": { + "type": "boolean" + }, + "markdown": { + "type": "boolean" + }, + "message": { + "type": "string" + }, + "messageParameters": { + "type": "object", + "additionalProperties": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + }, + "messageType": { + "type": "string" + }, + "reactions": { + "type": "object", + "additionalProperties": { + "type": "integer", + "format": "int64" + } + }, + "referenceId": { + "type": "string" + }, + "systemMessage": { + "type": "string" + }, + "timestamp": { + "type": "integer", + "format": "int64" + }, + "token": { + "type": "string" + } + } + }, + "ChatMessageWithParent": { + "allOf": [ + { + "$ref": "#/components/schemas/ChatMessage" + }, + { + "type": "object", + "properties": { + "parent": { + "$ref": "#/components/schemas/ChatMessage" + } + } + } + ] + }, + "ChatReminder": { + "type": "object", + "required": [ + "messageId", + "timestamp", + "token", + "userId" + ], + "properties": { + "messageId": { + "type": "integer", + "format": "int64" + }, + "timestamp": { + "type": "integer", + "format": "int64" + }, + "token": { + "type": "string" + }, + "userId": { + "type": "string" + } + } + }, + "FederationInvite": { + "type": "object", + "required": [ + "access_token", + "id", + "remote_id", + "remote_server", + "remote_token", + "room_id", + "user_id" + ], + "properties": { + "access_token": { + "type": "string" + }, + "id": { + "type": "integer", + "format": "int64" + }, + "remote_id": { + "type": "string" + }, + "remote_server": { + "type": "string", + "nullable": true + }, + "remote_token": { + "type": "string", + "nullable": true + }, + "room_id": { + "type": "integer", + "format": "int64" + }, + "user_id": { + "type": "string" + } + } + }, + "Matterbridge": { + "type": "object", + "required": [ + "enabled", + "parts", + "pid" + ], + "properties": { + "enabled": { + "type": "boolean" + }, + "parts": { + "$ref": "#/components/schemas/MatterbridgeConfigFields" + }, + "pid": { + "type": "integer", + "format": "int64" + } + } + }, + "MatterbridgeConfigFields": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + }, + "MatterbridgeProcessState": { + "type": "object", + "required": [ + "log", + "running" + ], + "properties": { + "log": { + "type": "string" + }, + "running": { + "type": "boolean" + } + } + }, + "MatterbridgeWithProcessState": { + "allOf": [ + { + "$ref": "#/components/schemas/Matterbridge" + }, + { + "$ref": "#/components/schemas/MatterbridgeProcessState" + } + ] + }, + "OCSMeta": { + "type": "object", + "required": [ + "status", + "statuscode" + ], + "properties": { + "status": { + "type": "string" + }, + "statuscode": { + "type": "integer" + }, + "message": { + "type": "string" + }, + "totalitems": { + "type": "string" + }, + "itemsperpage": { + "type": "string" + } + } + }, + "Participant": { + "type": "object", + "required": [ + "actorId", + "actorType", + "attendeeId", + "attendeePermissions", + "attendeePin", + "displayName", + "inCall", + "lastPing", + "participantType", + "permissions", + "roomToken", + "sessionIds" + ], + "properties": { + "actorId": { + "type": "string" + }, + "actorType": { + "type": "string" + }, + "attendeeId": { + "type": "integer", + "format": "int64" + }, + "attendeePermissions": { + "type": "integer", + "format": "int64" + }, + "attendeePin": { + "type": "string" + }, + "displayName": { + "type": "string" + }, + "inCall": { + "type": "integer", + "format": "int64" + }, + "lastPing": { + "type": "integer", + "format": "int64" + }, + "participantType": { + "type": "integer", + "format": "int64" + }, + "permissions": { + "type": "integer", + "format": "int64" + }, + "roomToken": { + "type": "string" + }, + "sessionIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "status": { + "type": "string" + }, + "statusClearAt": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "statusIcon": { + "type": "string", + "nullable": true + }, + "statusMessage": { + "type": "string", + "nullable": true + } + } + }, + "Poll": { + "type": "object", + "required": [ + "actorDisplayName", + "actorId", + "actorType", + "id", + "maxVotes", + "options", + "question", + "resultMode", + "status" + ], + "properties": { + "actorDisplayName": { + "type": "string" + }, + "actorId": { + "type": "string" + }, + "actorType": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PollVote" + } + }, + "id": { + "type": "integer", + "format": "int64" + }, + "maxVotes": { + "type": "integer", + "format": "int64" + }, + "numVoters": { + "type": "integer", + "format": "int64" + }, + "options": { + "type": "array", + "items": { + "type": "string" + } + }, + "question": { + "type": "string" + }, + "resultMode": { + "type": "integer", + "format": "int64" + }, + "status": { + "type": "integer", + "format": "int64" + }, + "votedSelf": { + "type": "array", + "items": { + "type": "integer", + "format": "int64" + } + }, + "votes": { + "type": "object", + "additionalProperties": { + "type": "integer", + "format": "int64" + } + } + } + }, + "PollVote": { + "type": "object", + "required": [ + "actorDisplayName", + "actorId", + "actorType", + "optionId" + ], + "properties": { + "actorDisplayName": { + "type": "string" + }, + "actorId": { + "type": "string" + }, + "actorType": { + "type": "string" + }, + "optionId": { + "type": "integer", + "format": "int64" + } + } + }, + "PublicCapabilities": { + "type": "object", + "required": [ + "spreed" + ], + "properties": { + "spreed": { + "type": "o |