Run an RVC method on cluster nodes from a target

Run an RVC method on cluster nodes from a target

POST api/v2/jobs/rvc '{"method":"cluster.execute","params":{"method":"<rvc_method>","params":{},"target":"<target>"},"hostnames":["<node_hostname>"]}'

Starts a SC//Reliantâ„¢ Virtual Controller (RVC) job that runs another RVC method on one or both nodes of the cluster that the target is a member of. The available targets are a node, node group, or saved filter. The response will indicate that the RVC job is created and is scheduled to run. You can use the job ID from the response to retrieve the job status and the payload.

The capabilities required to run the inner method also apply.

In order to perform this action, the following conditions must be met:

  • Must have the Remote Job Execution feature turned on at the site level.
  • The user must have the following capabilities:
    • Create and Update a RVC job
    • Call Cluster state altering methods

Request syntax

post api/v2/jobs/rvc '{"method":"cluster.execute","params":{"method":"<rvc_method>","params":{},"target":"<target>"},"hostnames":["<node_hostname>"]}'

Request parameters

The request accepts the following data in JSON format.

ParameterTypeDescriptionRequired
methodStringThe RVC action to start. This value is specified as a combination of the RVC module and method. For example, to run an RVC method on cluster nodes you would specify the cluster module and the execute method combined as cluster.execute.Yes
paramsObjectThe parameters for the method. For the supported parameters, see Method parameters.Yes
hostnamesString arrayThe list of node hostnames on which to run the RVC job.Dependent. Only if no node group or saved filter is provided.
node_group_nameStringThe name of the node group on which to run the RVC job. The RVC job will run on all nodes that are members of the node group.Dependent. Only if no hostnames or saved filter is provided.
node_group_idIntegerThe ID of the node group on which to run the RVC job. The RVC job will run on all nodes that are members of the node group.Dependent. Only if no hostnames or saved filter is provided.
saved_filter_nameStringThe name of the saved filter on which to run the RVC job. The RVC job will run on all nodes that match the saved filter.Dependent. Only if no hostnames or node group is provided.
saved_filter_idIntegerThe ID of the saved filter on which to run the RVC job. The RVC job will run on all nodes that match the saved filter.Dependent. Only if no hostnames or node group is provided.

Method parameters

The params object accepts the following parameters.

ParameterTypeDescriptionRequiredDefault value
methodStringThe RVC method to run on the cluster node or nodes.Yes-
paramsObjectThe parameters for the method in method.Nonull
targetStringThe cluster node or nodes on which to run the method: primary, secondary, other, or both.Noother

Response syntax

When the hostnames request parameter is used, the following response syntax is received.

{
    "id": integer,
    "type": "RVC3",
    "status": "string",
    "message": "string",
    "trigged_by": "string",
    "parameters": {
        "method": "cluster.execute",
        "params": {
            "method": "<rvc_method>",
            "params": {},
            "target": "<target>"
        },
        "update_rpm": boolean,
        "hostnames": [
            "string"
        ]
    },
    "time_started": "timestamp"
}

Response parameters

If the action is successful, an HTTP 200 response is returned. The following data is returned in JSON format.

FieldTypeDescription
idIntegerThe ID of the RVC job.
typeStringThe type of RVC job. For RVC jobs, it is RVC3.
statusStringThe status of the job.
messageStringThis field is reserved for internal use.
trigged_byStringThe username of the person who initiated the job.
parametersObjectThe request parameters indicating the method, method parameters, and the hostnames, node groups, or saved filters the RVC job ran on.
time_startedTimestampThe timestamp indicating when the job started. The timestamp is given in ISO 8601 UTC datetime format.

Errors

For a list of potential errors, see Troubleshooting RVC jobs and Common errors.

Examples

Example 1: Run a method on the other cluster node.

This example runs sys.uptime on the other node of the cluster that sit0001red0 is a member of.

ruby api.rb <customer_code> POST api/v2/jobs/rvc '{"method":"cluster.execute","params":{"method":"sys.uptime","target":"other"},"hostnames":["sit0001red0"]}'

Response

{
  "id": 1782020,
  "type": "RVC3",
  "status": "pending",
  "message": null,
  "trigged_by": "test.user",
  "parameters": {
    "method": "cluster.execute",
    "params": {
      "method": "sys.uptime",
      "target": "other"
    },
    "update_rpm": true,
    "hostnames": [
      "sit0001red0"
    ]
  },
  "time_started": "2026-10-11T21:53:39Z"
}

Example 2: Retrieving the payload from the RVC job.

This example retrieves the payload from RVC job ID 1782020.

ruby api.rb <customer_code> GET "api/jobs/1782020?include_payload=true"

Response

{
  "id": 1782020,
  "type": "RVC3",
  "status": "finished",
  "message": null,
  "trigged_by": "test.user",
  "success_nodes_count": 1,
  "failed_nodes_count": 0,
  "total_nodes_count": 1,
  "parameters": {
    "method": "cluster.execute",
    "params": {
      "method": "sys.uptime",
      "target": "other"
    },
    "hostnames": [
      "sit0001red0"
    ],
    "update_rpm": true
  },
  "time_started": "2026-10-11T21:53:39Z",
  "time_finished": "2026-10-11T21:53:39Z",
  "payload": {
    "sit0001red0": [
      {
        "result": [
          {
            "role": "secondary",
            "member": "other",
            "result": {
              "since": "2026-09-30T14:51:30Z",
              "humanized": "up 1 week, 4 days, 7 hours, 2 minutes"
            },
            "hostname": "sit0001red1"
          }
        ],
        "timestamp": 1791755620
      }
    ]
  }
}

Each entry in result contains the hostname of the cluster node, its member relationship to the target, its role in the cluster, and the result of the method.