Persistent memory virtualization API
Persistent memory virtualization is a PowerVM® feature that allows you to create persistent memory volumes by using Dynamic Random Access Memory (DRAM) modules within IBM POWER9 and later servers.
Persistent memory virtualization API options
| Method | URI | Description |
|---|---|---|
|
POST |
|
Performs the following tasks on virtual machine:
|
|
GET |
|
Gets a server call with persistent memory volumes details. |
|
GET |
|
Gets all the servers call with persistent memory volumes details. |
|
GET |
|
Gets the list of servers that has persistent memory volumes with details. |
|
GET |
|
This query parameter is applicable for detail call and lists additional server details. |
|
GET |
|
Lists all the persistent memory volumes that are present on a workspace. |
|
GET |
|
Lists all the persistent memory volumes across all the workspace. |
|
PUT |
|
Renames the persistent memory volume. |
Add persistent memory volume API
This operation creates a persistent memory volume of the virtual machine. This API takes persistent memory volume as shown in the request parameter.
- Response codes
-
- Normal response code - Accepted (202)
- Error response code - Bad Request (400), Forbidden (403), Not Found (404), Unauthorized (401), Conflict (409)
- Request parameters
-
Table 2. Parameters in the request for adding persistent memory volume API Name Style Type Description nameBody
String
New persistent memory volume name. Persistent memory volume name must be unique.
sizeBody
Integer
Size in MB
affinityBody
Boolean
Affinity can be
enableordisable.deviceBody
String
Name of the device
- Request example
-
{ "add-pmem-vol":[ { "name":”pmem_vol1”, "size":1024, "affinity":"True", "device":"”DRAM”" }, { "name":”pmem_vol2”, "size":1024, "affinity":"True", "device":"”DRAM”" } ] } - Response example
-
{ "pmem_vol": [ { "created_at": "2025-10-21T15:06:54.738646", "uuid": "22f987ae-928e-4c75-84f5-b23cf6f6c4d9", "name": "pmem_vol1", "size": 1024, "affinity": "true", "type": "DRAM", "status": "CONFIGURING" }, { "created_at": "2025-10-21T15:06:54.756241", "uuid": "2150eb7a-f99e-485e-9831-bd89db84e58b", "name": "pmem_vol2", "size": 1024, "affinity": "true", "type": "DRAM", "status": "CONFIGURING" } ] }
Delete persistent memory volume API
This operation deletes a persistent memory volume of the virtual machine. This API takes persistent memory volume as shown in the request parameter. This API does not return any response body.
- Response codes
-
- Normal response code - Accepted (202)
- Error response code - Bad Request (400), Forbidden (403), Not Found (404), Unauthorized (401), Conflict (409)
- Request body
-
Table 3. Parameters in the request for deleting persistent volume API Name Style Type Description volume_uuidBody
String
Persistent memory volume ID that is retrieved from PHYP.
uuidBody
String
Persistent memory volume ID that is generated by PowerVC.
- Request example
-
{ “del-pmem-vol”:[{"volume_uuid":"uuid"}]} or { “del-pmem-vol”:[{"uuid":"uuid"}]}
Add persistent memory volume with aggregated memory API
This operation creates a persistent memory volume with aggregated memory of the virtual machine. This API takes persistent memory volume as shown in the request parameter.
- Response codes
-
- Normal response code - Accepted (202)
- Error response code - Bad Request (400), Forbidden (403), Not Found (404), Unauthorized (401), Conflict (409)
- Request parameters
-
Table 4. Parameters in the request for adding persistent memory volume with aggregated memory API Name Style Type Description nameBody
String
New persistent memory volume name. Persistent memory volume name must be unique.
sizeBody
Integer
Size in MB
affinityBody
Boolean
Affinity can be
enableordisable.deviceBody
String
Name of the device
- Request example
-
"resize": { "add-pmem-vol":[ { "name":”pmem_vol1”, "size":1024, "affinity":"True", "device":"”DRAM”" }, { "name":”pmem_vol2”, "size":1024, "affinity":"True", "device":"”DRAM”" } ] } - Response example
-
{ "pmem_vol": [ { "created_at": "2025-10-21T15:06:54.738646", "uuid": "22f987ae-928e-4c75-84f5-b23cf6f6c4d9", "name": "pmem_vol1", "size": 1024, "affinity": "true", "type": "DRAM", "status": "CONFIGURING" }, { "created_at": "2025-10-21T15:06:54.756241", "uuid": "2150eb7a-f99e-485e-9831-bd89db84e58b", "name": "pmem_vol2", "size": 1024, "affinity": "true", "type": "DRAM", "status": "CONFIGURING" } ] }
Delete persistent memory volume with aggregated memory API
This operation deletes a persistent memory volume with aggregated memory of the virtual machine. This API takes persistent memory volume as shown in the request parameter. This API does not return any response body.
- Response codes
-
- Normal response code - Accepted (202)
- Error response code - Bad Request (400), Forbidden (403), Not Found (404), Unauthorized (401), Conflict (409)
- Request body
-
Table 5. Parameters in the request for deleting persistent volume with aggregated memory API Name Style Type Description uuidBody
String
Persistent memory volume ID that is generated by PowerVC.
- Request example
-
{ “resize”: { “del-pmem-vol”:[{"uuid":"uuid"}]}”
Rename persistent volume API
This operation renames a persistent memory volume of the virtual machine. This API takes persistent memory volume as shown in the request parameter. This API does not return any response body.
- Response codes
-
- Normal response code - OK (200)
- Error response code - Bad Request (400), Forbidden (403), Not Found (404), Unauthorized (401), Conflict (409)
- Request body
-
Table 6. Parameters in the request for renaming persistent volume API Name Style Type Description nameBody
String
New persistent memory volume name. Persistent memory volume name must be unique.
- Request example
-
{ "update-pmem-vol": { "name": "new_name" } } - Response example
-
{ "pmem_vol": { "created_at": "2025-11-17T05:16:59.000000", "uuid": "985d8e48-3ecb-4cca-b469-b52c641b2dfa", "name": "new_name", "size": 1024, "affinity": "false", "type": "DRAM", "volume_uuid": "3F1CD829-17D6-4D7A-8EA9-3AF5EE1EBEFE", "status": "ACTIVE" } }
The persistent memory virtualization APIs take extra request body attributes to store persistent memory volumes. For details, see Flavors extra-specs