curl --request GET \
--url https://api.cloudcruise.com/workflows/{workflow_id} \
--header 'cc-key: <api-key>'import requests
url = "https://api.cloudcruise.com/workflows/{workflow_id}"
headers = {"cc-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'cc-key': '<api-key>'}};
fetch('https://api.cloudcruise.com/workflows/{workflow_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.cloudcruise.com/workflows/{workflow_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"cc-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.cloudcruise.com/workflows/{workflow_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("cc-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.cloudcruise.com/workflows/{workflow_id}")
.header("cc-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cloudcruise.com/workflows/{workflow_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["cc-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"workspace_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_by": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"nodes": [
{}
],
"edges": {},
"description": "<string>",
"updated_at": "2023-11-07T05:31:56Z",
"version_number": 123,
"version_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"input_schema": {},
"vault_schema": {},
"enable_popup_handling": true,
"enable_xpath_recovery": true,
"enable_node_description_enrichment": true,
"enable_error_code_generation": true,
"enable_service_unavailable_recovery": true,
"enable_incorrect_form_input_recovery": true,
"enable_password_update_recovery": true,
"enable_tfa_setup_recovery": true,
"allow_requeue": true,
"deny_requeue_past_dry_run_marker": true,
"enable_action_timing_recovery": true,
"enable_network_listener": true
}Get workflow
Retrieves the full workflow definition including nodes, edges, and configuration
curl --request GET \
--url https://api.cloudcruise.com/workflows/{workflow_id} \
--header 'cc-key: <api-key>'import requests
url = "https://api.cloudcruise.com/workflows/{workflow_id}"
headers = {"cc-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'cc-key': '<api-key>'}};
fetch('https://api.cloudcruise.com/workflows/{workflow_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.cloudcruise.com/workflows/{workflow_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"cc-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.cloudcruise.com/workflows/{workflow_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("cc-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.cloudcruise.com/workflows/{workflow_id}")
.header("cc-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cloudcruise.com/workflows/{workflow_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["cc-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"workspace_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_by": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"nodes": [
{}
],
"edges": {},
"description": "<string>",
"updated_at": "2023-11-07T05:31:56Z",
"version_number": 123,
"version_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"input_schema": {},
"vault_schema": {},
"enable_popup_handling": true,
"enable_xpath_recovery": true,
"enable_node_description_enrichment": true,
"enable_error_code_generation": true,
"enable_service_unavailable_recovery": true,
"enable_incorrect_form_input_recovery": true,
"enable_password_update_recovery": true,
"enable_tfa_setup_recovery": true,
"allow_requeue": true,
"deny_requeue_past_dry_run_marker": true,
"enable_action_timing_recovery": true,
"enable_network_listener": true
}Authorizations
API key-based authentication. Provide your CloudCruise API key in the cc-key header.
Headers
CloudCruise API key for authentication
Path Parameters
The ID of the workflow
Response
Successful operation
Full workflow definition including nodes and edges
Unique identifier for the workflow
Name of the workflow
Timestamp when the workflow was created
ID of the workspace this workflow belongs to
ID of the user who created the workflow
Array of workflow step nodes
Map of edges connecting workflow nodes
Show child attributes
Show child attributes
Description of the workflow
Timestamp when the workflow was last updated
Current version number of the workflow
ID of the current workflow version
JSON schema defining the workflow's input variables
Schema defining vault credentials and their configuration
Whether popup handling is enabled for this workflow
Whether XPath recovery is enabled for this workflow
Whether node descriptions are auto-enriched for reliability improvements
Whether error code generation is enabled for this workflow
Whether service unavailable recovery is enabled for this workflow
Whether incorrect form input recovery is enabled
Whether password update recovery is enabled. When a site forces a password change, the Maintenance Agent classifies the error and sends a notification.
Whether automatic TFA setup recovery is enabled. When a site requires two-factor authentication setup during login, the Maintenance Agent can autonomously complete the enrollment and update the vault credential.
Whether automatic retries are enabled for this workflow. When false, the workflow will not be automatically retried on transient failures regardless of other recovery settings.
When the workflow has a dry-run marker (end_here_on_dry_run), restricts automatic retries to failures that occur before the marker. Only effective when allow_requeue is true. Defaults to true.
Whether action timing recovery is enabled
Whether network listener capture is enabled for this workflow version
Was this page helpful?

