cPanel Web Disk API

The WebDisk module for UAPI.

Operations 4

GET /WebDisk/delete_user Delete Web Disk account #
GET /WebDisk/set_homedir Update Web Disk home directory location #
GET /WebDisk/set_password Update Web Disk account password #
GET /WebDisk/set_permissions Update Web Disk home directory permissions #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/cpanel-webdisk-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

cpanel-webdisk-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact:
    email: cs@cpanel.net
    name: WebPros International, LLC
    url: https://cpanel.net/support/
  description: UAPI accesses the cPanel interface's features. Use this API to access and modify cPanel account data and settings.
  license:
    name: cPanel License
    url: https://cpanel.net/legal-notices/
  termsOfService: https://cpanel.net/legal-notices/
  title: cPanel U Web Disk API
  version: 11.137.9999.106
  x-api-evangelist-provenance: 'Harvested verbatim from cPanel''s developer portal on 2026-09-05 via the MCP tool get-full-api-description at https://api.docs.cpanel.net/mcp. ONE mechanical change was made before storage: example values containing PEM private-key or certificate blocks, and AWS-access-key-shaped example strings, were replaced with REDACTED_* placeholders so the file can be stored in a public git repository without tripping secret scanning. No path, operation, parameter, schema or description was altered, added or removed.'
servers:
- description: A server running cPanel.
  url: https://{host}:{port}/execute
  variables:
    host:
      default: cpanel-server.tld
      description: The hostname of a server running cPanel.
    port:
      default: '2083'
      description: The cPanel port.
security:
- BasicAuth: []
tags:
- description: The WebDisk module for UAPI.
  name: WebDisk
paths:
  /WebDisk/delete_user:
    get:
      x-readonly: false
      x-rollback: none
      description: 'This function deletes a Web Disk account.


        **Important:**


        When you disable the Web Disk role, the system **disables** this function.'
      operationId: WebDisk-delete_user
      parameters:
      - description: 'Whether to recursively delete the Web Disk account''s folder and all of its contents.


          * `1` - Delete the folder for the Web Disk account

          * `0` - Do **not** delete the folder for the Web Disk account.'
        in: query
        name: destroy
        required: true
        schema:
          enum:
          - 0
          - 1
          example: 1
          type: integer
      - description: The Web Disk account username.
        in: query
        name: user
        required: true
        schema:
          example: example1@example.com
          format: email
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  apiversion:
                    description: The version of the API.
                    example: 3
                    type: integer
                  func:
                    description: The name of the method called.
                    example: delete_user
                    type: string
                  module:
                    description: The name of the module called.
                    example: WebDisk
                    type: string
                  result:
                    properties:
                      data:
                        default: null
                        type:
                        - object
                        - 'null'
                      errors:
                        description: List of errors if the API failed.
                        example: null
                        items:
                          type: string
                        type:
                        - array
                        - 'null'
                      messages:
                        description: List of messages generated by the API.
                        example: null
                        items:
                          type: string
                        type:
                        - array
                        - 'null'
                      metadata:
                        properties: {}
                      status:
                        description: '- 1 - Success

                          - 0 - Failed: Check the errors field for more details.'
                        enum:
                        - 0
                        - 1
                        example: 1
                        type: integer
                      warnings:
                        description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.
                        example: null
                        items:
                          type: string
                        type:
                        - array
                        - 'null'
                type: object
          description: HTTP Request was successful.
      summary: Delete Web Disk account
      tags:
      - WebDisk
      x-codeSamples:
      - label: CLI
        lang: Shell
        source: "uapi --output=jsonpretty \\\n  --user=username \\\n  WebDisk \\\n  delete_user \\\n  user='example1@example.com' \\\n  destroy='1'\n"
      - label: URL
        lang: HTTP
        source: https://hostname.example.com:2083/cpsess##########/execute/WebDisk/delete_user?user=example1%40example.com&destroy=1
      - label: LiveAPI Perl
        lang: Perl
        source: "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file WebDisk_delete_user.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/WebDisk_delete_user.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/WebDisk/,\n    q/delete_user/,\n    {\n        'user' => 'example1@example.com',\n        'destroy' => '1',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
      - label: LiveAPI PHP
        lang: PHP
        source: "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file WebDisk_delete_user.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/WebDisk_delete_user.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'WebDisk',\n    'delete_user',\n    array (\n        'user' => 'example1@example.com',\n        'destroy' => '1',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
      x-cpanel-api-version: UAPI
      x-cpanel-available-version: cPanel 54
  /WebDisk/set_homedir:
    get:
      x-readonly: false
      x-rollback: none
      description: 'This function changes the home directory for a Web Disk account.


        **Important:**


        When you disable the Web Disk role, the system **disables** this function.'
      operationId: WebDisk-set_homedir
      parameters:
      - description: The Web Disk account's home directory.
        in: query
        name: homedir
        required: true
        schema:
          example: example1/
          format: path
          type: string
      - description: The Web Disk account username.
        in: query
        name: user
        required: true
        schema:
          example: example1@example.com
          format: email
          type: string
      - description: 'Whether to set the Web Disk directory''s permissions to public or private.


          * `1` - Private (`0700`)

          * `0` - Public (`0755`)'
        in: query
        name: private
        required: false
        schema:
          default: 0
          enum:
          - 0
          - 1
          example: 0
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  apiversion:
                    description: The version of the API.
                    example: 3
                    type: integer
                  func:
                    description: The name of the method called.
                    example: set_homedir
                    type: string
                  module:
                    description: The name of the module called.
                    example: WebDisk
                    type: string
                  result:
                    properties:
                      data:
                        default: null
                        type:
                        - object
                        - 'null'
                      errors:
                        description: List of errors if the API failed.
                        example: null
                        items:
                          type: string
                        type:
                        - array
                        - 'null'
                      messages:
                        description: List of messages generated by the API.
                        example: null
                        items:
                          type: string
                        type:
                        - array
                        - 'null'
                      metadata:
                        properties: {}
                      status:
                        description: '- 1 - Success

                          - 0 - Failed: Check the errors field for more details.'
                        enum:
                        - 0
                        - 1
                        example: 1
                        type: integer
                      warnings:
                        description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.
                        example: null
                        items:
                          type: string
                        type:
                        - array
                        - 'null'
                type: object
          description: HTTP Request was successful.
      summary: Update Web Disk home directory location
      tags:
      - WebDisk
      x-codeSamples:
      - label: CLI
        lang: Shell
        source: "uapi --output=jsonpretty \\\n  --user=username \\\n  WebDisk \\\n  set_homedir \\\n  user='example1@example.com' \\\n  homedir='example1/'\n"
      - label: URL
        lang: HTTP
        source: https://hostname.example.com:2083/cpsess##########/execute/WebDisk/set_homedir?user=example1%40example.com&homedir=example1%2f
      - label: LiveAPI Perl
        lang: Perl
        source: "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file WebDisk_set_homedir.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/WebDisk_set_homedir.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/WebDisk/,\n    q/set_homedir/,\n    {\n        'user' => 'example1@example.com',\n        'homedir' => 'example1/',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
      - label: LiveAPI PHP
        lang: PHP
        source: "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file WebDisk_set_homedir.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/WebDisk_set_homedir.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'WebDisk',\n    'set_homedir',\n    array (\n        'user' => 'example1@example.com',\n        'homedir' => 'example1/',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
      x-cpanel-api-version: UAPI
      x-cpanel-available-version: cPanel 54
  /WebDisk/set_password:
    get:
      x-readonly: false
      x-rollback: clean
      description: 'This function changes the Web Disk account''s password.


        **Important:**


        When you disable the Web Disk role, the system **disables** this function.'
      operationId: WebDisk-set_password
      parameters:
      - description: The Web Disk account's password.
        in: query
        name: password
        required: true
        schema:
          example: 123456luggage
          type: string
      - description: The Web Disk account username.
        in: query
        name: user
        required: true
        schema:
          example: example1@example.com
          format: email
          type: string
      - description: 'Whether to enable Digest Authentication.


          * `1` - Enable Digest Authentication.

          * `0` - Disable Digest Authentication.'
        in: query
        name: enabledigest
        required: false
        schema:
          default: 0
          enum:
          - 0
          - 1
          example: 0
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  apiversion:
                    description: The version of the API.
                    example: 3
                    type: integer
                  func:
                    description: The name of the method called.
                    example: set_password
                    type: string
                  module:
                    description: The name of the module called.
                    example: WebDisk
                    type: string
                  result:
                    properties:
                      data:
                        default: null
                        type:
                        - object
                        - 'null'
                      errors:
                        description: List of errors if the API failed.
                        example: null
                        items:
                          type: string
                        type:
                        - array
                        - 'null'
                      messages:
                        description: List of messages generated by the API.
                        example: null
                        items:
                          type: string
                        type:
                        - array
                        - 'null'
                      metadata:
                        properties: {}
                      status:
                        description: '- 1 - Success

                          - 0 - Failed: Check the errors field for more details.'
                        enum:
                        - 0
                        - 1
                        example: 1
                        type: integer
                      warnings:
                        description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.
                        example: null
                        items:
                          type: string
                        type:
                        - array
                        - 'null'
                type: object
          description: HTTP Request was successful.
      summary: Update Web Disk account password
      tags:
      - WebDisk
      x-codeSamples:
      - label: CLI
        lang: Shell
        source: "uapi --output=jsonpretty \\\n  --user=username \\\n  WebDisk \\\n  set_password \\\n  user='example1@example.com' \\\n  password='123456luggage'\n"
      - label: URL
        lang: HTTP
        source: https://hostname.example.com:2083/cpsess##########/execute/WebDisk/set_password?user=example1%40example.com&password=123456luggage
      - label: LiveAPI Perl
        lang: Perl
        source: "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file WebDisk_set_password.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/WebDisk_set_password.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/WebDisk/,\n    q/set_password/,\n    {\n        'user' => 'example1@example.com',\n        'password' => '123456luggage',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
      - label: LiveAPI PHP
        lang: PHP
        source: "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file WebDisk_set_password.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/WebDisk_set_password.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'WebDisk',\n    'set_password',\n    array (\n        'user' => 'example1@example.com',\n        'password' => '123456luggage',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
      x-cpanel-api-version: UAPI
      x-cpanel-available-version: cPanel 54
  /WebDisk/set_permissions:
    get:
      x-readonly: false
      x-rollback: clean
      description: 'This function changes the Web Disk home directory''s permissions.


        **Important:**


        When you disable the Web Disk role, the system **disables** this function.'
      operationId: WebDisk-set_permissions
      parameters:
      - description: 'The Web Disk account''s home directory file permissions.


          * `ro` — Read-only permissions.

          * `rw` — Read and write permissions.'
        in: query
        name: perms
        required: true
        schema:
          enum:
          - ro
          - rw
          example: rw
          type: string
      - description: The Web Disk account's username.
        in: query
        name: user
        required: true
        schema:
          example: example1@example.com
          format: email
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  apiversion:
                    description: The version of the API.
                    example: 3
                    type: integer
                  func:
                    description: The name of the method called.
                    example: set_permissions
                    type: string
                  module:
                    description: The name of the module called.
                    example: WebDisk
                    type: string
                  result:
                    properties:
                      data:
                        default: null
                        type:
                        - object
                        - 'null'
                      errors:
                        description: List of errors if the API failed.
                        example: null
                        items:
                          type: string
                        type:
                        - array
                        - 'null'
                      messages:
                        description: List of messages generated by the API.
                        example: null
                        items:
                          type: string
                        type:
                        - array
                        - 'null'
                      metadata:
                        properties: {}
                      status:
                        description: '- 1 - Success

                          - 0 - Failed: Check the errors field for more details.'
                        enum:
                        - 0
                        - 1
                        example: 1
                        type: integer
                      warnings:
                        description: List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.
                        example: null
                        items:
                          type: string
                        type:
                        - array
                        - 'null'
                type: object
          description: HTTP Request was successful.
      summary: Update Web Disk home directory permissions
      tags:
      - WebDisk
      x-codeSamples:
      - label: CLI
        lang: Shell
        source: "uapi --output=jsonpretty \\\n  --user=username \\\n  WebDisk \\\n  set_permissions \\\n  user='example1@example.com' \\\n  perms='rw'\n"
      - label: URL
        lang: HTTP
        source: https://hostname.example.com:2083/cpsess##########/execute/WebDisk/set_permissions?user=example1%40example.com&perms=rw
      - label: LiveAPI Perl
        lang: Perl
        source: "#--------------------------------------------------------------------------------------\n# Instructions:\n#--------------------------------------------------------------------------------------\n# <theme-name> is the theme assigned to cPanel account.\n# 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n# 2) mkdir api_examples\n# 3) cd api_examples\n# 4) create a file WebDisk_set_permissions.live.pl and put this code into that file.\n# 5) In your browser login to a cPanel account.\n# 6) Manually change the url from: .../frontend/<theme-name>/\n#    to .../frontend/<theme-name>/api_examples/WebDisk_set_permissions.live.pl\n#--------------------------------------------------------------------------------------\n\nuse strict;\n\nuse Cpanel::LiveAPI ();\n\nmy $cpanel = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.\n\n# Print the header\nprint \"Content-type: text/plain\\r\\n\\r\\n\";\n\n# Call the API\nmy $response = $cpanel->uapi(\n    q/WebDisk/,\n    q/set_permissions/,\n    {\n        'user' => 'example1@example.com',\n        'perms' => 'rw',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    # Do something with the $data\n    # So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    # Report errors:\n    print to_json($response->{cpanelresult}{result}{errors});\n}\n\n# Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n#--------------------------------------------------------------------------------------\n# Helper function to convert a perl object to html printable json\n#--------------------------------------------------------------------------------------\nsub to_json {\n    require JSON;\n    my $str = JSON->new->pretty->encode($_[0]);\n    return $str;\n}\n"
      - label: LiveAPI PHP
        lang: PHP
        source: "<?php\n//--------------------------------------------------------------------------------------\n// Instructions:\n//--------------------------------------------------------------------------------------\n// <theme-name> is the theme assigned to cPanel account.\n// 1) cd /usr/local/cpanel/base/frontend/<theme-name>\n// 2) mkdir api_examples\n// 3) cd api_examples\n// 4) create a file WebDisk_set_permissions.live.php and put this code into that file.\n// 5) In your browser login to a cPanel account.\n// 6) Manually change the url from: .../frontend/<theme-name>/\n//    to .../frontend/<theme-name>/api_examples/WebDisk_set_permissions.live.php\n//--------------------------------------------------------------------------------------\n\n// Instantiate the CPANEL object.\nrequire_once \"/usr/local/cpanel/php/cpanel.php\";\n\n// Print the header\nheader('Content-Type: text/plain');\n\n// Connect to cPanel - only do this once.\n$cpanel = new CPANEL();\n\n// Call the API\n$response = $cpanel->uapi(\n    'WebDisk',\n    'set_permissions',\n    array (\n        'user' => 'example1@example.com',\n        'perms' => 'rw',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    // Do something with the $data\n    // So you can see the data shape we print it here.\n    print to_json($data);\n}\nelse {\n    // Report errors:\n    print to_json($response['cpanelresult']['result']['errors']);\n}\n\n// Disconnect from cPanel - only do this once.\n$cpanel->end();\n\n//--------------------------------------------------------------------------------------\n// Helper function to convert a PHP value to html printable json\n//--------------------------------------------------------------------------------------\nfunction to_json($data) {\n    return json_encode($data, JSON_PRETTY_PRINT);\n}"
      x-cpanel-api-version: UAPI
      x-cpanel-available-version: cPanel 54
components:
  securitySchemes:
    BasicAuth:
      scheme: basic
      type: http
externalDocs:
  url: https://cpanel.net/developers/
x-tagGroups:
- name: API Development Tools
  tags:
  - API Token Management
  - Batch
  - SSE Task Management
  - URL Parsing
- name: Authentication
  tags:
  - External Authentication


# --- truncated at 32 KB (35 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cpanel/refs/heads/main/openapi/cpanel-webdisk-api-openapi.yml