/meetings/{roomId}:
    delete:
        operationId: endMeeting
        summary: End a meeting
        description: |
            Ends the current meeting in an OpenVidu Meet room. This will stop all recordings and disconnect all participants.

            This endpoint is idempotent. If the meeting is already ended, it will return a success response without any action.
        tags:
            - Internal API - Meetings
        security:
            - participantTokenCookie: []
        parameters:
            - $ref: '../../components/parameters/room-id-path.yaml'
            - $ref: '../../components/parameters/internal/x-participant-role.yaml'
        responses:
            '200':
                $ref: '../../components/responses/internal/success-end-meeting.yaml'
            '400':
                $ref: '../../components/responses/internal/error-invalid-participant-role.yaml'
            '401':
                $ref: '../../components/responses/unauthorized-error.yaml'
            '403':
                $ref: '../../components/responses/forbidden-error.yaml'
            '404':
                $ref: '../../components/responses/error-room-not-found.yaml'
            '500':
                $ref: '../../components/responses/internal-server-error.yaml'
/meetings/{roomId}/participants/{participantIdentity}:
    delete:
        operationId: kickParticipant
        summary: Kick a participant from a meeting
        description: >
            Kicks a participant from the current meeting in an OpenVidu Meet room.
        tags:
            - Internal API - Meetings
        security:
            - participantTokenCookie: []
        parameters:
            - $ref: '../../components/parameters/room-id-path.yaml'
            - $ref: '../../components/parameters/internal/participant-identity.yaml'
            - $ref: '../../components/parameters/internal/x-participant-role.yaml'
        responses:
            '200':
                $ref: '../../components/responses/internal/success-kick-participant.yaml'
            '400':
                $ref: '../../components/responses/internal/error-invalid-participant-role.yaml'
            '401':
                $ref: '../../components/responses/unauthorized-error.yaml'
            '403':
                $ref: '../../components/responses/forbidden-error.yaml'
            '404':
                $ref: '../../components/responses/internal/error-room-participant-not-found.yaml'
            '500':
                $ref: '../../components/responses/internal-server-error.yaml'
/meetings/{roomId}/participants/{participantIdentity}/role:
    put:
        operationId: updateParticipantRole
        summary: Update participant role in a meeting
        description: >
            Updates the role of a participant in the current meeting in an OpenVidu Meet room.
        tags:
            - Internal API - Meetings
        security:
            - participantTokenCookie: []
        parameters:
            - $ref: '../../components/parameters/room-id-path.yaml'
            - $ref: '../../components/parameters/internal/participant-identity.yaml'
            - $ref: '../../components/parameters/internal/x-participant-role.yaml'
        requestBody:
            $ref: '../../components/requestBodies/internal/update-participant-role-request.yaml'
        responses:
            '200':
                $ref: '../../components/responses/internal/success-update-participant-role.yaml'
            '400':
                $ref: '../../components/responses/internal/error-invalid-participant-role.yaml'
            '401':
                $ref: '../../components/responses/unauthorized-error.yaml'
            '403':
                $ref: '../../components/responses/forbidden-error.yaml'
            '404':
                $ref: '../../components/responses/internal/error-room-participant-not-found.yaml'
            '500':
                $ref: '../../components/responses/internal-server-error.yaml'
