/config/webhooks:
    get:
        operationId: getWebhooksConfig
        summary: Get webhooks config
        description: >
            Retrieves the webhooks config for the OpenVidu Meet application.
        tags:
            - Internal API - Global Config
        security:
            - accessTokenCookie: []
        responses:
            '200':
                $ref: '../../components/responses/internal/success-get-webhooks-config.yaml'
            '401':
                $ref: '../../components/responses/unauthorized-error.yaml'
            '403':
                $ref: '../../components/responses/forbidden-error.yaml'
            '500':
                $ref: '../../components/responses/internal-server-error.yaml'
    put:
        operationId: updateWebhooksConfig
        summary: Update webhooks config
        description: >
            Updates the webhooks config for the OpenVidu Meet application.
        tags:
            - Internal API - Global Config
        security:
            - accessTokenCookie: []
        requestBody:
            $ref: '../../components/requestBodies/internal/update-webhooks-config.yaml'
        responses:
            '200':
                $ref: '../../components/responses/internal/success-update-webhooks-config.yaml'
            '401':
                $ref: '../../components/responses/unauthorized-error.yaml'
            '403':
                $ref: '../../components/responses/forbidden-error.yaml'
            '422':
                $ref: '../../components/responses/validation-error.yaml'
            '500':
                $ref: '../../components/responses/internal-server-error.yaml'

/config/webhooks/test:
    post:
        operationId: testWebhookUrl
        summary: Test webhook URL
        description: >
            Tests the provided webhook URL to ensure it is valid and reachable.
        tags:
            - Internal API - Global Config
        requestBody:
            $ref: '../../components/requestBodies/internal/test-webhook-url-request.yaml'
        responses:
            '200':
                $ref: '../../components/responses/internal/success-test-webhook-url.yaml'
            '400':
                $ref: '../../components/responses/internal/error-webhook-url-unreachable.yaml'
            '422':
                $ref: '../../components/responses/validation-error.yaml'
            '500':
                $ref: '../../components/responses/internal-server-error.yaml'

/config/security:
    get:
        operationId: getSecurityConfig
        summary: Get security config
        description: >
            Retrieves the security config for the OpenVidu Meet application.
        tags:
            - Internal API - Global Config
        responses:
            '200':
                $ref: '../../components/responses/internal/success-get-security-config.yaml'
            '500':
                $ref: '../../components/responses/internal-server-error.yaml'
    put:
        operationId: updateSecurityConfig
        summary: Update security config
        description: >
            Updates the security config for the OpenVidu Meet application.
        tags:
            - Internal API - Global Config
        security:
            - accessTokenCookie: []
        requestBody:
            $ref: '../../components/requestBodies/internal/update-security-config.yaml'
        responses:
            '200':
                $ref: '../../components/responses/internal/success-update-security-config.yaml'
            '401':
                $ref: '../../components/responses/unauthorized-error.yaml'
            '403':
                $ref: '../../components/responses/forbidden-error.yaml'
            '422':
                $ref: '../../components/responses/validation-error.yaml'
            '500':
                $ref: '../../components/responses/internal-server-error.yaml'

/config/rooms/appearance:
    get:
        operationId: getRoomsAppearanceConfig
        summary: Get rooms appearance config
        description: >
            Retrieves the appearance config for rooms in the OpenVidu Meet application.
        tags:
            - Internal API - Global Config
        security:
            - accessTokenCookie: []
        responses:
            '200':
                $ref: '../../components/responses/internal/success-get-appearance-config.yaml'
            '401':
                $ref: '../../components/responses/unauthorized-error.yaml'
            '403':
                $ref: '../../components/responses/forbidden-error.yaml'
            '404':
                $ref: '../../components/responses/internal/error-appearance-config-not-defined.yaml'
            '500':
                $ref: '../../components/responses/internal-server-error.yaml'
    put:
        operationId: updateRoomsAppearanceConfig
        summary: Update rooms appearance config
        description: >
            Updates the appearance config for rooms in the OpenVidu Meet application.
        tags:
            - Internal API - Global Config
        security:
            - accessTokenCookie: []
        requestBody:
            $ref: '../../components/requestBodies/internal/update-appearance-config.yaml'
        responses:
            '200':
                $ref: '../../components/responses/internal/success-update-appearance-config.yaml'
            '401':
                $ref: '../../components/responses/unauthorized-error.yaml'
            '403':
                $ref: '../../components/responses/forbidden-error.yaml'
            '422':
                $ref: '../../components/responses/validation-error.yaml'
            '500':
                $ref: '../../components/responses/internal-server-error.yaml'
