cPanel Batch API

The Batch module for UAPI.

Operations 1

GET /Batch/strict Run multiple UAPI functions in order #

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-batch-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-batch-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 Batch 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 Batch module for UAPI.
  name: Batch
paths:
  /Batch/strict:
    get:
      x-readonly: false
      x-rollback: none
      description: 'This function combines calls for multiple UAPI functions and performs them in order.


        **Note:**


        * If a function call in the list fails, the `Batch::strict` function does not run further function calls in the list.

        * Due to the potential length of calls of this function, we recommend that you use the HTTP POST method for extremely long batch commands.'
      operationId: Batch-strict
      parameters:
      - content:
          application/json:
            examples:
              multiple:
                summary: Call multiple UAPI functions.
                value:
                - command=["PasswdStrength","get_required_strength",{"app":"webdisk"}]
                - command=["SSH","get_port"]
              multiple_indexed:
                summary: Call multiple UAPI functions using indexed parameters.
                value:
                - command-0=["PasswdStrength","get_required_strength",{"app":"webdisk"}]
                - command-1=["SSH","get_port"]
            schema:
              items:
                oneOf:
                - type: string
                - additionalProperties: true
                  type: object
              maxItems: 3
              minItems: 2
              type: array
        description: 'A UAPI function call, encoded as a JSON array with two or three items:


          * The UAPI module.

          * The UAPI function.

          * A JSON object containing the parameters to pass to this function. You can omit this value if you do not pass any parameters to the function.


          To submit multiple commands, duplicate the parameter name, or index all parameter names and increment the index for each one.


          * When using the cPanel LiveAPI PHP Library, you **must** increment the parameter name when you submit the arguments in an associative array. For example: use `command-0`, `command-1`, and `command-2`.

          * When using the cPanel LiveAPI Perl Library, you **must** increment the parameter name when you submit the arguments in a hash. For example: use `command-0`, `command-1`, and `command-2`.

          * You do **not** need to add an index to `command` parameters for query string calls of this function.'
        in: query
        name: command
        required: true
      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: strict
                    type: string
                  module:
                    description: The name of the module called.
                    example: Batch
                    type: string
                  result:
                    properties:
                      data:
                        description: 'An array of objects that contain function output. Each object contains the output data and metadata from one of the `command` parameter''s functions.


                          For more information about UAPI return data and metadata, read our [UAPI - Return Data](https://go.cpanel.net/UAPIReturnData) documentation.'
                        example:
                        - data:
                            strength: 65
                          errors: null
                          messages: null
                          metadata: {}
                          status: 1
                          warnings: null
                        - data:
                            port: 22
                          errors: null
                          messages: null
                          metadata: {}
                          status: 1
                          warnings: null
                        items:
                          properties:
                            data:
                              additionalProperties: true
                              description: The data returned by an individual UAPI call invoked through this `Batch::strict` call.
                              type: object
                            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:
                                transformed:
                                  description: Post-processing may have transformed the data.
                                  enum:
                                  - 1
                                  example: 1
                                  type: integer
                            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 an API.
                              example: null
                              items:
                                type: string
                              type:
                              - array
                              - 'null'
                          type: object
                        type: array
                      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:
                          transformed:
                            description: Post-processing may have transformed the data.
                            enum:
                            - 1
                            example: 1
                            type: integer
                      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 an API.
                        example: null
                        items:
                          type: string
                        type:
                        - array
                        - 'null'
                    type: object
                type: object
          description: HTTP Request was successful.
      summary: Run multiple UAPI functions in order
      tags:
      - Batch
      x-codeSamples:
      - label: CLI
        lang: Shell
        source: 'uapi --output=jsonpretty --user=username Batch strict command-0=''[ "PasswdStrength", "get_required_strength", { "app": "webdisk"} ]'' command-1=''["SSH","get_port"]'''
      - label: URL
        lang: HTTP
        source: https://hostname.example.com:2083/cpsess##########/execute/Batch/strict?command-0=%5b%20%22PasswdStrength%22%2c%20%22get_required_strength%22%2c%20%7b%20%22app%22%3a%20%22webdisk%22%7d%20%5d&command-1=%5B%22SSH%22%2C%22get_port%22%5D
      - 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 Batch_strict.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/Batch_strict.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/Batch/,\n    q/strict/,\n    {\n        'command-0' => '[ \"PasswdStrength\", \"get_required_strength\", { \"app\": \"webdisk\"} ]',\n        'command-1' => '[\"SSH\",\"get_port\"]',\n    }\n);\n\n# Handle the response\nif ($response->{cpanelresult}{result}{status}) {\n    my $data = $response->{cpanelresult}{result}{data};\n    foreach my $item (@{$data}) {\n        # Do something with the $item\n    }\n\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 Batch_strict.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/Batch_strict.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    'Batch',\n    'strict',\n    array (\n        'command-0' => '[ \"PasswdStrength\", \"get_required_strength\", { \"app\": \"webdisk\"} ]',\n        'command-1' => '[\"SSH\",\"get_port\"]',\n    )\n);\n\n// Handle the response\nif ($response['cpanelresult']['result']['status']) {\n    $data = $response['cpanelresult']['result']['data'];\n    foreach ($data as $item) {\n        // Do something with the $item\n    }\n\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
  - Two-Factor Settings
- name: Backup Information
  tags:
  - BackupInfo
  - BackupInfo Status
- name: Block Ip Addresses
  tags:
  - Block IP
- name: Commerce Integration
  tags:
  - Market Integration
  - SSL Certificates
- name: Contact Information
  tags:
  - Contact Information
- name: cPanel Account
  tags:
  - Account Enhancements
  - Account Information
  - Account Management
  - AuditLog
  - Contact Information
  - cPanel Features
  - Disk Quotas
  - DomainRecommendations
  - Personalization
  - Resource Usage and Statistics
  - Subaccount Management
  - Team Roles
  - Team Users
- name: cPanel Account Backups
  tags:
  - Backup
  - File Restoration
- name: cPanel Plugin Framework
  tags:
  - Formbricks
  - Plugins
- name: cPanel Theme Management
  tags:
  - Application Information
  - Brand Management
  - Branding Files
  - Browser Cache Management
  - Language
  - Theme Settings
- name: Directory Management
  tags:
  - Directory Indexes
  - Directory Privacy
  - Directory Protection
- name: DNS
  tags:
  - DNS
  - DNS Information
  - DNS Security
  - Dynamic DNS
  - Email DNS Settings
  - ZoneEdit
- name: Domain
  tags:
  - Domain
- name: Domain Management
  tags:
  - AddonDomain
  - Direct Link Protection (Hotlink)
  - Domain
  - Domain Information
  - Domain Redirection
  - DomainLookup
  - Park
  - SubDomain
  - Virtual Host Information
- name: Domains
  tags:
  - Subdomains
- name: Email
  tags:
  - Email Accounts
  - Email Filtering
  - Email Forwarding
  - Email Server Information
  - Email Suspensions
  - Mail Server Information
  - Mailbox Management
  - Mailing Lists
  - Signing and Encryption (GnuPG Keys)
  - Spam Filtering (Greylisting)
  - Spam Management
  - Spam Prevention (BoxTrapper)
  - Webmail Applications
  - Webmail Sessions
- name: Extract Information
  tags:
  - ExtractInfo
  - ExtractInfo Status
- name: File Manager
  tags:
  - Trash
- name: Files
  tags:
  - FTP Accounts
  - FTP Server Settings
  - Image Tools
  - Jodit
  - Manage Files
  - Manage Files
  - WebDisk Settings
- name: GIT Management
  tags:
  - Deployment Settings
  - Repository Management
- name: InProductSurvey
  tags:
  - InProductSurvey
- name: MySQL and MariaDB
  tags:
  - Database Information
  - Database Management
  - Remote Databases
  - User Management
- name: Notifications
  tags:
  - Pushbullet
- name: Optional Applications
  tags:
  - Antivirus Protection (ClamAV)
  - Calendar and Contacts (DAV)
  - Calendar and Contacts Server
  - WordPress Manager Backups
- name: PostgreSQL
  tags:
  - PostgreSQL Database Management
  - PostgreSQL User Management
- name: Retrieve bandwidth information
  tags:
  - Bandwidth
- name: Security
  tags:
  - Known SSH Hosts Management
  - Login Information
- name: Server Information
  tags:
  - cPanel Server Information
  - Notifications
  - Password Strength
  - SSH
  - WebPros MCP
  - WebProsMCP
- name: ServiceProxy
  tags:
  - ServiceProxy
- name: Site Quality Monitoring
  tags:
  - SiteQuality
- name: SSL Certificates
  tags:
  - Auto-generated SSL Certificates
  - cPanel Account SSL Management
  - SNI Email Settings
  - SSL Certificate Management
  - Verify Domain Ownership
- name: Statistics
  tags:
  - Domain Statistics
  - Weblog Settings
- name: UserData
  tags:
  - UserData
- name: Web Server Configuration
  tags:
  - EA4
  - EasyApache Settings
  - PHP
- name: Web Server Management
  tags:
  - Application Manager
  - ModSecurity
  - NginxCaching
  - PHP Settings
  - Web Apps
- name: Website Configuration
  tags:
  - Handler Management
  - Logs
  - Mime Type Management
  - Nova
  - Site Information
  - Site Installation
  - Sitejet
  - WPX