BuyClone Print

  • 0

BuyClone

Clone an owned VM or container and create a billable service.

Endpoint: https://sive.host/modules/addons/shapi/sh-api.php

Method: POST using application/x-www-form-urlencoded.

Consequential action: may purchase, delete, replace credentials, or remove data. Access is limited to directly owned records or explicitly assigned Partner-managed client services after both relationships are verified.

Request parameters

ParameterTypeRequiredDescription
actionstringYesExact SHAPI action name shown in this article.
api_keystringYesClient API key generated in the Sive.Host SHAPI page.
api_secretstringYesSecret paired with the API key. Send it only in the POST body.
serviceidpositive integerYesActive WHMCS service ID owned by the authenticated client.
usernamestringNoOptional username for the cloned service.
hostnamedomain/hostnameNoOptional hostname for the cloned service.

Example request

Set the four environment variables from the authenticated SHAPI page. Do not put credentials in source control or URLs.

curl --request POST 'https://sive.host/modules/addons/shapi/sh-api.php' \
  --user "${SHAPI_HTTP_USER}:${SHAPI_HTTP_PASSWORD}" \
  --header 'Accept: application/json' \
  --data-urlencode "action=BuyClone" \
  --data-urlencode "api_key=${SHAPI_API_KEY}" \
  --data-urlencode "api_secret=${SHAPI_API_SECRET}" \
  --data-urlencode "serviceid=12345"

Response

SHAPI always returns JSON. Check result; panel responses can vary by the server module and DirectAdmin version.

{
    "result": "success",
    "message": {
        "action": "BuyClone",
        "data": "Panel- or action-specific response"
    }
}

Common errors

  • Unauthorized access!: source IP or HTTP Basic authentication failed.
  • Invalid API Key or secret.: the customer key is wrong, disabled, or deleted.
  • Unable to retrieve an active service owned by this client.: the service is inactive or belongs to another client.
  • Missing required parameters.: one or more required fields were omitted.

SHAPI documentation version 2.0 — generated from the current endpoint contract.


Was this answer helpful?
Back