API reference
Resellers
Resellers, their limits, privileges and accounts.
Make the account a reseller, or stop
PUT/api/v1/accounts/{id}/reseller
Parameters
| Name | In |
|---|---|
id | path |
Request body
| Field | Type |
|---|---|
make_reseller | boolean |
Responses
- 200 OK
Body
Field Type bw_exceededalwaysboolean bw_limit_mbinteger bw_used_month_mbalwaysinteger cgialwaysboolean contact_emailalwaysstring created_atalwaysinteger db_countalwaysinteger db_prefixalwaysstring db_used_bytesalwaysinteger default_email_quota_mbinteger disk_quota_mbinteger disk_used_mbalwaysinteger feature_list_idalwaysstring home_diralwaysstring idalwaysstring inodes_limitinteger inodes_usedalwaysinteger ip_addressalwaysstring ip_idalwaysstring is_reselleralwaysboolean localealwaysstring main_domainalwaysstring make_reselleralwaysboolean max_addoninteger max_emailinteger max_email_per_hourinteger max_email_quota_mbinteger max_ftpinteger max_parkedinteger max_sqlinteger max_subinteger owner_idalwaysstring owner_namealwaysstring package_idalwaysstring package_namealwaysstring php_max_childreninteger shellalwaysstring statusalwaysstring suspend_lockedalwaysboolean suspend_reasonalwaysstring suspended_atinteger suspended_bystring themealwaysstring uidalwaysinteger usernamealwaysstring - 401 Unauthorized: no session, or an invalid or expired token
- 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
- 404 Not Found: not-found
- 409 Conflict: validation
- 500 Internal Server Error: internal
Reseller privilege catalog
GET/api/v1/acl-keys
Responses
- 200 OK
Body
Field Type itemsarray of ACLKey - 401 Unauthorized: no session, or an invalid or expired token
- 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
List privilege lists
GET/api/v1/acl-lists
Responses
- 200 OK
Body
Field Type itemsarray of StoreACLList keysarray of ACLKey - 401 Unauthorized: no session, or an invalid or expired token
- 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
- 500 Internal Server Error: internal
Create a privilege list
POST/api/v1/acl-lists
Request body
| Field | Type |
|---|---|
keys | array of string |
name | string |
Responses
- 200 OK
- 400 Bad Request: validation
- 401 Unauthorized: no session, or an invalid or expired token
- 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
- 404 Not Found: not-found
- 409 Conflict: validation
- 500 Internal Server Error: internal
Delete a privilege list
DELETE/api/v1/acl-lists/{lid}
Parameters
| Name | In |
|---|---|
lid | path |
Responses
- 204 Done, no content
- 401 Unauthorized: no session, or an invalid or expired token
- 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
- 404 Not Found: not-found
- 409 Conflict: in-use
- 500 Internal Server Error: internal
Update a privilege list
PUT/api/v1/acl-lists/{lid}
Parameters
| Name | In |
|---|---|
lid | path |
Request body
| Field | Type |
|---|---|
keys | array of string |
name | string |
Responses
- 200 OK
- 400 Bad Request: validation
- 401 Unauthorized: no session, or an invalid or expired token
- 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
- 404 Not Found: not-found
- 409 Conflict: validation
- 500 Internal Server Error: internal
Your reseller overview
GET/api/v1/reseller
Is the signed-in reseller's overview: limits, usage, nameservers and privileges.
Responses
- 200 OK
Body
Field Type aclarray of string effective_nameserversarray of string privilegesarray of ACLKey resellerStoreReseller - 401 Unauthorized: no session, or an invalid or expired token
- 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
- 404 Not Found: not-reseller
- 500 Internal Server Error: internal
Reset your reseller branding
DELETE/api/v1/reseller/branding
Responses
- 200 OK
- 401 Unauthorized: no session, or an invalid or expired token
- 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
- 500 Internal Server Error: internal
Get your reseller branding
GET/api/v1/reseller/branding
Responses
- 200 OK
Body
Field Type colorsBrandingColors customboolean defaultsalwaysobject Field Type colorsalwaysBrandingColors product_namealwaysstring faviconalwaysstring favicon_urlstring linksarray of BrandingLink logo_dark_svgstring logo_svgstring product_namestring public_contactBrandingContact scopealwaysstring updated_atinteger - 401 Unauthorized: no session, or an invalid or expired token
- 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
- 500 Internal Server Error: internal
Save your reseller branding
PUT/api/v1/reseller/branding
Request body
| Field | Type |
|---|---|
colors | BrandingColors |
favicon | string |
links | array of BrandingLink |
logo_dark_svg | string |
logo_svg | string |
product_name | string |
public_contact | BrandingContact |
Responses
- 200 OK
- 400 Bad Request: validation
- 401 Unauthorized: no session, or an invalid or expired token
- 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
- 500 Internal Server Error: internal
List resellers
GET/api/v1/resellers
Responses
- 200 OK
Body
Field Type itemsarray of StoreReseller - 401 Unauthorized: no session, or an invalid or expired token
- 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
- 500 Internal Server Error: internal
Make an account a reseller
POST/api/v1/resellers
Grants reseller status to an existing account ("Make an account a reseller").
Request body
| Field | Type |
|---|---|
account_id | string |
acl_list_id | string |
username | string |
Responses
- 201 Created
Body
Field Type account_statusalwaysstring acl_list_idalwaysstring acl_list_namealwaysstring bw_limit_mbinteger contact_emailalwaysstring created_atalwaysinteger disk_limit_mbinteger idalwaysstring main_domainalwaysstring max_accountsinteger nameserversalwaysarray of string oversell_bwalwaysboolean oversell_diskalwaysboolean owns_itselfalwaysboolean panel_hostnamealwaysstring suspend_reasonstring suspended_atinteger usagealwaysStoreResellerUsage usernamealwaysstring - 400 Bad Request: validation
- 401 Unauthorized: no session, or an invalid or expired token
- 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
- 409 Conflict: already-reseller, not-ready, validation
- 500 Internal Server Error: internal
Remove reseller status
DELETE/api/v1/resellers/{id}
Takes reseller status away; the account keeps its hosting, its accounts and packages pass to root.
Parameters
| Name | In |
|---|---|
id | path |
Responses
- 200 OK
Body
Field Type accounts_movedinteger - 401 Unauthorized: no session, or an invalid or expired token
- 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
- 404 Not Found: not-found
- 500 Internal Server Error: internal
Get a reseller
GET/api/v1/resellers/{id}
Parameters
| Name | In |
|---|---|
id | path |
Responses
- 200 OK
Body
Field Type account_statusalwaysstring acl_list_idalwaysstring acl_list_namealwaysstring bw_limit_mbinteger contact_emailalwaysstring created_atalwaysinteger disk_limit_mbinteger idalwaysstring main_domainalwaysstring max_accountsinteger nameserversalwaysarray of string oversell_bwalwaysboolean oversell_diskalwaysboolean owns_itselfalwaysboolean panel_hostnamealwaysstring suspend_reasonstring suspended_atinteger usagealwaysStoreResellerUsage usernamealwaysstring - 401 Unauthorized: no session, or an invalid or expired token
- 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
- 404 Not Found: not-found
- 500 Internal Server Error: internal
Update a reseller's limits and privileges
PUT/api/v1/resellers/{id}
Parameters
| Name | In |
|---|---|
id | path |
Request body
| Field | Type |
|---|---|
acl_list_id | string |
bw_limit_mb | integer |
disk_limit_mb | integer |
max_accounts | integer |
nameservers | array of string |
oversell_bw | boolean |
oversell_disk | boolean |
owns_itself | boolean |
panel_hostname | string |
Responses
- 200 OK
Body
Field Type account_statusalwaysstring acl_list_idalwaysstring acl_list_namealwaysstring bw_limit_mbinteger contact_emailalwaysstring created_atalwaysinteger disk_limit_mbinteger idalwaysstring main_domainalwaysstring max_accountsinteger nameserversalwaysarray of string oversell_bwalwaysboolean oversell_diskalwaysboolean owns_itselfalwaysboolean panel_hostnamealwaysstring suspend_reasonstring suspended_atinteger usagealwaysStoreResellerUsage usernamealwaysstring - 400 Bad Request: validation
- 401 Unauthorized: no session, or an invalid or expired token
- 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
- 404 Not Found: not-found
- 409 Conflict: validation
- 500 Internal Server Error: internal
List a reseller's accounts
GET/api/v1/resellers/{id}/accounts
Parameters
| Name | In |
|---|---|
id | path |
Responses
- 200 OK
Body
Field Type itemsarray of StoreAccount - 401 Unauthorized: no session, or an invalid or expired token
- 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
- 404 Not Found: not-found
- 500 Internal Server Error: internal
Reset a reseller's branding
DELETE/api/v1/resellers/{id}/branding
Parameters
| Name | In |
|---|---|
id | path |
Responses
- 200 OK
- 401 Unauthorized: no session, or an invalid or expired token
- 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
- 500 Internal Server Error: internal
Get a reseller's branding
GET/api/v1/resellers/{id}/branding
Parameters
| Name | In |
|---|---|
id | path |
Responses
- 200 OK
Body
Field Type colorsBrandingColors customboolean defaultsalwaysobject Field Type colorsalwaysBrandingColors product_namealwaysstring faviconalwaysstring favicon_urlstring linksarray of BrandingLink logo_dark_svgstring logo_svgstring product_namestring public_contactBrandingContact scopealwaysstring updated_atinteger - 401 Unauthorized: no session, or an invalid or expired token
- 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
- 500 Internal Server Error: internal
Save a reseller's branding
PUT/api/v1/resellers/{id}/branding
Parameters
| Name | In |
|---|---|
id | path |
Request body
| Field | Type |
|---|---|
colors | BrandingColors |
favicon | string |
links | array of BrandingLink |
logo_dark_svg | string |
logo_svg | string |
product_name | string |
public_contact | BrandingContact |
Responses
- 200 OK
- 400 Bad Request: validation
- 401 Unauthorized: no session, or an invalid or expired token
- 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
- 500 Internal Server Error: internal
See Ky Admin as a reseller
POST/api/v1/resellers/{id}/login-as
Makes root's session show Ky Admin as the reseller sees it, until /auth/act-as/exit.
Parameters
| Name | In |
|---|---|
id | path |
Responses
- 200 OK
Body
Field Type redirectstring - 401 Unauthorized: no session, or an invalid or expired token
- 403 Forbidden: session-only
- 404 Not Found: not-found
- 500 Internal Server Error: internal
Suspend a reseller and its accounts
POST/api/v1/resellers/{id}/suspend
Parameters
| Name | In |
|---|---|
id | path |
Request body
| Field | Type |
|---|---|
reason | string |
Responses
- 200 OK
Body
Field Type accounts_suspendedinteger - 400 Bad Request: validation
- 401 Unauthorized: no session, or an invalid or expired token
- 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
- 404 Not Found: not-found
- 409 Conflict: already-suspended
- 500 Internal Server Error: internal
Terminate a reseller and its accounts
POST/api/v1/resellers/{id}/terminate
Removes the reseller's accounts, its packages and the reseller's own account.
Parameters
| Name | In |
|---|---|
id | path |
confirm | query |
keep_home | query |
Responses
- 202 Accepted (runs in the background)
Body
Field Type job_idsarray of string - 400 Bad Request: confirmation-required
- 401 Unauthorized: no session, or an invalid or expired token
- 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
- 404 Not Found: not-found
- 500 Internal Server Error: internal
Unsuspend a reseller and its accounts
POST/api/v1/resellers/{id}/unsuspend
Parameters
| Name | In |
|---|---|
id | path |
Responses
- 200 OK
Body
Field Type accounts_unsuspendedinteger - 401 Unauthorized: no session, or an invalid or expired token
- 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
- 404 Not Found: not-found
- 500 Internal Server Error: internal