> ## Documentation Index
> Fetch the complete documentation index at: https://docs.edisglobal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Keyboard Language

> This endpoint configures the keyboard language for the VNC session of a specified KVM VPS.  
The `api_host` parameter, obtained from the **"Create AUTH-session"** response,  
is dynamically set in the URL.  
Supported keyboard languages include `en-us`, `de`, `sv`, `fr`, and `it`.  
Provide the `signature`, `kvm_id`, `valid_until`, and `vnc_keyboard` parameters obtained  
from the "Create AUTH-session" call to configure the keyboard language.




## OpenAPI

````yaml post /kvm/v2/set/vnc/keyboard
openapi: 3.0.0
info:
  title: EDIS Global Management API
  description: >
    Use the API to access and manage your VPS services, including power control,
    rDNS, and VNC management.  

    **Authentication:** Enable API access on any KVM VPS you own. Then use the
    provided credentials to authenticate your requests.
  version: 1.0.0
servers:
  - url: https://{api_host}
    description: Dynamic API host returned from the AUTH session endpoint.
    variables:
      api_host:
        default: api_host.edisglobal.com
        description: >-
          Enter the full API host exactly as returned by /kvm/v2/get/auth (for
          example: 12345.edisglobal.com)
security: []
tags:
  - name: Authentication
    description: Create an AUTH Session
  - name: Power Management
    description: KVM Power Management
  - name: Installation
    description: ISO, Turnkey, Reinstall
  - name: Settings
    description: KVM System Settings
  - name: Collect Information
    description: KVM VPS Details.
  - name: VNC Management
    description: KVM VNC Access
  - name: PTR
    description: KVM Reverse DNS
  - name: Traffic Pool
    description: Traffic Pool Management
  - name: Hooks
    description: KVM Webhook Management
paths:
  /kvm/v2/set/vnc/keyboard:
    post:
      tags:
        - VNC Management
      summary: Set VNC keyboard language
      description: >
        This endpoint configures the keyboard language for the VNC session of a
        specified KVM VPS.  

        The `api_host` parameter, obtained from the **"Create AUTH-session"**
        response,  

        is dynamically set in the URL.  

        Supported keyboard languages include `en-us`, `de`, `sv`, `fr`, and
        `it`.  

        Provide the `signature`, `kvm_id`, `valid_until`, and `vnc_keyboard`
        parameters obtained  

        from the "Create AUTH-session" call to configure the keyboard language.
      operationId: setVncKeyboardLanguage
      requestBody:
        description: >
          Required parameters to configure the VNC keyboard language.  

          All parameters must be passed in the request body as
          `application/x-www-form-urlencoded`.
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/vnc_keyboard_body'
        required: true
      responses:
        '200':
          description: VNC keyboard language set successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inline_response_200_15'
        '400':
          description: Bad Request - Invalid parameters or missing fields.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inline_response_400_11'
        '401':
          description: Unauthorized - The session signature is invalid or expired.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inline_response_401_10'
        '403':
          description: >-
            Forbidden - The client does not have permission to access this
            resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inline_response_403_9'
        '500':
          description: Internal Server Error - An unexpected error occurred.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inline_response_500_10'
components:
  schemas:
    vnc_keyboard_body:
      type: object
      properties:
        signature:
          type: string
          description: The session signature obtained from the "Create AUTH-session" call.
          example: session_signature_12345
        kvm_id:
          type: string
          description: |
            The unique identifier of the KVM VPS to configure.  
            This value is specific to your VPS.
          example: kvm_123456_789012
        valid_until:
          type: string
          description: >
            The expiration timestamp for the session, as obtained from the
            "Create AUTH-session" call.  

            Ensure that the session is valid and has not expired.
          example: '1737476000'
        vnc_keyboard:
          type: string
          description: |
            The desired keyboard language for the VNC session.  
            Supported values: `en-us`, `de`, `sv`, `fr`, `it`.
          example: en-us
    inline_response_200_15:
      type: object
      properties:
        status:
          type: string
          example: success
    inline_response_400_11:
      type: object
      properties:
        status:
          type: string
          description: Indicates an error due to invalid input.
          example: error
        error:
          type: string
          description: Details about the missing or invalid parameters.
          example: 'Invalid request: ''signature'' parameter is required'
    inline_response_401_10:
      type: object
      properties:
        status:
          type: string
          description: Indicates an authentication failure.
          example: error
        error:
          type: string
          description: Explanation of the unauthorized request.
          example: 'Unauthorized: Session signature is invalid or expired'
    inline_response_403_9:
      type: object
      properties:
        status:
          type: string
          description: Indicates access denial.
          example: error
        error:
          type: string
          description: Explanation of the forbidden request.
          example: 'Access denied: Insufficient permissions to perform this action'
    inline_response_500_10:
      type: object
      properties:
        status:
          type: string
          description: Indicates a server-side failure.
          example: error
        error:
          type: string
          description: Explanation of the server error.
          example: 'Internal Server Error: Please try again later'

````