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

# [Control panels] List available control panels

> Retrieve the control panels that can be installed on a new instance. A control panel is installed after the instance is created, on top of one of its compatible images, and requires at least min_vcpu, min_ram_mb and min_disk_gb. Pass its slug as control_panel when ordering or reinstalling an instance. A control panel cannot be combined with One Click Apps.



## OpenAPI

````yaml https://api.onetsolutions.net/schema get /v1/compute/control-panels
openapi: 3.0.3
info:
  title: OnetSolutions API
  version: v1 (v1)
  description: >

    ## Overview


    The OnetSolutions API provides programmatic access to manage your cloud
    infrastructure, domains, and web hosting services.


    ## Authentication


    All API requests require authentication using one of the following methods:


    - **JWT Token**: Obtain a token via login endpoints and include it in the
    `Authorization: Bearer <token>` header

    - **API Key**: Generate an API key from your account settings and use it as
    `Authorization: Bearer sk-onetsolutions-...`


    ## Rate Limiting


    API requests are rate-limited to ensure fair usage:

    - **Standard**: 1000 requests per minute

    - **Burst**: 100 requests per second


    ## Pagination


    List endpoints return paginated results. Use `page` and `page_size` query
    parameters.


    ## Error Handling


    The API uses standard HTTP status codes:

    - `200` Success

    - `201` Created

    - `400` Bad Request

    - `401` Unauthorized

    - `403` Forbidden

    - `404` Not Found

    - `429` Too Many Requests
servers: []
security: []
tags:
  - name: Authentication
    description: >-
      Login, passwordless authentication, MFA, OAuth providers, and token
      management.
  - name: Organizations
    description: >-
      Organization management, members, roles, modules, audit logs, and
      notification settings.
  - name: Projects
    description: Project management, team members, and project-scoped resources.
  - name: Compute
    description: >-
      Cloud instances, volumes, snapshots, backups, VPCs, firewalls, SSH keys,
      uptime monitors, and instance tasks.
  - name: Billing
    description: >-
      Shopping cart, orders, invoices, payments, payment methods, gateways,
      promo codes, and balance management.
  - name: Domains
    description: >-
      Domain availability, registration, transfers, DNS zones, DNS records, and
      TLD information.
  - name: Web Hosting
    description: >-
      cPanel-based web hosting, emails, databases, subdomains, FTP accounts,
      addon domains, and SSL certificates.
paths:
  /v1/compute/control-panels:
    get:
      tags:
        - Compute
      summary: '[Control panels] List available control panels'
      description: >-
        Retrieve the control panels that can be installed on a new instance. A
        control panel is installed after the instance is created, on top of one
        of its compatible images, and requires at least min_vcpu, min_ram_mb and
        min_disk_gb. Pass its slug as control_panel when ordering or
        reinstalling an instance. A control panel cannot be combined with One
        Click Apps.
      operationId: list_control_panels
      parameters:
        - in: query
          name: lang
          schema:
            type: string
            enum:
              - en
              - fr
          description: >-
            Language of the description. Defaults to the Accept-Language header,
            then English.
        - name: page
          required: false
          in: query
          description: A page number within the paginated result set.
          schema:
            type: integer
        - name: page_size
          required: false
          in: query
          description: Number of results to return per page.
          schema:
            type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPublicControlPanelList'
          description: Control panels retrieved successfully
      security:
        - BearerAuth: []
components:
  schemas:
    PaginatedPublicControlPanelList:
      type: object
      required:
        - count
        - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?page=4
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?page=2
        results:
          type: array
          items:
            $ref: '#/components/schemas/PublicControlPanel'
    PublicControlPanel:
      type: object
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        slug:
          type: string
          readOnly: true
          pattern: ^[-a-zA-Z0-9_]+$
        name:
          type: string
          readOnly: true
          description: 'Ex: Easypanel'
        logo_url:
          type: string
          format: uri
          readOnly: true
        description:
          type: string
          readOnly: true
        access_port:
          type: integer
          readOnly: true
          description: 'Ex: 3000'
        compatible_images:
          type: array
          items:
            $ref: '#/components/schemas/ControlPanelCompatibleImage'
          readOnly: true
        min_vcpu:
          type: integer
          readOnly: true
        min_ram_mb:
          type: integer
          readOnly: true
        min_disk_gb:
          type: integer
          readOnly: true
        docs_url:
          type: string
          format: uri
          readOnly: true
      required:
        - access_port
        - compatible_images
        - description
        - docs_url
        - id
        - logo_url
        - min_disk_gb
        - min_ram_mb
        - min_vcpu
        - name
        - slug
    ControlPanelCompatibleImage:
      type: object
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        slug:
          type: string
          readOnly: true
          description: 'Ex: ubuntu-22-04, debian-12'
          pattern: ^[-a-zA-Z0-9_]+$
        name:
          type: string
          readOnly: true
          description: 'Ex: Ubuntu 22.04 LTS, Debian 12'
      required:
        - id
        - name
        - slug
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT or API Key
      description: >-
        Use `Authorization: Bearer <token>` header. Token can be a JWT token or
        an API key (format: `sk-onetsolutions-...`).

````