IP sites
Sites served on IPs with custom ports; the IPs must first be selected in the user package.
ip-sitesIP product lineAuthentication: User (some parameters admin only)7 endpointsList IP sites
GET
/api/v2/ip-sitesAuthentication: User (some parameters admin only)
Query parameters
| Field | Type | Required | Description |
|---|---|---|---|
| page | integer | — | Page number, starting from 1 |
| page_size | integer | — | Items per page |
| sort | string | — | Sort fields, comma-separated; prefix `-` for descending, e.g. `-created_at,id` |
| tenant_id | integer | — | Admin only: filter by tenant. Ignored for tenant credentials, which only see their own tenant's data |
| upid | integer | — | Filter by user package. |
Create IP site
POST
/api/v2/ip-sitesAuthentication: User (some parameters admin only)
Query parameters
| Field | Type | Required | Description |
|---|---|---|---|
| tenant_id | integer | — | Admin only: filter by tenant. Ignored for tenant credentials, which only see their own tenant's data |
Request body application/json
| Field | Type | Required | Description |
|---|---|---|---|
| config | object | — | Node configuration fields (same as the site config; kind is always ip, and listen_addrs is derived from the bindings at publish time). |
| enabled | boolean | — | Whether enabled |
| ip_ids | integer[] | — | IDs of the bound pool IPs, in order. |
| name | string | — | Name |
| origins | IpSiteOrigin[] | — | Origin servers. |
| stop_code | integer | — | 0 = normal; non-zero = every request returns this status code (set by admins or billing). |
| upid | integer | — | User package ID. |
IP site available IPs
GET
/api/v2/ip-sites/available-ipsAuthentication: User (some parameters admin only)
Query parameters
| Field | Type | Required | Description |
|---|---|---|---|
| upid | integer | Required | User package ID. |
| scope | string | — | pool = the whole pool; mine = only the IPs already selected. |
| tenant_id | integer | — | Admin only: filter by tenant. Ignored for tenant credentials, which only see their own tenant's data |
IP site port pre-check
POST
/api/v2/ip-sites/port-checkAuthentication: User (some parameters admin only)
Query parameters
| Field | Type | Required | Description |
|---|---|---|---|
| tenant_id | integer | — | Admin only: filter by tenant. Ignored for tenant credentials, which only see their own tenant's data |
Request body application/json
| Field | Type | Required | Description |
|---|---|---|---|
| http_ports | integer[] | — | HTTP ports to check; ports outside 1-65535 are not rejected but reported as range. |
| https_ports | integer[] | — | HTTPS ports to check; ports outside 1-65535 are not rejected but reported as range. |
| ip_ids | integer[] | Required | IDs of the bound pool IPs, in order. |
| site_id | integer | — | Pass when editing a site: ports held by this site itself are not counted as occupied. |
| upid | integer | Required | User package ID. |
Get IP site
GET
/api/v2/ip-sites/{id}Authentication: User (some parameters admin only)
Update IP site
PUT
/api/v2/ip-sites/{id}Authentication: User (some parameters admin only)
Request body application/json
| Field | Type | Required | Description |
|---|---|---|---|
| config | object | — | Node configuration fields (same as the site config; kind is always ip, and listen_addrs is derived from the bindings at publish time). |
| enabled | boolean | — | Whether enabled |
| ip_ids | integer[] | — | IDs of the bound pool IPs, in order. |
| name | string | — | Name |
| origins | IpSiteOrigin[] | — | Origin servers. |
| stop_code | integer | — | 0 = normal; non-zero = every request returns this status code (set by admins or billing). |
| upid | integer | — | User package ID. |
Delete IP site
DELETE
/api/v2/ip-sites/{id}Authentication: User (some parameters admin only)
IP sites object
| Field | Type | Required | Description |
|---|---|---|---|
| access_addrs | string[] | — | Access address in ip:port form. |
| config | object | — | Node configuration fields (same as the site config; kind is always ip, and listen_addrs is derived from the bindings at publish time). |
| created_at | string | — | Created at |
| enabled | boolean | — | Whether enabled |
| hints | string[] | — | Hints (e.g. the node reported no listening ports, so that check was skipped). |
| http_ports | integer[] | — | HTTP ports to check; ports outside 1-65535 are not rejected but reported as range. |
| https_ports | integer[] | — | HTTPS ports to check; ports outside 1-65535 are not rejected but reported as range. |
| id | integer | — | Record ID |
| ip_ids | integer[] | — | IDs of the bound pool IPs, in order. |
| ips | IpSiteIp[] | — | Details of the bound pool IPs. |
| items | AvailableIp[] | — | Items on this page |
| name | string | — | Name |
| origins | IpSiteOrigin[] | — | Origin servers. |
| ports | object[] | — | Per-port check results. |
| site_id | integer | — | Pass when editing a site: ports held by this site itself are not counted as occupied. |
| stop_code | integer | — | 0 = normal; non-zero = every request returns this status code (set by admins or billing). |
| tenant_id | integer | — | Owner tenant (user) ID |
| updated_at | string | — | Updated at |
| upid | integer | — | User package ID. |