EditFirewallRule
Edit an existing firewall rule on an owned VM or container.
Endpoint: https://sive.host/modules/addons/shapi/sh-api.php
Method: POST using application/x-www-form-urlencoded.
Changes account or service state. Access is limited to directly owned records or explicitly assigned Partner-managed client services after both relationships are verified.
Request parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
action | string | Yes | Exact SHAPI action name shown in this article. |
api_key | string | Yes | Client API key generated in the Sive.Host SHAPI page. |
api_secret | string | Yes | Secret paired with the API key. Send it only in the POST body. |
serviceid | positive integer | Yes | Active WHMCS service ID owned by the authenticated client. |
ruleid | non-negative integer | Yes | Existing firewall rule position/ID. |
type | in|out | Yes | Traffic direction. |
do | ACCEPT|DROP|REJECT | Yes | Rule action. |
proto | string | No | Protocol. |
dport | string | No | Destination port or range. |
sport | string | No | Source port or range. |
source | string | No | Source CIDR/address. |
enable | 0|1 | No | Whether the rule is enabled. |
comment | string | No | Optional rule comment. |
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=EditFirewallRule" \
--data-urlencode "api_key=${SHAPI_API_KEY}" \
--data-urlencode "api_secret=${SHAPI_API_SECRET}" \
--data-urlencode "serviceid=12345" \
--data-urlencode "ruleid=0" \
--data-urlencode "type=in" \
--data-urlencode "do=ACCEPT" \
--data-urlencode "proto=tcp" \
--data-urlencode "dport=443" \
--data-urlencode "source=0.0.0.0/0" \
--data-urlencode "enable=1" \
--data-urlencode "comment=Allow HTTPS"Response
SHAPI always returns JSON. Check result; panel responses can vary by the server module and DirectAdmin version.
{
"result": "success",
"message": {
"action": "EditFirewallRule",
"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.

