cPanel · OpenAPI Overlay 1.0.0

API Evangelist enrichment overlay — WHM API 1

3 actions 3 updates update extends ../openapi/_original/cpanel-whm-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for cPanel's API. It is a proposal applied on top of the contract, not a document cPanel publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apis-iox-calling-conventionsx-artifactsx-license-notex-gaps

Targets 2

$.info
$

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enrichment overlay — WHM API 1
  version: 1.0.0
  x-generated: '2026-09-05'
  x-method: generated
  x-source: >-
    Enhancements API Evangelist derived from cPanel's own published contract and documentation.
    The original document is never mutated; apply this overlay to
    openapi/_original/cpanel-whm-api-openapi.yml.
extends: ../openapi/_original/cpanel-whm-api-openapi.yml
actions:
  - target: $.info
    description: Record provenance and the calling conventions the contract does not state in-band.
    update:
      x-apis-io:
        provider: cPanel
        providerId: cpanel
        harvested: '2026-09-05'
        harvest_method: >-
          MCP tools/call get-full-api-description against https://api.docs.cpanel.net/mcp, after
          /openapi.json, /openapi.yaml, /swagger.json and the Redocly /specifications/*.yaml paths
          all returned 404 HTML shells.
        operations: 625
      x-calling-conventions:
        required_parameter: api.version=1 on every call
        outcome_field: metadata.result
        outcome_note: >-
          Every operation answers HTTP 200. Failure is metadata.result == 0 with metadata.reason.
          Note that metadata.reason may also carry a message on success, so only metadata.result
          decides the outcome. Payload sits at the TOP level in `data`, not nested under result —
          the opposite of UAPI.
        booleans: Integers 1 and 0. Literal true/false are not accepted.
        ports: 2087 (secure), 2086 (unsecure), or 443 via a service subdomain. cPanel ports will not serve this API.
        auth_header: 'Authorization: whm <username>:<token>'
        pagination: api.chunk.enable=1 with api.chunk.size / api.chunk.start (1-indexed, off by default)
        filtering: api.filter.enable=1 with api.filter.a.field / .arg0 / .type; increment the letter for more filters
        field_selection: api.columns.enable=1 with api.columns.a, api.columns.b …
      x-artifacts:
        conventions: conventions/cpanel-conventions.yml
        errors: errors/cpanel-problem-types.yml
        authentication: authentication/cpanel-authentication.yml
        lifecycle: lifecycle/cpanel-lifecycle.yml
        data_model: data-model/cpanel-data-model.yml
        cli: cli/cpanel-cli.yml
  - target: $.info
    description: Restate the license and terms the provider declares, for downstream tooling that drops them.
    update:
      x-license-note: >-
        cPanel License, https://cpanel.net/legal-notices/. info.contact is WebPros International,
        LLC (cs@cpanel.net) — cPanel's parent company.
  - target: $
    description: Record what this contract does NOT carry, so a consumer does not go looking.
    update:
      x-gaps:
        rollback_extension: >-
          WHM API 1 carries no x-rollback declarations at all, unlike UAPI where 345 of 657
          operations classify their rollback.
        error_responses: No 4xx or 5xx response is declared on any of the 625 operations.
        rate_limit_headers: None declared.
        sunset_header: None; 8 operations are deprecated with no removal date.