The packages function manages hosting packages — the sets of limits assigned to accounts.
URL: https://YOUR-SERVER:2304/v1/packages/
List packages (action=list)
curl -k -X POST https://203.0.113.10:2304/v1/packages/ -d "key=YOUR_API_KEY&action=list"
{"status":"OK","msj":[{"id":"1","package_name":"default","disk_quota":"20000","bandwidth":"100000","ftp_accounts":"10","email_accounts":"10","email_lists":"10","databases":"10","sub_domains":"10","parked_domains":"10","addons_domains":"10","hourly_emails":"200","reseller":"","accounts":""}]}
The id is what changepack expects.
Create a package (action=add)
| Parameter | Description |
|---|---|
package_name | Name of the package |
disk_quota | Disk space in MB |
bandwidth | Monthly bandwidth in MB |
ftp_accounts, email_accounts, email_lists, databases, sub_domains, parked_domains, addons_domains | Maximum number of each |
hourly_emails | Maximum emails the account may send per hour |
reseller | 1 = reseller package, 0 = normal |
accounts | For reseller packages: how many accounts the reseller may create |
curl -k -X POST https://203.0.113.10:2304/v1/packages/ \
-d "key=YOUR_API_KEY&action=add&package_name=Starter&disk_quota=5000&bandwidth=50000&ftp_accounts=5&email_accounts=5&email_lists=5&databases=5&sub_domains=5&parked_domains=5&addons_domains=5&hourly_emails=100&reseller=0&accounts=0"
{"status":"OK"}
The response does not contain the new package ID — call list to get it.
Update a package (action=udp)
Send id and all package fields with their new values (same fields as add).
curl -k -X POST https://203.0.113.10:2304/v1/packages/ \
-d "key=YOUR_API_KEY&action=udp&id=3&package_name=Starter&disk_quota=6000&bandwidth=60000&ftp_accounts=6&email_accounts=6&email_lists=6&databases=6&sub_domains=6&parked_domains=6&addons_domains=6&hourly_emails=120&reseller=0&accounts=0"
{"status":"OK"}
Changes apply to all accounts on that package.
Delete a package (action=del)
curl -k -X POST https://203.0.113.10:2304/v1/packages/ -d "key=YOUR_API_KEY&action=del&id=3"
The package is deleted, but the response body is empty. Confirm with list. Move accounts to another package before deleting the one they use.
Note: A key owned by a reseller only sees and manages that reseller’s packages.