IP pools
IP pools and the IPs inside them, maintained by admins. A pool belongs to a region and its name is unique platform-wide.
ip-poolsIP product lineAuthentication: Admin only12 endpointsList IP pools
GET
/api/v2/ip-poolsAuthentication: 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` |
| region_id | integer | — | Filter by region. |
Create IP pool
POST
/api/v2/ip-poolsAuthentication: Admin only
Request body application/json
| Field | Type | Required | Description |
|---|---|---|---|
| des | string | — | Description |
| name | string | Required | Name |
| region_id | integer | Required | Region ID |
IP pool candidate node IPs
GET
/api/v2/ip-pools/candidatesAuthentication: Admin only
Query parameters
| Field | Type | Required | Description |
|---|---|---|---|
| region_id | integer | Required | Region ID. |
Get IP pool
GET
/api/v2/ip-pools/{id}Authentication: Admin only
Update IP pool
PUT
/api/v2/ip-pools/{id}Authentication: Admin only
Request body application/json
| Field | Type | Required | Description |
|---|---|---|---|
| des | string | — | Description |
| name | string | Required | Name |
| region_id | integer | Required | Region ID |
Delete IP pool
DELETE
/api/v2/ip-pools/{id}Authentication: Admin only
IP pool referencing sites
GET
/api/v2/ip-pools/{id}/refsAuthentication: Admin only
Query parameters
| Field | Type | Required | Description |
|---|---|---|---|
| ip_id | integer | — | Show only this pool IP. |
| limit | integer | — | Maximum number of sites listed per IP. |
List IPs in pool
GET
/api/v2/ip-pools/{pool_id}/ipsAuthentication: 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` |
Add IP to pool
POST
/api/v2/ip-pools/{pool_id}/ipsAuthentication: Admin only
Request body application/json
| Field | Type | Required | Description |
|---|---|---|---|
| bind_addr | string | — | The local address the node actually listens on (NAT setups); null means use ip. |
| node_id | integer | Required | Node ID |
Update pool IP
PUT
/api/v2/ip-pools/{pool_id}/ips/{id}Authentication: Admin only
Request body application/json
| Field | Type | Required | Description |
|---|---|---|---|
| bind_addr | string | — | The local address the node actually listens on (NAT setups); null means use ip. |
| enabled | boolean | — | Whether enabled |
Remove IP from pool
DELETE
/api/v2/ip-pools/{pool_id}/ips/{id}Authentication: Admin only
Issue platform certificate for pool IP
POST
/api/v2/ip-pools/{pool_id}/ips/{id}/issue-certAuthentication: Admin only
Request body application/json
| Field | Type | Required | Description |
|---|---|---|---|
| confirm | boolean | — | Confirm re-issuing when a valid certificate already exists. |
IP pools object
| Field | Type | Required | Description |
|---|---|---|---|
| bind_addr | string | — | The local address the node actually listens on (NAT setups); null means use ip. |
| cert | IpCertState | — | Platform IP certificate status. |
| confirm | boolean | — | Confirm re-issuing when a valid certificate already exists. |
| created_at | string | — | Created at |
| des | string | — | Description |
| enabled | boolean | — | Whether enabled |
| hints | string[] | — | Hints (e.g. the node reported no NIC addresses, so the pool entry was not verified). |
| id | integer | — | Record ID |
| ip | string | — | IP address. |
| ip_count | integer | — | Number of IPs in the pool. |
| ips | object[] | — | Pool IPs that have references, with their referencing sites. |
| items | IpCandidate[] | — | Items on this page |
| name | string | — | Name |
| node_id | integer | — | Node ID |
| node_name | string | — | Name of the node that owns the IP. |
| node_state | IpNodeState | — | State of the owning primary node: disabled if the node is disabled; otherwise online if a heartbeat arrived in the last 2 minutes, else offline. |
| pool_id | integer | — | ID of the IP pool it belongs to. |
| region_id | integer | — | Region ID |
| region_name | string | — | Region name. |
| site_count | integer | — | Number of IP sites referencing IPs in the pool (deduplicated by site). |
| updated_at | string | — | Updated at |