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

# Create Auth Session

> Use this endpoint to create an authentication session for managing your KVM VPS. Simply provide your WHMCS credentials (`email` and `password`) to authenticate requests. Optionally, you can specify a `kvm_id` to limit the session access to a specific KVM instance



## OpenAPI

````yaml post /kvm/v2/get/auth
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/get/auth:
    servers:
      - url: https://session.edisglobal.com
        description: Session Authentication Server
    post:
      tags:
        - Authentication
      summary: Create AUTH-session
      description: >-
        Use this endpoint to create an authentication session for managing your
        KVM VPS. Simply provide your WHMCS credentials (`email` and `password`)
        to authenticate requests. Optionally, you can specify a `kvm_id` to
        limit the session access to a specific KVM instance
      operationId: createAuthSession
      requestBody:
        description: >-
          Required credentials to authenticate and create a session. Optionally,
          you can include `kvm_id` to target a specific KVM.
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/get_auth_body'
        required: true
      responses:
        '200':
          description: Authentication session created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inline_response_200'
        '400':
          description: Bad Request - Invalid credentials or missing parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inline_response_400'
        '401':
          description: Unauthorized - Invalid WHMCS credentials.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inline_response_401'
        '500':
          description: Internal Server Error - An unexpected error occurred.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inline_response_500'
components:
  schemas:
    get_auth_body:
      type: object
      properties:
        email:
          type: string
          description: |-
            Your WHMCS account email address used for login.
            This is the same email you use to sign in to your WHMCS client area.
          example: your-email@example.com
        pw:
          type: string
          description: >-
            Your WHMCS account password.


            ⚠️ **Important:** If your password contains special characters (such
            as `+`, `&`, `=`), the default cURL snippet using `--data` may not
            work correctly.


            ✅ To avoid issues:

            - Use `--data-urlencode "pw=your-password"`, **or**

            - URL-encode your password manually before using it with the
            `--data` flag.


            🔧 You can encode your password using [this online
            tool](https://www.urlencoder.org).


            **Example:** `your-password`
        kvm_id:
          type: string
          description: >
            (Optional) The unique identifier of the KVM to filter the session.  

            If not provided, the session applies to all KVMs associated with
            your account.
    inline_response_200:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/inline_response_200_data'
        status:
          type: string
          description: The status of the session creation.
          example: success
    inline_response_400:
      type: object
      properties:
        error:
          type: string
          example: Invalid credentials or missing parameters.
        code:
          type: integer
          example: 400
        message:
          type: string
          example: Please check your input and try again.
    inline_response_401:
      type: object
      properties:
        error:
          type: string
          example: Unauthorized
        code:
          type: integer
          example: 401
        message:
          type: string
          example: Invalid WHMCS credentials. Please provide correct credentials.
    inline_response_500:
      type: object
      properties:
        error:
          type: string
          example: Internal Server Error
        code:
          type: integer
          example: 500
        message:
          type: string
          example: An unexpected error occurred. Please try again later.
    inline_response_200_data:
      type: object
      properties:
        kvm_123456_789012:
          $ref: '#/components/schemas/inline_response_200_data_kvm_123456_789012'
        kvm_234567_890123:
          $ref: '#/components/schemas/inline_response_200_data_kvm_234567_890123'
    inline_response_200_data_kvm_123456_789012:
      type: object
      properties:
        api_host:
          type: string
          description: The API host URL for further operations.
          example: 123456.edisglobal.com
        api_rdns:
          type: string
          description: Reverse DNS API URL.
          example: dns-api.edis.at
        kvm_id:
          type: string
          description: The unique identifier of the KVM VPS.
          example: kvm_123456_789012
        valid_until:
          type: integer
          description: The expiration timestamp for the session.
          example: 1737476000
        signature:
          type: string
          description: The session signature obtained.
          example: '12345678901234567890123456789012345678901234567890'
        suspended:
          type: string
          description: Suspension status.
          example: 'n'
        description:
          type: string
          description: VPS description.
          example: test-vps-1
        lps:
          type: string
          description: Location of the VPS.
          example: '01'
        lps_ispremium:
          type: boolean
          description: Indicates if the location is premium.
          example: false
    inline_response_200_data_kvm_234567_890123:
      type: object
      properties:
        api_host:
          type: string
          description: The API host URL for further operations.
          example: 234567.edisglobal.com
        api_rdns:
          type: string
          description: Reverse DNS API URL.
          example: dns-api.edis.at
        kvm_id:
          type: string
          description: The unique identifier of the KVM VPS.
          example: kvm_234567_890123
        valid_until:
          type: integer
          description: The expiration timestamp for the session.
          example: 1737479000
        signature:
          type: string
          description: The session signature obtained.
          example: '23456789012345678901234567890123456789012345678901'
        suspended:
          type: string
          description: Suspension status.
          example: 'n'
        description:
          type: string
          description: VPS description.
          example: test-vps-2
        lps:
          type: string
          description: Location of the VPS.
          example: '02'
        lps_ispremium:
          type: boolean
          description: Indicates if the location is premium.
          example: true

````