Examples of performing operations using XPRTLC and cURL

Last published : Jun 19, 2026
Following are some examples on performing operations using XPRTLC and cURL:
To get metadata for a host:
  • lang=txt
    xprtlc -m POST -b "session id" -l
    https://domain.example.com:14161/vom/api/meta/server/host

-  lang=txt
    curl -g -k -X POST -b "session id"
    https://domain.example.com:14161/vom/api/meta/server/host
To define an extended attribute named department on object type cluster:
  • lang=txt
    xprtlc -m POST -b "session id" -l
    https://domain.example.com:14161/vom/api/meta/hadr/cluster
    /add?name=department

-  lang=txt
    curl -g -k -X POST -b "session id"
    https://domain.example.com:14161/vom/api/meta/hadr/cluster
    /add?name=department
Adds and displays the extended attribute department for object type cluster in the Management Server console.
To modify an extended attribute named departmenttoDept_new on object type cluster:
  • lang=txt
    xprtlc -m POST -b "session id" -l
    https://domain.example.com:14161/vom/api/meta/hadr/cluster
    /modify?name=department&new_name=Dept_new

-  lang=txt
    curl -g -k -X POST -b "session id"
    https://domain.example.com:14161/vom/api/meta/hadr/cluster
    /modify?name=department&new_name=Dept_new
To delete an extended attribute named Dept_new on object type cluster:
  • lang=txt
    xprtlc -m POST -b "session id" -l
    https://domain.example.com:14161/vom/api/meta/hadr/cluster
    /delete?name=dept_new

-  lang=txt
    curl -g -k -X POST -b "session id"
    https://domain.example.com:14161/vom/api/meta/hadr/cluster
    /delete?name=dept_new
When you delete an extended attribute, it is not displayed in the Management Server console.
To update the extended attribute value for a host where the extended attribute is location:
  • lang=txt
    xprtlc -m POST -b "session id" -l
    https://domain.example.com:14161/vom/api/update/server/host
    /myhost_id?location=1st floor

-  lang=txt
    curl -g -k -X POST -b "session id"
    https://domain.example.com:14161/vom/api/update/server/host
    /myhost_id?location=1st floor
To filter object disk group whose display type is private:
  • lang=txt
    xprtlc -b "session id" -l
    https://domain.example.com:14161/vom/api/query/server/host
    /myhost_id/diskgroup?display_type=private

-  lang=txt
    curl -g -k -b "session id"
    https://domain.example.com:14161/vom/api/query/server/host
    /myhost_id/diskgroup?display_type=private
To run a recovery plan:
  • lang=txt
    xprtlc -m POST -b "session id" -l
    'https://domain.example.com:14161/vom/api/op/hadr/recoveryplan/
    myrplan_id/execute' -d
    'payload={"Tasks": [{"task_order":"1", "IS_SKIP":false},
    {"task_order":"1", "TIMEOUT":"5"},
    {"task_order":"2", "IS_SKIP":false,
    "TIMEOUT":2}], "OfflineSharedSg":true}' -d
    'reason=recovery plan execution for ticket no. 123'

-  lang=txt
    curl -g -k -X POST -b "session id" -l
    'https://domain.example.com:14161/vom/api/op/hadr/recoveryplan/
    myrplan_id/execute' -d
    'payload={"Tasks": [{"task_order":"1", "IS_SKIP":false},
     {"task_order":"1","TIMEOUT":5},
     {"task_order":"2", "IS_SKIP":false,
     "TIMEOUT":2}], "OfflineSharedSg":true}' -d
    'reason=recovery plan execution for ticket no. 123'
To provision storage using a storage template
  • lang=txt
    xprtlc -b "session id" -m POST -d
    'payload={"HostId":"my_host_id",
     "DiskGroupId":"myDG_id", "VolSize":"vol_size"}' -l
    'https://domain.example.com:14161/vom/api/op/server/
     template/storage/storage_template_ID/provision'

-  lang=txt
    curl -g -k -X POST -b "session id" -l
    'https://domain.example.com:14161/vom/api/op/server/
     template/storage/storage_template_ID/provision' -d
    'payload={"HostId": {"my_host_id",
     "DiskGroupId":"myDG_id", "VolSize":"vol_size"}'

-  To move managed host in the Data Center.
   curl -g -k -X POST -b "session id"
   https://domain.example.com:14161/vom/api/
   op/server/{host_id}/moveto/datacenter/
Example
curl -g -k -X POST -b "JSESSIONID=13C8F4E4203BFE96DD6D1LFC69FC7B65;"
https://domain.example.com:14161/vom/api/
op/server/%7B0002345-5432-4dff-0000-00000000000%7D/moveto/datacenter/
-  To move managed host from an Organization OE1 to child Organization OE3 of Organization OE2.
curl -g -k -X POST -b "session id"
https://domain.example.com:14161/vom/
api/op/server/{host_id}/moveto_oe/OE2,OE3/
Example
curl -g -k -X POST -b "JSESSIONID=13C8F4E4203BFE96DD6D1LFC69FC7B65;"
https://domain.example.com:14161/vom/api/
op/server/%7B0002345-5432-4dff-0000-00000000000%7D/moveto_oe/OE2,OE3/
-  To move cluster in the Data Center.
curl -g -k -X POST -b "session id"
https://domain.example.com:14161/vom/
api/op/hadr/{cluster_id}/moveto/datacenter/
Example
curl -g -k -X POST -b "JSESSIONID=13C8F4E4203BFE96DD6D1LFC69FC7B65;"
https://domain.example.com:14161/vom/api/op/
hadr/rhelclust-42058/moveto/datacenter/
-  To move cluster from an Organization OE1 to child Organization OE3 of Organization OE2.
curl -g -k -X POST -b "session id"
https://domain.example.com:14161/vom/
api/op/hadr/{cluster_id}/moveto_oe/OE2,OE3/
Example
curl -g -k -X POST -b "JSESSIONID=13C8F4E4203BFE96DD6D1LFC69FC7B65;"
https://domain.example.com:14161/vom/api/op/
hadr/rhelclust-42058/moveto_oe/OE2,OE3/
-  To online service group with the parameters force or propogate.
curl -g -k -X POST -b "session id"
https://domain.example.com:14161/vom/api/op/
hadr/servicegroup/{service_group_id}/host/{hostname}/{force}/{propogate}/online/
Example: Service group online with parameter force
curl -g -k -X POST -b "JSESSIONID=13C8F4E4203BFE96DD6D1LFC69FC7B65;"
https://domain.example.com:14161/vom/api/op/hadr/servicegroup/
x1@linux_clus-00000/host/example.com/true/false/online
Example: Service group online with parameter propogate
curl -g -k -X POST -b "JSESSIONID=13C8F4E4203BFE96DD6D1LFC69FC7B65;"
https://domain.example.com:14161/vom/api/op/hadr/servicegroup/
x1@linux_clus-00000/host/example.com/false/true/online
-  To offline service group with the parameters force, propogate or probe.
curl -g -k -X POST -b "session id"
https://domain.example.com:14161/vom/api/op/
hadr/servicegroup/{service_group_id}/host/{hostname}/{force}/{probe}/{propogate}/offline/
Example: Service group offline with parameter force
curl -g -k -X POST -b "JSESSIONID=13C8F4E4203BFE96DD6D1LFC69FC7B65;"
https://domain.example.com:14161/vom/api/op/hadr/servicegroup/
x1@linux_clus-00000/host/example.com/true/false/false/offline
Example: Service group offline operation with the parameters force and probe
curl -g -k -X POST -b "JSESSIONID=13C8F4E4203BFE96DD6D1LFC69FC7B65;" https://domain.example.com:14161/vom/api/op/hadr/servicegroup/
x1@linux_clus-00000/host/example.com/true/true/false/offline
-  To switch service group.
curl -g -k -X POST -b "session id"
https://domain.example.com:14161/vom/api/op/
hadr/servicegroup/{service_group_id}/host/{hostname}/switch/
Example
curl -g -k -X POST -b "JSESSIONID=13C8F4E4203BFE96DD6D1LFC69FC7B65;"
https://domain.example.com:14161/vom/api/op/hadr/servicegroup/
x1@linux_clus-00000/host/example.com/switch/
-  To freeze service group with parameter persistent.
curl -g -k -X POST -b "session id"
https://domain.example.com:14161/vom/api/op/
hadr/servicegroup/{service_group_id}/{persistent}/freeze/
Example
curl -g -k -X POST -b "JSESSIONID=13C8F4E4203BFE96DD6D1LFC69FC7B65;"
https://domain.example.com:14161/vom/api/
op/hadr/servicegroup/x1@linux_clus-00000/true/freeze/
Example: Freeze service group without any parameter
curl -g -k -X POST -b "JSESSIONID=13C8F4E4203BFE96DD6D1LFC69FC7B65;"
https://domain.example.com:14161/vom/api/
op/hadr/servicegroup/x1@linux_clus-00000/false/freeze/
-  To unfreeze service group.
curl -g -k -X POST -b "session id"
https://domain.example.com:14161/vom/api/op/
hadr/servicegroup/{service_group_id}/unfreeze/
Example
curl -g -k -X POST -b "JSESSIONID=13C8F4E4203BFE96DD6D1LFC69FC7B65;"
https://domain.example.com:14161/vom/api/
op/hadr/servicegroup/x1@linux_clus-00000/unfreeze/
-  To clear fault on service group.
curl -g -k -X POST -b "session id"
https://domain.example.com:14161/vom/api/op/
hadr/servicegroup/{service_group_id}/host/{hostname}/clear/
Example
curl -g -k -X POST -b "JSESSIONID=13C8F4E4203BFE96DD6D1LFC69FC7B65;"
https://domain.example.com:14161/vom/api/op/hadr/servicegroup/
x1@linux_clus-00000/host/example.com/clear
-  To clear the clearadminwait state for service group.
curl -g -k -X POST -b "session id"
https://domain.example.com:14161/vom/api/op/
hadr/servicegroup/{service_group_id}/host/{hostname}/{fault}/clearadminwait/
Example: Clear the clearadminwait state and the fault
curl -g -k -X POST -b "JSESSIONID=13C8F4E4203BFE96DD6D1LFC69FC7B65;"
https://domain.example.com:14161/vom/api/op/hadr/servicegroup/
x1@linux_clus-00000/host/example.com/true/clearadminwait
Example: Clear the clearadminwait state without clearing the fault
curl -g -k -X POST -b "JSESSIONID=13C8F4E4203BFE96DD6D1LFC69FC7B65;"
https://domain.example.com:14161/vom/api/op/hadr/servicegroup/
x1@linux_clus-00000/host/example.com/false/clearadminwait
-  To flush service group.
curl -g -k -X POST -b "session id"
https://domain.example.com:14161/vom/api/op/
hadr/servicegroup/{service_group_id}/host/{hostname}/flush/
Example
curl -g -k -X POST -b "JSESSIONID=13C8F4E4203BFE96DD6D1LFC69FC7B65;"
https://domain.example.com:14161/vom/api/op/hadr/servicegroup/
x1@linux_clus-00000/host/example.com/flush
  • To fetch the details of a managed host
1\. Before you can use the query API to fetch the details of a managed host, identify the session ID for the secure API login by using the following command:
curl -g -k -d user="userName" -d password="userPassword" -d domain="managementServerID"
https://managementServerID:14161/vom/api/login
Specify the appropriate values of the username and password of the CMS.
A sample session ID value is as follows:
{"cookie":"JSESSIONID=2886C4EE175075D72C0AB91A1D9CF846;","current_server_time":"Mon Oct
26 10:57:36 GMT-12:00 2020","max_active_interval":30,"expires_at":"Mon Oct 26 11:27:36
GMT-12:00 2020"}
2\. Fetch the host details by using the following command:
curl -g -k -X POST -b "sessionID"
https://managementServerID.com:14161/vom/api/query/server/host/
  • To remove or unconfigure a managed host
Run the following command to use the API to remove or unconfigure a managed host:
curl -g -k -X POST -b "sessionID"
https://managementServerID.com:14161/vom/api/op/infra/host/%7bhostID%7d/remove
Note: The curl command does not support the use of curly brackets, { and }. Replace { with%7band } with%7das the corresponding markup text. To be able to use this API with Google Chrome, install the RestMan addon. To be able to use this API with Mozilla FireFox, install the REStClient addon.
Where, domain.example.comis the name of your Management Server, server is the Server perspective, hadr is the Availability perspective,myhost_idis the encoded ID of the host,myDG_idis the encoded ID of the disk group,cluster_idis the encoded ID of the cluster, andmyrplan_id is the recovery plan ID.
If "Ask reason for all operations" is enabled under Advanced Authorization in the Management Server perspective, then you need to provide a reason for performing the operation.
Note: The output of thequeryURL for an object displays theencoded_idvalue. You need to use this encoded ID value to update the extended attribute for that object. Similarly the GET request on an operation URL shows a sample URL for executing the operation.
More Information
Related information