Disclaimer: Use of this API is entirely at the user's own responsibility. API usage is not covered by support.
Passwords, API keys, access keys, secret keys, tokens, and fencing credentials must use an application/json request body. Secret values in URLs are rejected.
Examples validate HTTPS certificates. For a private CA, add --cacert /path/to/ca.pem.
This manual includes cluster-aware ZFS ownership and takeover controls, FC access coordination, RDMA recovery, and BMC fencing.
Before forcing a ZFS import or changing FC access, verify that no peer owns the pool and that initiators are disconnected where required.
API
GET /api/docs
Get /api/docs.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/docs'
Responses
| Status | Meaning |
|---|
| 200 | Swagger UI |
| 404 | Documentation disabled |
GET /api/docs/openapi-json
Get /api/docs/openapi-json.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/docs/openapi-json'
Responses
| Status | Meaning |
|---|
| 200 | Swagger UI static asset |
GET /api/docs/swagger-ui-bundle.js
Get /api/docs/swagger-ui-bundle.js.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/docs/swagger-ui-bundle.js'
Responses
| Status | Meaning |
|---|
| 200 | Swagger UI static asset |
GET /api/docs/swagger-ui-standalone-preset.js
Get /api/docs/swagger-ui-standalone-preset.js.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/docs/swagger-ui-standalone-preset.js'
Responses
| Status | Meaning |
|---|
| 200 | Swagger UI static asset |
GET /api/docs/swagger-ui.css
Get /api/docs/swagger-ui.css.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/docs/swagger-ui.css'
Responses
| Status | Meaning |
|---|
| 200 | Swagger UI static asset |
GET /api/openapi.json
Get /api/openapi.json.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/openapi.json'
Responses
| Status | Meaning |
|---|
| 200 | OpenAPI 3.1 document |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/openapi.yaml
Get /api/openapi.yaml.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/openapi.yaml'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
DELETE /api/v1/groups
Delete /api/v1/groups.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
group_name | query | yes | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X DELETE \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/groups?group_name=example-group'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/groups
Get /api/v1/groups.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/v1/groups'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
PATCH /api/v1/groups
Patch /api/v1/groups.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
gid | query | no | string | Request parameter. |
group_name | query | yes | string | Request parameter. |
new_group_name | query | no | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X PATCH \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/groups?group_name=example-group'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/groups
Post /api/v1/groups.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
gid | query | no | string | Request parameter. |
group_name | query | yes | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/groups?group_name=example-group'
Responses
| Status | Meaning |
|---|
| 201 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
DELETE /api/v1/jobs
Delete /api/v1/jobs.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
job_id | query | yes | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X DELETE \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/jobs?job_id=<job_id>'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/jobs
read the state and captured output of a long-running API operation.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
job_id | query | no | string | Request parameter. |
limit | query | no | string | Request parameter. |
status | query | no | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/v1/jobs'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
DELETE /api/v1/mounts
unmount and remove a remote SMB share definition.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
mount_folder | query | no | string | Request parameter. |
server_name | query | no | string | Request parameter. |
share_name | query | no | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X DELETE \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/mounts'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/mounts
mount a remote SMB share.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
domain_name | query | no | string | Request parameter. |
ip_address | query | yes | string (ipv4) | Request parameter. |
mount_folder | query | yes | string | Request parameter. |
share_name | query | yes | string | Request parameter. |
user_name | query | no | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
password | JSON body | no | string | Request parameter. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
-H 'Content-Type: application/json' \
--data '{"password":"REPLACE_WITH_PASSWORD"}' \
'https://<server>:18443/api/v1/mounts?ip_address=192.0.2.10&mount_folder=<mount_folder>&share_name=example-share'
Responses
| Status | Meaning |
|---|
| 201 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/mounts/cloud
mount a cloud bucket through the configured rclone profile.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
bucket | query | yes | string | Request parameter. |
config_path | query | yes | string | Request parameter. |
mount_folder | query | yes | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/mounts/cloud?bucket=<bucket>&config_path=<config_path>&mount_folder=<mount_folder>'
Responses
| Status | Meaning |
|---|
| 201 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/multi-cluster/license
show the local cluster license and version information.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/v1/multi-cluster/license'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/multi-cluster/shared-iscsi-disk
create a shared iSCSI-backed cluster disk resource.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
chap_user | query | no | string | Request parameter. |
portal_ip | query | yes | string (ipv4) | Request parameter. |
resource_name | query | yes | string | Request parameter. |
target_name | query | yes | string | FC target or backing-volume name, as required by the operation. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
password | JSON body | no | string | Request parameter. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
-H 'Content-Type: application/json' \
--data '{"password":"REPLACE_WITH_PASSWORD"}' \
'https://<server>:18443/api/v1/multi-cluster/shared-iscsi-disk?portal_ip=<portal_ip>&resource_name=<resource_name>&target_name=example-target'
Responses
| Status | Meaning |
|---|
| 201 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/multi-cluster/status
show cluster node and cluster-service status.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
extended | query | no | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/v1/multi-cluster/status'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/notifications
Get /api/v1/notifications.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
view | query | no | string | Optional alternate representation, such as discovered BMC data. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/v1/notifications'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/notifications
Post /api/v1/notifications.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/notifications'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
PUT /api/v1/notifications
Put /api/v1/notifications.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X PUT \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/notifications'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/product/capabilities
Get /api/v1/product/capabilities.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/v1/product/capabilities'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/rdma/devices
list RDMA devices, ports, modes, and detected IP information.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/v1/rdma/devices'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
DELETE /api/v1/rdma/nfs
disable the persistent NFS over RDMA configuration.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X DELETE \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/rdma/nfs'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/rdma/nfs
report NFS over RDMA configuration, interface, port, and listener state.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/v1/rdma/nfs'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/rdma/nfs
enable persistent NFS over RDMA support.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
port | query | no | integer; minimum 0 | TCP port; NFS over RDMA defaults to 20049. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/rdma/nfs'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/rdma/recovery
report RDMA failover recovery service state and its latest recovery activity.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/v1/rdma/recovery'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/rdma/recovery
install or repair and start the persistent RDMA failover recovery service.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/rdma/recovery'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/rdma/reset-port
reset InfiniBand ports through the RDMA management backend.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
ip_address | query | no | string (ipv4) | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/rdma/reset-port'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/rdma/software-roce
enable or disable software RoCE on one network port.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
mode | query | yes | string | Requested operating or access mode; accepted values depend on the endpoint. |
network_port | query | yes | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/rdma/software-roce?mode=<mode>&network_port=<network_port>'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/rdma/software-roce/enable-all
enable all persistently configured software RoCE devices.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/rdma/software-roce/enable-all'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/s3/buckets
List buckets from the selected S3 service instance using its current credentials.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
instance | query | no | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/v1/s3/buckets'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/s3/console
return S3 console settings.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/v1/s3/console'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/s3/console
update the S3 console runtime.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
action | query | no | string | Operation-specific action selector. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/s3/console'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/s3/credentials/rotate
Rotate the administrative access key and secret key for an S3 service instance. The previous credentials stop working immediately, and the response contains the replacement credentials.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
name | query | yes | string | Human-readable display name. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/s3/credentials/rotate?name=<name>'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/s3/runtime
control an S3 service runtime.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
action | query | no | string | Operation-specific action selector. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/s3/runtime'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/s3/services
list configured S3 services.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/v1/s3/services'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/s3/services
create an S3 service.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
scope | query | no | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/s3/services'
Responses
| Status | Meaning |
|---|
| 201 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/s3/status
return S3 health and runtime status.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/v1/s3/status'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
DELETE /api/v1/s3/storage
remove S3 storage.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
scope | query | no | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X DELETE \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/s3/storage'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/s3/storage
create S3 storage.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
scope | query | no | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/s3/storage'
Responses
| Status | Meaning |
|---|
| 201 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
PUT /api/v1/s3/storage
import existing S3 storage.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
action | query | no | string | Operation-specific action selector. |
scope | query | no | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X PUT \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/s3/storage'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/ssh-trust
Post /api/v1/ssh-trust.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/ssh-trust'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/storage/md
Get /api/v1/storage/md.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/v1/storage/md'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/storage/md
Post /api/v1/storage/md.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/storage/md'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
DELETE /api/v1/sync/jobs
Delete /api/v1/sync/jobs.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
job_name | query | no | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X DELETE \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/sync/jobs'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/sync/jobs
Get /api/v1/sync/jobs.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
job_name | query | no | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/v1/sync/jobs'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/sync/jobs
Post /api/v1/sync/jobs.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
job_name | query | no | string | Request parameter. |
snapshot_replication | query | no | string | Request parameter. |
source_share | query | no | string | Request parameter. |
target_server | query | no | string | Request parameter. |
target_share | query | no | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/sync/jobs'
Responses
| Status | Meaning |
|---|
| 201 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/system/api-configuration
Get /api/v1/system/api-configuration.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/v1/system/api-configuration'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
PUT /api/v1/system/api-configuration
Put /api/v1/system/api-configuration.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X PUT \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/system/api-configuration'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/system/settings
Post /api/v1/system/settings.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/system/settings'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/ups
query the configured UPS and return its current status values.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/v1/ups'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/ups/snmp-devices
scan and configure an SNMP UPS.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
ip_address | query | yes | string (ipv4) | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/ups/snmp-devices?ip_address=192.0.2.10'
Responses
| Status | Meaning |
|---|
| 201 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/ups/usb-devices
scan for a USB UPS and write a new NUT configuration.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/ups/usb-devices'
Responses
| Status | Meaning |
|---|
| 201 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/volumes
list available volumes.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/v1/volumes'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/volumes
create a mirror volume through the disk-management CLI.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
disk_path | query | yes | string | Request parameter. |
drive_name | query | yes | string | Request parameter. |
purpose | query | yes | string | Storage purpose. Use S3 when creating an eEKAS object-storage drive. |
size | query | yes | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/volumes?disk_path=<disk_path>&drive_name=<drive_name>&purpose=<purpose>&size=<size>'
Responses
| Status | Meaning |
|---|
| 201 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/observability/health
Get /api/v1/observability/health
| Parameter |
Location |
Required |
Type |
Description |
X-Correlation-ID |
header |
no |
string |
Optional caller correlation ID; generated when omitted. |
| Status |
Meaning |
| 200 |
Successful response |
| 400 |
Invalid request |
| 401 |
Invalid or missing API key |
| 403 |
API role is not permitted |
| 405 |
Method not allowed |
| 409 |
Resource state conflict |
| 422 |
Request could not be processed |
| 429 |
Rate limit exceeded |
| 500 |
Backend operation failed |
Response field types and nested request objects are defined in openapi.json / openapi.yaml. A 202 response accepts a job; poll status_url to verify completion.
GET /api/v1/observability/hosts
Get /api/v1/observability/hosts
| Parameter |
Location |
Required |
Type |
Description |
node |
query |
no |
string |
Backend parameter node. |
range |
query |
no |
string |
Backend parameter range. |
step |
query |
no |
string |
Backend parameter step. |
X-Correlation-ID |
header |
no |
string |
Optional caller correlation ID; generated when omitted. |
| Status |
Meaning |
| 200 |
Successful response |
| 400 |
Invalid request |
| 401 |
Invalid or missing API key |
| 403 |
API role is not permitted |
| 405 |
Method not allowed |
| 409 |
Resource state conflict |
| 422 |
Request could not be processed |
| 429 |
Rate limit exceeded |
| 500 |
Backend operation failed |
Response field types and nested request objects are defined in openapi.json / openapi.yaml. A 202 response accepts a job; poll status_url to verify completion.
GET /api/v1/observability/storage
Get /api/v1/observability/storage
| Parameter |
Location |
Required |
Type |
Description |
backend |
query |
no |
string |
Backend parameter backend. |
range |
query |
no |
string |
Backend parameter range. |
step |
query |
no |
string |
Backend parameter step. |
X-Correlation-ID |
header |
no |
string |
Optional caller correlation ID; generated when omitted. |
osd |
query |
no |
integer |
Backend parameter osd |
pool_id |
query |
no |
integer |
Backend parameter pool_id |
| Status |
Meaning |
| 200 |
Successful response |
| 400 |
Invalid request |
| 401 |
Invalid or missing API key |
| 403 |
API role is not permitted |
| 405 |
Method not allowed |
| 409 |
Resource state conflict |
| 422 |
Request could not be processed |
| 429 |
Rate limit exceeded |
| 500 |
Backend operation failed |
Response field types and nested request objects are defined in openapi.json / openapi.yaml. A 202 response accepts a job; poll status_url to verify completion.
Cluster
POST /api/v1/ceph/cluster
bootstrap Ceph on the configured eEKAS cluster and deploy monitor/manager roles to registered nodes.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/ceph/cluster'
Responses
| Status | Meaning |
|---|
| 201 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
DELETE /api/v1/cluster-drives
delete a cluster drive.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
drive_name | query | yes | string | Request parameter. |
type | query | yes | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X DELETE \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/cluster-drives?drive_name=<drive_name>&type=<type>'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/cluster-drives/available/all
show available backing devices across all cluster nodes.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/v1/cluster-drives/available/all'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/cluster-drives/available/local
show locally available cluster drive backing devices.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
drive_name | query | no | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/v1/cluster-drives/available/local'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/cluster-drives/check-shared
identify physically shared drives across cluster nodes.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/v1/cluster-drives/check-shared'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/cluster-drives/fc-targets
list FC cluster targets.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/v1/cluster-drives/fc-targets'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/cluster-drives/fc-volumes
list FC cluster volumes.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/v1/cluster-drives/fc-volumes'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/cluster-drives/import-volume
import an existing NAS volume into cluster management.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
ip_address | query | yes | string (ipv4) | Request parameter. |
node | query | no | string | Cluster node name. |
protocol | query | no | string; values: http, https, NFS, CIFS, iscsi, nvme | Request parameter. |
volume_path | query | yes | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/cluster-drives/import-volume?ip_address=192.0.2.10&volume_path=<volume_path>'
Responses
| Status | Meaning |
|---|
| 201 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/cluster-drives/ip-address
change the access IP address for a cluster drive.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
current_ip_address | query | yes | string (ipv4) | Request parameter. |
drive_name | query | yes | string | Request parameter. |
new_ip_address | query | yes | string (ipv4) | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/cluster-drives/ip-address?current_ip_address=<current_ip_address>&drive_name=<drive_name>&new_ip_address=<new_ip_address>'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/cluster-drives/mirror
list configured mirror cluster drives.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/v1/cluster-drives/mirror'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/cluster-drives/mirror
create a mirror cluster drive.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
disk_path1 | query | yes | string | Request parameter. |
disk_path2 | query | no | string | Request parameter. |
drive_name | query | yes | string | Request parameter. |
ip_address | query | yes | string (ipv4) | Request parameter. |
node_name1 | query | yes | string | Request parameter. |
node_name2 | query | no | string | Request parameter. |
purpose | query | yes | string | Storage purpose. Use S3 when creating an eEKAS object-storage drive. |
size | query | yes | string | Request parameter. |
this_node_only | query | no | boolean | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/cluster-drives/mirror?disk_path1=<disk_path1>&drive_name=<drive_name>&ip_address=192.0.2.10&node_name1=<node_name1>&purpose=<purpose>&size=<size>'
Responses
| Status | Meaning |
|---|
| 201 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/cluster-drives/mirror/resize
resize a mirror cluster drive.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
mirror_drive | query | yes | string | Request parameter. |
new_size | query | yes | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/cluster-drives/mirror/resize?mirror_drive=<mirror_drive>&new_size=<new_size>'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/cluster-drives/optimize-bandwidth
tune the mirror replication bandwidth profile.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
bandwidth | query | yes | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/cluster-drives/optimize-bandwidth?bandwidth=<bandwidth>'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/cluster-drives/preferred-node
change the preferred node for a cluster drive.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
drive_name | query | yes | string | Request parameter. |
new_node | query | yes | string | Request parameter. |
shared_data_storage | query | no | boolean | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/cluster-drives/preferred-node?drive_name=<drive_name>&new_node=<new_node>'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/cluster-drives/replication-protocol
change the mirror replication protocol.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
drive_name | query | yes | string | Request parameter. |
protocol | query | yes | string; values: A, C | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/cluster-drives/replication-protocol?drive_name=<drive_name>&protocol=A'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/cluster-drives/resource-candidates
list suitable cluster drives for resource creation, including capacity, eligibility, physical media and Ceph pool protection mode.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
MEDIA | query | yes | string | Request parameter. |
POOLMODE | query | yes | string | Request parameter. |
TOTALSIZEINGB | query | yes | string | Request parameter. |
iSCSI_Only | query | yes | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/v1/cluster-drives/resource-candidates?MEDIA=<MEDIA>&POOLMODE=<POOLMODE>&TOTALSIZEINGB=<TOTALSIZEINGB>&iSCSI_Only=<iSCSI_Only>'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/cluster-drives/shared-volumes
list shared cluster volumes.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/v1/cluster-drives/shared-volumes'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/cluster-drives/shared-volumes
create a shared cluster volume.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
disk_path | query | yes | string | Request parameter. |
drive_name | query | yes | string | Request parameter. |
ip_address | query | yes | string (ipv4) | Request parameter. |
preferred_node | query | no | string | Request parameter. |
purpose | query | yes | string | Storage purpose. Use S3 when creating an eEKAS object-storage drive. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/cluster-drives/shared-volumes?disk_path=<disk_path>&drive_name=<drive_name>&ip_address=192.0.2.10&purpose=<purpose>'
Responses
| Status | Meaning |
|---|
| 201 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/cluster-drives/system
create the system mirror drive.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/cluster-drives/system'
Responses
| Status | Meaning |
|---|
| 201 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/cluster/bootstrap
create or resume a three-node eEKAS HA cluster, then initialize node registration for Ceph.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
cluster_name | query | yes | string | Request parameter. |
node1_ip | query | yes | string (ipv4) | Request parameter. |
node1_replication | query | yes | string | Request parameter. |
node2_ip | query | yes | string (ipv4) | Request parameter. |
node2_replication | query | yes | string | Request parameter. |
node3_ip | query | yes | string (ipv4) | Request parameter. |
node3_replication | query | yes | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | yes | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
password | JSON body | yes | string | Request parameter. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
-H 'Content-Type: application/json' \
--data '{"password":"REPLACE_WITH_PASSWORD"}' \
'https://<server>:18443/api/v1/cluster/bootstrap?cluster_name=<cluster_name>&node1_ip=<node1_ip>&node1_replication=<node1_replication>&node2_ip=<node2_ip>&node2_replication=<node2_replication>&node3_ip=<node3_ip>&node3_replication=<node3_replication>'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 428 | Idempotency-Key is required |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/cluster/check-system-files
verify and fix system file permissions/ownership.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/cluster/check-system-files'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/cluster/csync2-config
create or recreate the csync2 cluster file sync configuration.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
recreate | query | no | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/cluster/csync2-config'
Responses
| Status | Meaning |
|---|
| 201 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/cluster/fencing
Get /api/v1/cluster/fencing.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/v1/cluster/fencing'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/cluster/fencing
Post /api/v1/cluster/fencing.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/cluster/fencing'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/cluster/file-sync/switch
switch the cluster to cluster file sync mode.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/cluster/file-sync/switch'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/cluster/fix-system-disk
repair problematic system mirror state.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/cluster/fix-system-disk'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/cluster/heartbeat/global-ocfs2
create the global OCFS2 heartbeat infrastructure.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/cluster/heartbeat/global-ocfs2'
Responses
| Status | Meaning |
|---|
| 201 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/cluster/heartbeat/initialize-ram-device
initialize the heartbeat RAM device.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/cluster/heartbeat/initialize-ram-device'
Responses
| Status | Meaning |
|---|
| 201 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/cluster/import-drives
import non-configured cluster drives.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/cluster/import-drives'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/cluster/import-resources
import non-configured cluster resources.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/cluster/import-resources'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
DELETE /api/v1/cluster/ipmi-stonith
remove one managed BMC fencing resource and reconcile overall readiness.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
node | query | yes | string | Cluster node name. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X DELETE \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/cluster/ipmi-stonith?node=node1'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/cluster/ipmi-stonith
report BMC fencing coverage or discovered BMC addresses without changing cluster configuration.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
view | query | no | string | Optional alternate representation, such as discovered BMC data. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/v1/cluster/ipmi-stonith'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/cluster/ipmi-stonith
create, update, or adopt BMC fencing resources for HA cluster nodes.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
bmc_admin_user | query | no | string | Request parameter. |
create_stonith | query | no | string | Request parameter. |
enable_stonith | query | no | string | Request parameter. |
ipmi_channel | query | no | string | Request parameter. |
ipmi_channels | query | no | string | Request parameter. |
ipmi_ip | query | yes | string (ipv4) | Request parameter. |
ipmi_map | query | no | string | Request parameter. |
ipmi_user_id | query | no | string | Request parameter. |
node | query | no | string | Cluster node name. |
provision_bmc_user | query | no | string | Request parameter. |
stonith_user | query | no | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
bmc_admin_pass | JSON body | no | string | Request parameter. |
stonith_pass | JSON body | no | string | Request parameter. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
-H 'Content-Type: application/json' \
--data '{"bmc_admin_pass":"<bmc_admin_pass>","stonith_pass":"<stonith_pass>"}' \
'https://<server>:18443/api/v1/cluster/ipmi-stonith?ipmi_ip=<ipmi_ip>'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/cluster/join/add-node
add a new node to an existing cluster.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
heartbeat_ip | query | yes | string (ipv4) | Request parameter. |
node_ip | query | yes | string (ipv4) | Request parameter. |
replication_ip | query | yes | string (ipv4) | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | yes | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
password | JSON body | yes | string | Request parameter. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
-H 'Content-Type: application/json' \
--data '{"password":"REPLACE_WITH_PASSWORD"}' \
'https://<server>:18443/api/v1/cluster/join/add-node?heartbeat_ip=<heartbeat_ip>&node_ip=<node_ip>&replication_ip=<replication_ip>'
Responses
| Status | Meaning |
|---|
| 201 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 428 | Idempotency-Key is required |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/cluster/join/dual
join a node into a dual-node cluster.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
my_heartbeat | query | yes | string | Request parameter. |
my_replication | query | yes | string | Request parameter. |
remote_heartbeat | query | yes | string | Request parameter. |
remote_replication | query | yes | string | Request parameter. |
use_folder | query | no | boolean | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | yes | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
password | JSON body | yes | string | Request parameter. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
-H 'Content-Type: application/json' \
--data '{"password":"REPLACE_WITH_PASSWORD"}' \
'https://<server>:18443/api/v1/cluster/join/dual?my_heartbeat=<my_heartbeat>&my_replication=<my_replication>&remote_heartbeat=<remote_heartbeat>&remote_replication=<remote_replication>'
Responses
| Status | Meaning |
|---|
| 201 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 428 | Idempotency-Key is required |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/cluster/join/info
inspect a remote node and collect cluster join information.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
ip_address | query | yes | string (ipv4) | Request parameter. |
user_name | query | yes | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
password | JSON body | yes | string | Request parameter. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
-H 'Content-Type: application/json' \
--data '{"password":"REPLACE_WITH_PASSWORD"}' \
'https://<server>:18443/api/v1/cluster/join/info?ip_address=192.0.2.10&user_name=<user_name>'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/cluster/join/multi
join a node into a multi-node cluster.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
my_heartbeat | query | yes | string | Request parameter. |
my_replication | query | yes | string | Request parameter. |
remote_heartbeat | query | yes | string | Request parameter. |
remote_replication | query | yes | string | Request parameter. |
use_folder | query | no | boolean | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | yes | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
password | JSON body | yes | string | Request parameter. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
-H 'Content-Type: application/json' \
--data '{"password":"REPLACE_WITH_PASSWORD"}' \
'https://<server>:18443/api/v1/cluster/join/multi?my_heartbeat=<my_heartbeat>&my_replication=<my_replication>&remote_heartbeat=<remote_heartbeat>&remote_replication=<remote_replication>'
Responses
| Status | Meaning |
|---|
| 201 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 428 | Idempotency-Key is required |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/cluster/maintenance
Get /api/v1/cluster/maintenance.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/v1/cluster/maintenance'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/cluster/maintenance
Post /api/v1/cluster/maintenance.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
confirm | query | no | string | Request parameter. |
node | query | no | string | Cluster node name. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/cluster/maintenance'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/cluster/monitor
Get /api/v1/cluster/monitor.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/v1/cluster/monitor'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/cluster/name
change the cluster base name.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
newname | query | yes | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/cluster/name?newname=<newname>'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/cluster/non-configured-resources
scan for resources present on the nodes but missing in cluster configuration.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/v1/cluster/non-configured-resources'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/cluster/ping-ips
ping configured cluster IPs locally or across nodes.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
local_only | query | no | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/v1/cluster/ping-ips'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/cluster/push-system-files
push this node's system files to the other nodes.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/cluster/push-system-files'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/cluster/ra-monitor-timeouts
reconfigure resource-agent monitor intervals/timeouts.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/cluster/ra-monitor-timeouts'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
DELETE /api/v1/cluster/resources
delete a cluster resource.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
lun_number | query | no | integer; minimum 0 | Request parameter. |
resource_name | query | yes | string | Request parameter. |
resource_type | query | yes | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X DELETE \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/cluster/resources?resource_name=<resource_name>&resource_type=<resource_type>'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/cluster/resources
list cluster resources relevant to storage/share targets.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/v1/cluster/resources'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
DELETE /api/v1/cluster/resources/move
clear the temporary `cli-prefer`/`cli-ban` constraint created by a move without deleting permanent preferred-node constraints.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
resource_name | query | yes | string | Request parameter. |
wait_seconds | query | no | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X DELETE \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/cluster/resources/move?resource_name=<resource_name>'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/cluster/resources/move
return the resource's current node and whether a temporary Pacemaker move constraint is active.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
resource_name | query | yes | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/v1/cluster/resources/move?resource_name=<resource_name>'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/cluster/resources/move
move a Pacemaker resource to a configured cluster node and wait for placement to complete.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
node_name | query | yes | string | Request parameter. |
resource_name | query | yes | string | Request parameter. |
run_async | query | no | string | Request parameter. |
wait_seconds | query | no | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/cluster/resources/move?node_name=<node_name>&resource_name=<resource_name>'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/cluster/resources/rename
rename a cluster resource.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
current_name | query | yes | string | Request parameter. |
new_name | query | yes | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/cluster/resources/rename?current_name=<current_name>&new_name=<new_name>'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/cluster/resources/resize
resize a cluster resource.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
lun_number | query | no | integer; minimum 0 | Request parameter. |
new_size | query | yes | string | Request parameter. |
resource_name | query | yes | string | Request parameter. |
resource_type | query | yes | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/cluster/resources/resize?new_size=<new_size>&resource_name=<resource_name>&resource_type=<resource_type>'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/cluster/resources/upgrade
upgrade legacy cluster resource ordering/constraint syntax.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/cluster/resources/upgrade'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/cluster/status
return cluster and CEPH/node status information.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/v1/cluster/status'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/cluster/sync-system-files
synchronize system files from the newest node.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/cluster/sync-system-files'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/observability/clusters
Get /api/v1/observability/clusters
| Parameter |
Location |
Required |
Type |
Description |
range |
query |
no |
string |
Backend parameter range. |
step |
query |
no |
string |
Backend parameter step. |
X-Correlation-ID |
header |
no |
string |
Optional caller correlation ID; generated when omitted. |
| Status |
Meaning |
| 200 |
Successful response |
| 400 |
Invalid request |
| 401 |
Invalid or missing API key |
| 403 |
API role is not permitted |
| 405 |
Method not allowed |
| 409 |
Resource state conflict |
| 422 |
Request could not be processed |
| 429 |
Rate limit exceeded |
| 500 |
Backend operation failed |
Response field types and nested request objects are defined in openapi.json / openapi.yaml. A 202 response accepts a job; poll status_url to verify completion.
Fibre Channel
DELETE /api/v1/fc/access
delete an unused FC host or group definition.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
groups | query | yes | string | Comma-separated FC host-group identifiers. |
hosts | query | yes | string | Comma-separated FC host identifiers. |
id | query | yes | string | Stable host or group identifier. |
kind | query | yes | string | Registry type or result category requested by the operation. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X DELETE \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/fc/access?groups=<groups>&hosts=<hosts>&id=<id>&kind=<kind>'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/fc/access
list saved FC hosts or host groups, detected initiators, or the.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
kind | query | no | string | Registry type or result category requested by the operation. |
target | query | no | string | Cluster FC target resource identifier. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/v1/fc/access'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/fc/access
create or update hosts/groups, or apply unrestricted/restricted LUN access to a cluster FC target.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
action | query | yes | string | Operation-specific action selector. |
id | query | no | string | Stable host or group identifier. |
name | query | no | string | Human-readable display name. |
values | query | no | string | Comma-separated WWPN or membership values, depending on action. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/fc/access?action=<action>'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/fc/hbas
list detected Fibre Channel adapters, port identity, link state, active mode, serial information, and firmware.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/v1/fc/hbas'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/fc/interrupt-coalescing
apply the fixed FC interrupt coalescing settings used by the CLI.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/fc/interrupt-coalescing'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/fc/luns
list configured Fibre Channel LUN mappings.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/v1/fc/luns'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/fc/mode
report runtime and persistent FC mode on every cluster node.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/v1/fc/mode'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/fc/mode
persistently enable FC target mode across all cluster nodes.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
mode | query | yes | string | Requested operating or access mode; accepted values depend on the endpoint. |
target | query | yes | string | Cluster FC target resource identifier. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/fc/mode?mode=<mode>&target=<target>'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
DELETE /api/v1/fc/targets
remove an FC target through the GUI-compatible deletion workflow.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
target_name | query | yes | string | FC target or backing-volume name, as required by the operation. |
volume_group | query | yes | string | Backing ZFS pool or LVM volume group. |
volume_type | query | yes | string | Backing storage type: zfs or volume. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X DELETE \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/fc/targets?target_name=example-target&volume_group=<volume_group>&volume_type=<volume_type>'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/fc/targets
list current Fibre Channel targets, LUN numbers, backing pools,.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/v1/fc/targets'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/fc/targets
create a Fibre Channel target using the same validated workflow as the management GUI.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
ports | query | yes | string | Comma-separated FC port WWPNs that remain assigned to the target. |
size_gb | query | yes | string | Requested capacity in GiB. |
target_name | query | yes | string | FC target or backing-volume name, as required by the operation. |
volume_group | query | yes | string | Backing ZFS pool or LVM volume group. |
volume_type | query | yes | string | Backing storage type: zfs or volume. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/fc/targets?ports=<ports>&size_gb=<size_gb>&target_name=example-target&volume_group=<volume_group>&volume_type=<volume_type>'
Responses
| Status | Meaning |
|---|
| 201 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/fc/targets/expand
expand an existing FC target while retaining its current port assignments.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
current_size_gb | query | yes | string | Current target capacity in GiB. |
new_size_gb | query | yes | string | New target capacity in GiB; shrinking is rejected. |
ports | query | no | string | Comma-separated FC port WWPNs that remain assigned to the target. |
target_name | query | yes | string | FC target or backing-volume name, as required by the operation. |
volume_group | query | yes | string | Backing ZFS pool or LVM volume group. |
volume_type | query | no | string | Backing storage type: zfs or volume. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/fc/targets/expand?current_size_gb=<current_size_gb>&new_size_gb=<new_size_gb>&target_name=example-target&volume_group=<volume_group>'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
Snapshots
DELETE /api/v1/legacy-snapshots
delete a legacy snapshot.
Deprecated: retained for compatibility.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
share_name | query | yes | string | Request parameter. |
snapshot_name | query | yes | string | Request parameter. |
type | query | yes | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X DELETE \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/legacy-snapshots?share_name=example-share&snapshot_name=<snapshot_name>&type=<type>'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/legacy-snapshots
Get /api/v1/legacy-snapshots
Deprecated: retained for compatibility.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/v1/legacy-snapshots'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/legacy-snapshots
create a legacy snapshot for a share or logical volume.
Deprecated: retained for compatibility.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
share_name | query | yes | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/legacy-snapshots?share_name=example-share'
Responses
| Status | Meaning |
|---|
| 201 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/legacy-snapshots/clean-invalid
clean invalid legacy LVM snapshots.
Deprecated: retained for compatibility.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/legacy-snapshots/clean-invalid'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/legacy-snapshots/individual
list individual snapshots for one volume.
Deprecated: retained for compatibility.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
share_name | query | yes | string | Request parameter. |
type | query | yes | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/v1/legacy-snapshots/individual?share_name=example-share&type=<type>'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/legacy-snapshots/lvm
list LVM-based legacy snapshots.
Deprecated: retained for compatibility.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/v1/legacy-snapshots/lvm'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/legacy-snapshots/revert
revert a logical volume to a legacy snapshot.
Deprecated: retained for compatibility.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
share_name | query | yes | string | Request parameter. |
snapshot_name | query | yes | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/legacy-snapshots/revert?share_name=example-share&snapshot_name=<snapshot_name>'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/legacy-snapshots/subvolumes
list BTRFS subvolume snapshots.
Deprecated: retained for compatibility.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/v1/legacy-snapshots/subvolumes'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
DELETE /api/v1/snapshots
delete a specific snapshot.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
pool_name | query | yes | string | ZFS pool name. |
resource_name | query | yes | string | Request parameter. |
snapshot_name | query | yes | string | Request parameter. |
type | query | yes | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X DELETE \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/snapshots?pool_name=<pool_name>&resource_name=<resource_name>&snapshot_name=<snapshot_name>&type=<type>'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/snapshots
list snapshots with creation and expiration details.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/v1/snapshots'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/snapshots
create a snapshot.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
pool_name | query | yes | string | ZFS pool name. |
resource_name | query | yes | string | Request parameter. |
retention_days | query | yes | integer; minimum 0 | Request parameter. |
type | query | yes | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/snapshots?pool_name=<pool_name>&resource_name=<resource_name>&retention_days=1&type=<type>'
Responses
| Status | Meaning |
|---|
| 201 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/snapshots/clone
clone a snapshot.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
clone_name | query | yes | string | Request parameter. |
pool_name | query | yes | string | ZFS pool name. |
promote | query | yes | string | Request parameter. |
resource_name | query | yes | string | Request parameter. |
snapshot_name | query | yes | string | Request parameter. |
type | query | yes | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/snapshots/clone?clone_name=<clone_name>&pool_name=<pool_name>&promote=<promote>&resource_name=<resource_name>&snapshot_name=<snapshot_name>&type=<type>'
Responses
| Status | Meaning |
|---|
| 201 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
DELETE /api/v1/snapshots/expired
delete all expired snapshots.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X DELETE \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/snapshots/expired'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/snapshots/rollback
roll back a resource to a specific snapshot.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
pool_name | query | yes | string | ZFS pool name. |
resource_name | query | yes | string | Request parameter. |
snapshot_name | query | yes | string | Request parameter. |
type | query | yes | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/snapshots/rollback?pool_name=<pool_name>&resource_name=<resource_name>&snapshot_name=<snapshot_name>&type=<type>'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/snapshots/schedule
create a snapshot schedule.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
endHour | query | no | string | Request parameter. |
max_snapshots | query | yes | string | Request parameter. |
resources | query | yes | string | Request parameter. |
scheduleType | query | yes | string | Request parameter. |
startHour | query | yes | string | Request parameter. |
weekdays | query | no | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/snapshots/schedule?max_snapshots=<max_snapshots>&resources=<resources>&scheduleType=<scheduleType>&startHour=<startHour>'
Responses
| Status | Meaning |
|---|
| 201 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/snapshots/short
short per-resource snapshot summary.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/v1/snapshots/short'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/snapshots/summary
summary view of snapshots per resource.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/v1/snapshots/summary'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
ZFS
GET /api/v1/zfs/pool-calculator
return recommended ZFS pool layouts.
Deprecated: retained for compatibility.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
disk_size_tb | query | yes | string | Request parameter. |
interface | query | no | string | Request parameter. |
is_smr | query | no | boolean | Request parameter. |
max_width | query | no | string | Request parameter. |
media | query | yes | string | Request parameter. |
rpm | query | no | string | Request parameter. |
total_disks | query | yes | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/v1/zfs/pool-calculator?disk_size_tb=<disk_size_tb>&media=<media>&total_disks=<total_disks>'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
DELETE /api/v1/zfs/pools
delete a ZFS pool.
Deprecated: retained for compatibility.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
pool_name | query | yes | string | ZFS pool name. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X DELETE \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/zfs/pools?pool_name=<pool_name>'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/zfs/pools
create a ZFS pool.
Deprecated: retained for compatibility.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
abrupt_failover | query | no | string | Request parameter. |
compression | query | no | string | Request parameter. |
compression_type | query | no | string | Request parameter. |
disks_per_unit | query | yes | string | Request parameter. |
drives | query | yes | string | Request parameter. |
pool_name | query | yes | string | ZFS pool name. |
raid_level | query | yes | string | Request parameter. |
storage_units | query | yes | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/zfs/pools?disks_per_unit=<disks_per_unit>&drives=<drives>&pool_name=<pool_name>&raid_level=<raid_level>&storage_units=<storage_units>'
Responses
| Status | Meaning |
|---|
| 201 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/zfs/pools-and-volumes
list pools and contained resources.
Deprecated: retained for compatibility.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/v1/zfs/pools-and-volumes'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/zfs/pools/cache
add cache devices to a pool.
Deprecated: retained for compatibility.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
drives | query | yes | string | Request parameter. |
pool_name | query | yes | string | ZFS pool name. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/zfs/pools/cache?drives=<drives>&pool_name=<pool_name>'
Responses
| Status | Meaning |
|---|
| 201 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/zfs/pools/compression
enable or disable compression on a pool.
Deprecated: retained for compatibility.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
compression | query | yes | string | Request parameter. |
compression_type | query | yes | string | Request parameter. |
pool_name | query | yes | string | ZFS pool name. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/zfs/pools/compression?compression=<compression>&compression_type=<compression_type>&pool_name=<pool_name>'
Responses
| Status | Meaning |
|---|
| 201 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
DELETE /api/v1/zfs/pools/disk
remove a disk, cache, or spare from a pool.
Deprecated: retained for compatibility.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
drives | query | yes | string | Request parameter. |
pool_name | query | yes | string | ZFS pool name. |
type | query | yes | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X DELETE \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/zfs/pools/disk?drives=<drives>&pool_name=<pool_name>&type=<type>'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/zfs/pools/expand
expand a pool with a new disk.
Deprecated: retained for compatibility.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
new_disk | query | yes | string | Request parameter. |
pool_name | query | yes | string | ZFS pool name. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/zfs/pools/expand?new_disk=<new_disk>&pool_name=<pool_name>'
Responses
| Status | Meaning |
|---|
| 201 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/zfs/pools/import
import foreign pools.
Deprecated: retained for compatibility.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/zfs/pools/import'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/zfs/pools/members
show detailed member layout for one pool.
Deprecated: retained for compatibility.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
pool_name | query | yes | string | ZFS pool name. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/v1/zfs/pools/members?pool_name=<pool_name>'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/zfs/pools/metadata
add metadata/special devices to a pool.
Deprecated: retained for compatibility.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
drives | query | yes | string | Request parameter. |
pool_name | query | yes | string | ZFS pool name. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/zfs/pools/metadata?drives=<drives>&pool_name=<pool_name>'
Responses
| Status | Meaning |
|---|
| 201 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
DELETE /api/v1/zfs/pools/ownership
clear stored ownership metadata for a pool.
Deprecated: retained for compatibility.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
pool_name | query | yes | string | ZFS pool name. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X DELETE \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/zfs/pools/ownership?pool_name=<pool_name>'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/zfs/pools/ownership
show recorded pool ownership and the configured takeover policy.
Deprecated: retained for compatibility.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
pool_name | query | no | string | ZFS pool name. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/v1/zfs/pools/ownership'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/zfs/pools/ownership
change takeover policy, evaluate ownership safety, or explicitly authorize a guarded import.
Deprecated: retained for compatibility.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
action | query | yes | string | Operation-specific action selector. |
pool_name | query | yes | string | ZFS pool name. |
value | query | no | string | Action value or explicit confirmation text required by the endpoint. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/zfs/pools/ownership?action=<action>&pool_name=<pool_name>'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/zfs/pools/replace-disk
replace a failed pool member.
Deprecated: retained for compatibility.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
faulty_disk | query | yes | string | Request parameter. |
new_disk | query | yes | string | Request parameter. |
pool_name | query | yes | string | ZFS pool name. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/zfs/pools/replace-disk?faulty_disk=<faulty_disk>&new_disk=<new_disk>&pool_name=<pool_name>'
Responses
| Status | Meaning |
|---|
| 201 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/zfs/pools/resource
create a clustered pool resource.
Deprecated: retained for compatibility.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
abrupt_failover | query | no | string | Request parameter. |
ip_address | query | yes | string (ipv4) | Request parameter. |
pool_name | query | yes | string | ZFS pool name. |
preferred_node | query | yes | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/zfs/pools/resource?ip_address=192.0.2.10&pool_name=<pool_name>&preferred_node=<preferred_node>'
Responses
| Status | Meaning |
|---|
| 201 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/zfs/pools/spare
add a spare disk to a pool.
Deprecated: retained for compatibility.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
pool_name | query | yes | string | ZFS pool name. |
spare_disk | query | yes | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/zfs/pools/spare?pool_name=<pool_name>&spare_disk=<spare_disk>'
Responses
| Status | Meaning |
|---|
| 201 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/zfs/pools/with-size
list pools, datasets, and size information.
Deprecated: retained for compatibility.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/v1/zfs/pools/with-size'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
DELETE /api/v1/zfs/replication
cancel a queued or running replication job and its send/receive pipeline.
Deprecated: retained for compatibility.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
job_id | query | yes | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
Example
curl \
-X DELETE \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
'https://<server>:18443/api/v1/zfs/replication?job_id=<job_id>'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
GET /api/v1/zfs/replication
list replication history, or return one job when `job_id` is supplied.
Deprecated: retained for compatibility.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
job_id | query | no | string | Request parameter. |
limit | query | no | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Example
curl \
-X GET \
-H 'X-API-Key: <API_KEY>' \
'https://<server>:18443/api/v1/zfs/replication'
Responses
| Status | Meaning |
|---|
| 200 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
POST /api/v1/zfs/replication
queue a persistent asynchronous ZFS send/receive job.
Deprecated: retained for compatibility.
Parameters
| Parameter | Location | Required | Type | Description |
|---|
async | query | no | string | Request parameter. |
destination_dataset | query | yes | string | Request parameter. |
destination_host | query | yes | string | Request parameter. |
destination_user | query | yes | string | Request parameter. |
mode | query | yes | string | Requested operating or access mode; accepted values depend on the endpoint. |
run_async | query | yes | string | Request parameter. |
snapshot_name | query | yes | string | Request parameter. |
source_dataset | query | yes | string | Request parameter. |
X-Correlation-ID | header | no | string | Optional request identifier. The server generates one when omitted. |
Idempotency-Key | header | no | string; maximum length 255 | Prevents duplicate execution when the same mutating request is retried. |
destination_password | JSON body | yes | string | Request parameter. |
Example
curl \
-X POST \
-H 'X-API-Key: <API_KEY>' \
-H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
-H 'Content-Type: application/json' \
--data '{"destination_password":"<destination_password>"}' \
'https://<server>:18443/api/v1/zfs/replication?destination_dataset=<destination_dataset>&destination_host=<destination_host>&destination_user=<destination_user>&mode=<mode>&run_async=<run_async>&snapshot_name=<snapshot_name>&source_dataset=<source_dataset>'
Responses
| Status | Meaning |
|---|
| 201 | Successful response |
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | API role is not permitted |
| 405 | Method not allowed |
| 409 | Resource state conflict |
| 422 | Request could not be processed |
| 429 | Rate limit exceeded |
| 500 | Backend operation failed |
Mutating operations can return HTTP 202 and a job identifier for asynchronous work. Errors are JSON objects with an error field. Common statuses are 400, 401, 403, 404, 409, 429, and 500.