> ## 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.

# Set Configuration

> This endpoint allows you to set various configuration settings for a specified KVM VPS.

Use the `api_host` parameter obtained from the **'Create AUTH-session'** response to authenticate the request.

### Required Parameters:
- **signature**: The session signature obtained from the 'Create AUTH-session' call.
- **kvm_id**: The unique identifier of the KVM VPS.
- **valid_until**: The expiration timestamp for the session.
- **config**: A JSON object containing the configuration settings.

### Example Configuration:
```json
{"boot_timeout":"5000","vnc_keymap":"en-us","cpu_model":"passthrough","disk_driver":"virtio","nw_driver":"virtio","video_driver":"cirrus","description":"[a-zA-Z\-0-9\.\_]","assigned_vlan":"your vlan id","cpu_set_cores":"core or socket","auto_hydration":100}
```



## OpenAPI

````yaml post /kvm/v2/set/config
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/config:
    post:
      tags:
        - Settings
      summary: Set Configuration
      description: >-
        This endpoint allows you to set various configuration settings for a
        specified KVM VPS.


        Use the `api_host` parameter obtained from the **'Create AUTH-session'**
        response to authenticate the request.


        ### Required Parameters:

        - **signature**: The session signature obtained from the 'Create
        AUTH-session' call.

        - **kvm_id**: The unique identifier of the KVM VPS.

        - **valid_until**: The expiration timestamp for the session.

        - **config**: A JSON object containing the configuration settings.


        ### Example Configuration:

        ```json

        {"boot_timeout":"5000","vnc_keymap":"en-us","cpu_model":"passthrough","disk_driver":"virtio","nw_driver":"virtio","video_driver":"cirrus","description":"[a-zA-Z\-0-9\.\_]","assigned_vlan":"your
        vlan id","cpu_set_cores":"core or socket","auto_hydration":100}

        ```
      operationId: setKvmConfiguration
      requestBody:
        description: Parameters required to configure a KVM VPS.
        content:
          application/x-www-form-urlencoded:
            schema:
              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.
                  example: kvm_xxxxx_yyyyy
                valid_until:
                  type: string
                  description: >-
                    The expiration timestamp for the session, obtained from the
                    'Create AUTH-session' call.
                  example: '1737476000'
                config:
                  type: string
                  description: >-
                    JSON object containing configuration settings.


                    Supported values:


                    - `boot_timeout`: Boot menu timeout in milliseconds
                    (example: `5000`, `10000`)

                    - `uefi`: `enabled` or `disabled`

                    - `tpm`: `enabled` or `disabled`

                    - `vnc_keymap`: Keyboard layout such as `en-us`, `en-gb`,
                    `de`, `de-ch`, `fr`, `fr-be`, `fr-ch`, `es`, `it`, `nl`,
                    `pt`, `sv`, `ru`, `tr`, and other layouts available in the
                    control panel

                    - `cpu_set_cores`: `core` or `socket`

                    - `cpu_model`: `default` or `passthrough`

                    - `disk_driver`: `virtio`, `ide`, or `scsi`

                    - `nw_driver`: `virtio`, `e1000`, or `rtl8139`

                    - `video_driver`: `cirrus` or `qxl`

                    - `description`: Custom VPS description

                    - `assigned_vlan`: VLAN ID if VLAN service is enabled

                    - `auto_hydration`: `off`, `100`, `500`, or `1000` depending
                    on available hydration packages


                    Example Configuration:


                    ```json

                    {"boot_timeout":"10000","vnc_keymap":"en-us","cpu_model":"passthrough","disk_driver":"virtio","nw_driver":"virtio","video_driver":"cirrus","assigned_vlan":"","cpu_set_cores":"core","auto_hydration":"off","tpm":"disabled","uefi":"disabled","description":"fortest"}

                    ```


                    ⚠️ Compatibility Notice


                    - UEFI is disabled by default. A value of `uefi=disabled`
                    means the VPS will boot using legacy BIOS mode. 

                    Setting `uefi=enabled` switches the VPS to UEFI boot mode. 

                    - TPM is disabled by default. Setting `tpm` to `enabled`
                    enables a Software TPM (vTPM) device for the VPS.
                  default: >-
                    {"boot_timeout":"5000","vnc_keymap":"en-us","cpu_model":"passthrough","disk_driver":"virtio","nw_driver":"virtio","video_driver":"cirrus","description":"fortest","assigned_vlan":"","cpu_set_cores":"core","auto_hydration":"off","tpm":"disabled","uefi":"disabled"}
      responses:
        '200':
          description: Configuration updated successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: success
        '400':
          description: Bad Request - Invalid or missing parameters.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: Invalid parameters provided
        '401':
          description: Unauthorized - Invalid or expired session.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: Invalid session
        '500':
          description: Internal Server Error - An unexpected error occurred.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: Internal server error

````