{
    "openapi": "3.0.3",
    "info": {
        "title": "spreed-backend-sipbridge",
        "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": {
            "BaseMessage": {
                "type": "object",
                "required": [
                    "actorDisplayName",
                    "actorId",
                    "actorType",
                    "expirationTimestamp",
                    "message",
                    "messageParameters",
                    "messageType",
                    "systemMessage"
                ],
                "properties": {
                    "actorDisplayName": {
                        "type": "string"
                    },
                    "actorId": {
                        "type": "string"
                    },
                    "actorType": {
                        "type": "string"
                    },
                    "expirationTimestamp": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "message": {
                        "type": "string"
                    },
                    "messageParameters": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/components/schemas/RichObjectParameter"
                        }
                    },
                    "messageType": {
                        "type": "string"
                    },
                    "systemMessage": {
                        "type": "string"
                    }
                }
            },
            "Capabilities": {
                "type": "object",
                "required": [
                    "features",
                    "features-local",
                    "config",
                    "config-local",
                    "version"
                ],
                "properties": {
                    "features": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "features-local": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "config": {
                        "type": "object",
                        "required": [
                            "attachments",
                            "call",
                            "chat",
                            "conversations",
                            "federation",
                            "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",
                                    "start-without-media",
                                    "max-duration",
                                    "blur-virtual-background",
                                    "end-to-end-encryption"
                                ],
                                "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"
                                    },
                                    "start-without-media": {
                                        "type": "boolean"
                                    },
                                    "max-duration": {
                                        "type": "integer",
                                        "format": "int64"
                                    },
                                    "blur-virtual-background": {
                                        "type": "boolean"
                                    },
                                    "end-to-end-encryption": {
                                        "type": "boolean"
                                    }
                                }
                            },
                            "chat": {
                                "type": "object",
                                "required": [
                                    "max-length",
                                    "read-privacy",
                                    "has-translation-providers",
                                    "has-translation-task-providers",
                                    "typing-privacy",
                                    "summary-threshold"
                                ],
                                "properties": {
                                    "max-length": {
                                        "type": "integer",
                                        "format": "int64"
                                    },
                                    "read-privacy": {
                                        "type": "integer",
                                        "format": "int64"
                                    },
                                    "has-translation-providers": {
                                        "type": "boolean"
                                    },
                                    "has-translation-task-providers": {
                                        "type": "boolean"
                                    },
                                    "typing-privacy": {
                                        "type": "integer",
                                        "format": "int64"
                                    },
                                    "summary-threshold": {
                                        "type": "integer",
                                        "format": "int64",
                                        "minimum": 1
                                    }
                                }
                            },
                            "conversations": {
                                "type": "object",
                                "required": [
                                    "can-create",
                                    "force-passwords",
                                    "list-style",
                                    "description-length"
                                ],
                                "properties": {
                                    "can-create": {
                                        "type": "boolean"
                                    },
                                    "force-passwords": {
                                        "type": "boolean"
                                    },
                                    "list-style": {
                                        "type": "string",
                                        "enum": [
                                            "two-lines",
                                            "compact"
                                        ]
                                    },
                                    "description-length": {
                                        "type": "integer",
                                        "format": "int64",
                                        "minimum": 1
                                    }
                                }
                            },
                            "federation": {
                                "type": "object",
                                "required": [
                                    "enabled",
                                    "incoming-enabled",
                                    "outgoing-enabled",
                                    "only-trusted-servers"
                                ],
                                "properties": {
                                    "enabled": {
                                        "type": "boolean"
                                    },
                                    "incoming-enabled": {
                                        "type": "boolean"
                                    },
                                    "outgoing-enabled": {
                                        "type": "boolean"
                                    },
                                    "only-trusted-servers": {
                                        "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"
                                    }
                                }
                            }
                        }
                    },
                    "config-local": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    "version": {
                        "type": "string"
                    }
                }
            },
            "ChatMessage": {
                "allOf": [
                    {
                        "$ref": "#/components/schemas/BaseMessage"
                    },
                    {
                        "type": "object",
                        "required": [
                            "id",
                            "isReplyable",
                            "markdown",
                            "reactions",
                            "referenceId",
                            "timestamp",
                            "token"
                        ],
                        "properties": {
                            "deleted": {
                                "type": "boolean",
                                "enum": [
                                    true
                                ]
                            },
                            "id": {
                                "type": "integer",
                                "format": "int64"
                            },
                            "isReplyable": {
                                "type": "boolean"
                            },
                            "markdown": {
                                "type": "boolean"
                            },
                            "reactions": {
                                "type": "object",
                                "additionalProperties": {
                                    "type": "integer",
                                    "format": "int64"
                                }
                            },
                            "reactionsSelf": {
                                "type": "array",
                                "items": {
                                    "type": "string"
                                }
                            },
                            "referenceId": {
                                "type": "string"
                            },
                            "timestamp": {
                                "type": "integer",
                                "format": "int64"
                            },
                            "token": {
                                "type": "string"
                            },
                            "lastEditActorDisplayName": {
                                "type": "string"
                            },
                            "lastEditActorId": {
                                "type": "string"
                            },
                            "lastEditActorType": {
                                "type": "string"
                            },
                            "lastEditTimestamp": {
                                "type": "integer",
                                "format": "int64"
                            },
                            "silent": {
                                "type": "boolean"
                            }
                        }
                    }
                ]
            },
            "ChatProxyMessage": {
                "$ref": "#/components/schemas/BaseMessage"
            },
            "OCSMeta": {
                "type": "object",
                "required": [
                    "status",
                    "statuscode"
                ],
                "properties": {
                    "status": {
                        "type": "string"
                    },
                    "statuscode": {
                        "type": "integer"
                    },
                    "message": {
                        "type": "string"
                    },
                    "totalitems": {
                        "type": "string"
                    },
                    "itemsperpage": {
                        "type": "string"
                    }
                }
            },
            "PublicCapabilities": {
                "type": "object",
                "properties": {
                    "spreed": {
                        "$ref": "#/components/schemas/Capabilities"
                    }
                }
            },
            "RichObjectParameter": {
                "type": "object",
                "required": [
                    "type",
                    "id",
                    "name"
                ],
                "properties": {
                    "type": {
                        "type": "string"
                    },
                    "id": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "server": {
                        "type": "string"
                    },
                    "link": {
                        "type": "string"
                    },
                    "call-type": {
                        "type": "string",
                        "enum": [
                            "one2one",
                            "group",
                            "public"
                        ]
                    },
                    "icon-url": {
                        "type": "string"
                    },
                    "message-id": {
                        "type": "string"
                    },
                    "boardname": {
                        "type": "string"
                    },
                    "stackname": {
                        "type": "string"
                    },
                    "size": {
                        "type": "string"
                    },
                    "path": {
                        "type": "string"
                    },
                    "mimetype": {
                        "type": "string"
                    },
                    "preview-available": {
                        "type": "string",
                        "enum": [
                            "yes",
                            "no"
                        ]
                    },
                    "mtime": {
                        "type": "string"
                    },
                    "latitude": {
                        "type": "string"
                    },
                    "longitude": {
                        "type": "string"
                    },
                    "description": {
                        "type": "string"
                    },
                    "thumb": {
                        "type": "string"
                    },
                    "website": {
                        "type": "string"
                    },
                    "visibility": {
                        "type": "string",
                        "enum": [
                            "0",
                            "1"
                        ]
                    },
                    "assignable": {
                        "type": "string",
                        "enum": [
                            "0",
                            "1"
                        ]
                    },
                    "conversation": {
                        "type": "string"
                    },
                    "etag": {
                        "type": "string"
                    },
                    "permissions": {
                        "type": "string"
                    },
                    "width": {
                        "type": "string"
                    },
                    "height": {
                        "type": "string"
                    },
                    "blurhash": {
                        "type": "string"
                    }
                }
            },
            "Room": {
                "type": "object",
                "required": [
                    "actorId",
                    "actorType",
                    "attendeeId",
                    "attendeePermissions",
                    "attendeePin",
                    "avatarVersion",
                    "breakoutRoomMode",
                    "breakoutRoomStatus",
                    "callFlag",
                    "callPermissions",
                    "callRecording",
                    "callStartTime",
                    "canDeleteConversation",
                    "canEnableSIP",
                    "canLeaveConversation",
                    "canStartCall",
                    "defaultPermissions",
                    "description",
                    "displayName",
                    "hasCall",
                    "hasPassword",
                    "id",
                    "isCustomAvatar",
                    "isFavorite",
                    "lastActivity",
                    "lastCommonReadMessage",
                    "lastPing",
                    "lastReadMessage",
                    "listable",
                    "lobbyState",
                    "lobbyTimer",
                    "mentionPermissions",
                    "messageExpiration",
                    "name",
                    "notificationCalls",
                    "notificationLevel",
                    "objectId",
                    "objectType",
                    "participantFlags",
                    "participantType",
                    "permissions",
                    "readOnly",
                    "recordingConsent",
                    "sessionId",
                    "sipEnabled",
                    "token",
                    "type",
                    "unreadMention",
                    "unreadMentionDirect",
                    "unreadMessages",
                    "isArchived"
                ],
                "properties": {
                    "actorId": {
                        "type": "string"
                    },
                    "invitedActorId": {
                        "type": "string"
                    },
                    "actorType": {
                        "type": "string"
                    },
                    "attendeeId": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "attendeePermissions": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "attendeePin": {
                        "type": "string",
                        "nullable": true
                    },
                    "avatarVersion": {
                        "type": "string"
                    },
                    "breakoutRoomMode": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "breakoutRoomStatus": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "callFlag": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "callPermissions": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "callRecording": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "callStartTime": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "canDeleteConversation": {
                        "type": "boolean"
                    },
                    "canEnableSIP": {
                        "type": "boolean"
                    },
                    "canLeaveConversation": {
                        "type": "boolean"
                    },
                    "canStartCall": {
                        "type": "boolean"
                    },
                    "defaultPermissions": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "description": {
                        "type": "string"
                    },
                    "displayName": {
                        "type": "string"
                    },
                    "hasCall": {
                        "type": "boolean"
                    },
                    "hasPassword": {
                        "type": "boolean"
                    },
                    "id": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "isCustomAvatar": {
                        "type": "boolean"
                    },
                    "isFavorite": {
                        "type": "boolean"
                    },
                    "lastActivity": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "lastCommonReadMessage": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "lastMessage": {
                        "$ref": "#/components/schemas/RoomLastMessage"
                    },
                    "lastPing": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "lastReadMessage": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "listable": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "lobbyState": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "lobbyTimer": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "mentionPermissions": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "messageExpiration": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "name": {
                        "type": "string"
                    },
                    "notificationCalls": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "notificationLevel": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "objectId": {
                        "type": "string"
                    },
                    "objectType": {
                        "type": "string"
                    },
                    "participantFlags": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "participantType": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "permissions": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "readOnly": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "recordingConsent": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "remoteServer": {
                        "type": "string"
                    },
                    "remoteToken": {
                        "type": "string"
                    },
                    "sessionId": {
                        "type": "string"
                    },
                    "sipEnabled": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "status": {
                        "type": "string"
                    },
                    "statusClearAt": {
                        "type": "integer",
                        "format": "int64",
                        "nullable": true
                    },
                    "statusIcon": {
                        "type": "string",
                        "nullable": true
                    },
                    "statusMessage": {
                        "type": "string",
                        "nullable": true
                    },
                    "token": {
                        "type": "string"
                    },
                    "type": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "unreadMention": {
                        "type": "boolean"
                    },
                    "unreadMentionDirect": {
                        "type": "boolean"
                    },
                    "unreadMessages": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "isArchived": {
                        "type": "boolean"
                    }
                }
            },
            "RoomLastMessage": {
                "anyOf": [
                    {
                        "$ref": "#/components/schemas/ChatMessage"
                    },
                    {
                        "$ref": "#/components/schemas/ChatProxyMessage"
                    }
                ]
            }
        }
    },
    "paths": {
        "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}": {
            "get": {
                "operationId": "room-get-single-room",
                "summary": "Get a room",
                "tags": [
                    "room"
                ],
                "security": [
                    {},
                    {
                        "bearer_auth": []
                    },
                    {
                        "basic_auth": []
                    }
                ],
                "parameters": [
                    {
                        "name": "apiVersion",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "v4"
                            ],
                            "default": "v4"
                        }
                    },
                    {
                        "name": "token",
                        "in": "path",
                        "description": "Token of the room",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "pattern": "^[a-z0-9]{4,30}$"
                        }
                    },
                    {
                        "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": "Room returned",
                        "headers": {
                            "X-Nextcloud-Talk-Hash": {
                                "schema": {
                                    "type": "string"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "ocs"
                                    ],
                                    "properties": {
                                        "ocs": {
                                            "type": "object",
                                            "required": [
                                                "meta",
                                                "data"
                                            ],
                                            "properties": {
                                                "meta": {
                                                    "$ref": "#/components/schemas/OCSMeta"
                                                },
                                                "data": {
                                                    "$ref": "#/components/schemas/Room"
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "SIP request invalid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "ocs"
                                    ],
                                    "properties": {
                                        "ocs": {
                                            "type": "object",
                                            "required": [
                                                "meta",
                                                "data"
                                            ],
                                            "properties": {
                                                "meta": {
                                                    "$ref": "#/components/schemas/OCSMeta"
                                                },
                                                "data": {
                                                    "nullable": true
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Room not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "ocs"
                                    ],
                                    "properties": {
                                        "ocs": {
                                            "type": "object",
                                            "required": [
                                                "meta",
                                                "data"
                                            ],
                                            "properties": {
                                                "meta": {
                                                    "$ref": "#/components/schemas/OCSMeta"
                                                },
                                                "data": {
                                                    "nullable": true
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/pin/{pin}": {
            "get": {
                "operationId": "room-verify-dial-in-pin-deprecated",
                "summary": "Verify a dial-in PIN (SIP bridge)",
                "tags": [
                    "room"
                ],
                "security": [
                    {},
                    {
                        "bearer_auth": []
                    },
                    {
                        "basic_auth": []
                    }
                ],
                "parameters": [
                    {
                        "name": "apiVersion",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "v4"
                            ],
                            "default": "v4"
                        }
                    },
                    {
                        "name": "token",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "pattern": "^[a-z0-9]{4,30}$"
                        }
                    },
                    {
                        "name": "pin",
                        "in": "path",
                        "description": "PIN the participant used to dial-in",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "pattern": "^\\d{7,32}$"
                        }
                    },
                    {
                        "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": "Participant returned",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "ocs"
                                    ],
                                    "properties": {
                                        "ocs": {
                                            "type": "object",
                                            "required": [
                                                "meta",
                                                "data"
                                            ],
                                            "properties": {
                                                "meta": {
                                                    "$ref": "#/components/schemas/OCSMeta"
                                                },
                                                "data": {
                                                    "$ref": "#/components/schemas/Room"
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "SIP request invalid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "ocs"
                                    ],
                                    "properties": {
                                        "ocs": {
                                            "type": "object",
                                            "required": [
                                                "meta",
                                                "data"
                                            ],
                                            "properties": {
                                                "meta": {
                                                    "$ref": "#/components/schemas/OCSMeta"
                                                },
                                                "data": {
                                                    "nullable": true
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Participant not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "ocs"
                                    ],
                                    "properties": {
                                        "ocs": {
                                            "type": "object",
                                            "required": [
                                                "meta",
                                                "data"
                                            ],
                                            "properties": {
                                                "meta": {
                                                    "$ref": "#/components/schemas/OCSMeta"
                                                },
                                                "data": {
                                                    "nullable": true
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "501": {
                        "description": "SIP dial-in is not configured",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "ocs"
                                    ],
                                    "properties": {
                                        "ocs": {
                                            "type": "object",
                                            "required": [
                                                "meta",
                                                "data"
                                            ],
                                            "properties": {
                                                "meta": {
                                                    "$ref": "#/components/schemas/OCSMeta"
                                                },
                                                "data": {
                                                    "nullable": true
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/verify-dialin": {
            "post": {
                "operationId": "room-verify-dial-in-pin",
                "summary": "Verify a dial-in PIN (SIP bridge)",
                "tags": [
                    "room"
                ],
                "security": [
                    {},
                    {
                        "bearer_auth": []
                    },
                    {
                        "basic_auth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "required": [
                                    "pin"
                                ],
                                "properties": {
                                    "pin": {
                                        "type": "string",
                                        "description": "PIN the participant used to dial-in"
                                    }
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "apiVersion",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "v4"
                            ],
                            "default": "v4"
                        }
                    },
                    {
                        "name": "token",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "pattern": "^[a-z0-9]{4,30}$"
                        }
                    },
                    {
                        "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": "Participant returned",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "ocs"
                                    ],
                                    "properties": {
                                        "ocs": {
                                            "type": "object",
                                            "required": [
                                                "meta",
                                                "data"
                                            ],
                                            "properties": {
                                                "meta": {
                                                    "$ref": "#/components/schemas/OCSMeta"
                                                },
                                                "data": {
                                                    "$ref": "#/components/schemas/Room"
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "SIP request invalid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "ocs"
                                    ],
                                    "properties": {
                                        "ocs": {
                                            "type": "object",
                                            "required": [
                                                "meta",
                                                "data"
                                            ],
                                            "properties": {
                                                "meta": {
                                                    "$ref": "#/components/schemas/OCSMeta"
                                                },
                                                "data": {
                                                    "nullable": true
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Participant not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "ocs"
                                    ],
                                    "properties": {
                                        "ocs": {
                                            "type": "object",
                                            "required": [
                                                "meta",
                                                "data"
                                            ],
                                            "properties": {
                                                "meta": {
                                                    "$ref": "#/components/schemas/OCSMeta"
                                                },
                                                "data": {
                                                    "nullable": true
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "501": {
                        "description": "SIP dial-in is not configured",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "ocs"
                                    ],
                                    "properties": {
                                        "ocs": {
                                            "type": "object",
                                            "required": [
                                                "meta",
                                                "data"
                                            ],
                                            "properties": {
                                                "meta": {
                                                    "$ref": "#/components/schemas/OCSMeta"
                                                },
                                                "data": {
                                                    "nullable": true
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/verify-dialout": {
            "post": {
                "operationId": "room-verify-dial-out-number",
                "summary": "Verify a dial-out number (SIP bridge)",
                "tags": [
                    "room"
                ],
                "security": [
                    {},
                    {
                        "bearer_auth": []
                    },
                    {
                        "basic_auth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "required": [
                                    "number"
                                ],
                                "properties": {
                                    "number": {
                                        "type": "string",
                                        "description": "E164 formatted phone number"
                                    },
                                    "options": {
                                        "type": "object",
                                        "default": {},
                                        "description": "Additional details to verify the validity of the request",
                                        "properties": {
                                            "actorId": {
                                                "type": "string"
                                            },
                                            "actorType": {
                                                "type": "string"
                                            },
                                            "attendeeId": {
                                                "type": "integer",
                                                "format": "int64"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "apiVersion",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "v4"
                            ],
                            "default": "v4"
                        }
                    },
                    {
                        "name": "token",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "pattern": "^[a-z0-9]{4,30}$"
                        }
                    },
                    {
                        "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": "Participant created successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "ocs"
                                    ],
                                    "properties": {
                                        "ocs": {
                                            "type": "object",
                                            "required": [
                                                "meta",
                                                "data"
                                            ],
                                            "properties": {
                                                "meta": {
                                                    "$ref": "#/components/schemas/OCSMeta"
                                                },
                                                "data": {
                                                    "$ref": "#/components/schemas/Room"
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Phone number and details could not be confirmed",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "ocs"
                                    ],
                                    "properties": {
                                        "ocs": {
                                            "type": "object",
                                            "required": [
                                                "meta",
                                                "data"
                                            ],
                                            "properties": {
                                                "meta": {
                                                    "$ref": "#/components/schemas/OCSMeta"
                                                },
                                                "data": {
                                                    "nullable": true
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "SIP request invalid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "ocs"
                                    ],
                                    "properties": {
                                        "ocs": {
                                            "type": "object",
                                            "required": [
                                                "meta",
                                                "data"
                                            ],
                                            "properties": {
                                                "meta": {
                                                    "$ref": "#/components/schemas/OCSMeta"
                                                },
                                                "data": {
                                                    "nullable": true
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Phone number is not invited as a participant",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "ocs"
                                    ],
                                    "properties": {
                                        "ocs": {
                                            "type": "object",
                                            "required": [
                                                "meta",
                                                "data"
                                            ],
                                            "properties": {
                                                "meta": {
                                                    "$ref": "#/components/schemas/OCSMeta"
                                                },
                                                "data": {
                                                    "nullable": true
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "501": {
                        "description": "SIP dial-out is not configured",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "ocs"
                                    ],
                                    "properties": {
                                        "ocs": {
                                            "type": "object",
                                            "required": [
                                                "meta",
                                                "data"
                                            ],
                                            "properties": {
                                                "meta": {
                                                    "$ref": "#/components/schemas/OCSMeta"
                                                },
                                                "data": {
                                                    "nullable": true
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/open-dial-in": {
            "post": {
                "operationId": "room-create-guest-by-dial-in",
                "summary": "Create a guest by their dial-in",
                "tags": [
                    "room"
                ],
                "security": [
                    {},
                    {
                        "bearer_auth": []
                    },
                    {
                        "basic_auth": []
                    }
                ],
                "parameters": [
                    {
                        "name": "apiVersion",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "v4"
                            ],
                            "default": "v4"
                        }
                    },
                    {
                        "name": "token",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "pattern": "^[a-z0-9]{4,30}$"
                        }
                    },
                    {
                        "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": "Participant created successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "ocs"
                                    ],
                                    "properties": {
                                        "ocs": {
                                            "type": "object",
                                            "required": [
                                                "meta",
                                                "data"
                                            ],
                                            "properties": {
                                                "meta": {
                                                    "$ref": "#/components/schemas/OCSMeta"
                                                },
                                                "data": {
                                                    "$ref": "#/components/schemas/Room"
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "SIP not enabled",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "ocs"
                                    ],
                                    "properties": {
                                        "ocs": {
                                            "type": "object",
                                            "required": [
                                                "meta",
                                                "data"
                                            ],
                                            "properties": {
                                                "meta": {
                                                    "$ref": "#/components/schemas/OCSMeta"
                                                },
                                                "data": {
                                                    "nullable": true
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "SIP request invalid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "ocs"
                                    ],
                                    "properties": {
                                        "ocs": {
                                            "type": "object",
                                            "required": [
                                                "meta",
                                                "data"
                                            ],
                                            "properties": {
                                                "meta": {
                                                    "$ref": "#/components/schemas/OCSMeta"
                                                },
                                                "data": {
                                                    "nullable": true
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/ocs/v2.php/apps/spreed/api/{apiVersion}/room/{token}/rejected-dialout": {
            "delete": {
                "operationId": "room-rejected-dial-out-request",
                "summary": "Reset call ID of a dial-out participant when the SIP gateway rejected it",
                "tags": [
                    "room"
                ],
                "security": [
                    {},
                    {
                        "bearer_auth": []
                    },
                    {
                        "basic_auth": []
                    }
                ],
                "parameters": [
                    {
                        "name": "apiVersion",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "v4"
                            ],
                            "default": "v4"
                        }
                    },
                    {
                        "name": "token",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "pattern": "^[a-z0-9]{4,30}$"
                        }
                    },
                    {
                        "name": "callId",
                        "in": "query",
                        "description": "The call ID provided by the SIP bridge earlier to uniquely identify the call to terminate",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "options",
                        "in": "query",
                        "description": "Additional details to verify the validity of the request",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "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": "Call ID reset",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "ocs"
                                    ],
                                    "properties": {
                                        "ocs": {
                                            "type": "object",
                                            "required": [
                                                "meta",
                                                "data"
                                            ],
                                            "properties": {
                                                "meta": {
                                                    "$ref": "#/components/schemas/OCSMeta"
                                                },
                                                "data": {
                                                    "nullable": true
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Call ID mismatch or attendeeId not found in $options",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "ocs"
                                    ],
                                    "properties": {
                                        "ocs": {
                                            "type": "object",
                                            "required": [
                                                "meta",
                                                "data"
                                            ],
                                            "properties": {
                                                "meta": {
                                                    "$ref": "#/components/schemas/OCSMeta"
                                                },
                                                "data": {
                                                    "nullable": true
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "SIP request invalid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "ocs"
                                    ],
                                    "properties": {
                                        "ocs": {
                                            "type": "object",
                                            "required": [
                                                "meta",
                                                "data"
                                            ],
                                            "properties": {
                                                "meta": {
                                                    "$ref": "#/components/schemas/OCSMeta"
                                                },
                                                "data": {
                                                    "nullable": true
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Participant was not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "ocs"
                                    ],
                                    "properties": {
                                        "ocs": {
                                            "type": "object",
                                            "required": [
                                                "meta",
                                                "data"
                                            ],
                                            "properties": {
                                                "meta": {
                                                    "$ref": "#/components/schemas/OCSMeta"
                                                },
                                                "data": {
                                                    "nullable": true
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "501": {
                        "description": "SIP dial-out is not configured",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "required": [
                                        "ocs"
                                    ],
                                    "properties": {
                                        "ocs": {
                                            "type": "object",
                                            "required": [
                                                "meta",
                                                "data"
                                            ],
                                            "properties": {
                                                "meta": {
                                                    "$ref": "#/components/schemas/OCSMeta"
                                                },
                                                "data": {
                                                    "nullable": true
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    },
    "tags": []
}
