Skip to main content
POST
/
workflows
Update workflow
curl --request POST \
  --url https://api.cloudcruise.com/workflows \
  --header 'Content-Type: application/json' \
  --header 'cc-key: <api-key>' \
  --data '
{
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "name": "<string>",
  "nodes": [
    {
      "id": "<string>",
      "name": "<string>",
      "action": "START",
      "parameters": {},
      "description": "<string>"
    }
  ],
  "edges": {},
  "input_schema": {
    "type": "object",
    "properties": {
      "SEARCH_TERM": {
        "type": [
          "string",
          "null"
        ]
      }
    },
    "required": [
      "SEARCH_TERM"
    ]
  },
  "output_schema": {
    "type": "object",
    "properties": {}
  },
  "max_retries": 0,
  "description": "<string>",
  "version_note": "Updated login selectors",
  "use_native_actions": true,
  "video_record_session": true,
  "extract_network_urls": [
    "<string>"
  ],
  "encrypted_keys": [
    "<string>"
  ],
  "popup_xpaths": [
    "<string>"
  ],
  "vault_schema": {
    "USER": {
      "type": "credential",
      "domain": "https://example.com",
      "example": "11223344-5566-7788-9900-112233445566"
    }
  },
  "proxy_setting": "<string>",
  "proxy_value": "<string>",
  "enable_popup_handling": true,
  "enable_action_timing_recovery": true,
  "enable_xpath_recovery": true,
  "enable_error_code_generation": true,
  "enable_service_unavailable_recovery": true,
  "enable_network_listener": true
}
'
{
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "name": "<string>",
  "created_at": "2023-11-07T05:31:56Z",
  "updated_at": "2023-11-07T05:31:56Z",
  "workspace_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "created_by": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "nodes": [
    {}
  ],
  "edges": {},
  "description": "<string>",
  "version_number": 123,
  "version_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "input_schema": {},
  "vault_schema": {},
  "enable_popup_handling": true,
  "enable_xpath_recovery": true,
  "enable_error_code_generation": true,
  "enable_service_unavailable_recovery": true,
  "enable_action_timing_recovery": true,
  "origin_catalog_workflow_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "origin_catalog_version_number": 123,
  "track_updates_from_catalog": true
}

Authorizations

cc-key
string
header
required

API key-based authentication. Provide your CloudCruise API key in the cc-key header.

Body

application/json

Payload for updating an existing workflow. The recommended approach is to first fetch the current workflow via GET /workflows/{workflow_id}, modify the desired fields, and then submit the full payload here.

The workflow must already exist in the workspace associated with your API key.

id
string<uuid>
required

Unique identifier for the workflow to update. Use the id from the GET /workflows/{workflow_id} response. The workflow must already exist in your workspace.

name
string
required

Display name of the workflow

nodes
object[]
required

Array of workflow step nodes. Each node represents an action in the workflow (e.g., click, type text, navigate, extract data). Pass an empty array [] to clear all nodes.

edges
object
required

Map of edges connecting workflow nodes. Keys are source node IDs, values define the outgoing connections. Pass an empty object {} to clear all edges.

input_schema
object
required

JSON Schema defining the workflow's input variables

Example:
{
"type": "object",
"properties": {
"SEARCH_TERM": { "type": ["string", "null"] }
},
"required": ["SEARCH_TERM"]
}
output_schema
object
required

JSON Schema defining the workflow's output variables

Example:
{ "type": "object", "properties": {} }
max_retries
integer
required

Maximum number of retry attempts for failed workflow steps

Example:

0

description
string | null

Optional description of the workflow

version_note
string

Optional note describing what changed in this version

Example:

"Updated login selectors"

use_native_actions
boolean | null

Whether to use native browser actions instead of simulated events

video_record_session
boolean | null

Whether to record a video of the workflow execution

extract_network_urls
string[] | null

URL patterns to extract from network traffic during execution

encrypted_keys
string[] | null

References to encrypted vault keys used by this workflow

popup_xpaths
string[] | null

XPath selectors for popups that should be automatically dismissed

vault_schema
object

Schema defining vault credentials required by this workflow

Example:
{
"USER": {
"type": "credential",
"domain": "https://example.com",
"example": "11223344-5566-7788-9900-112233445566"
}
}
proxy_setting
string | null

Proxy configuration setting

proxy_value
string | null

Proxy value (e.g., proxy URL or region)

enable_popup_handling
boolean

Whether popup handling is enabled

enable_action_timing_recovery
boolean

Whether action timing recovery is enabled

enable_xpath_recovery
boolean

Whether XPath recovery is enabled

enable_error_code_generation
boolean

Whether error code generation is enabled

enable_service_unavailable_recovery
boolean

Whether service unavailable recovery is enabled

enable_network_listener
boolean

Whether the network listener is enabled

Response

Workflow upserted successfully. Returns the full workflow with the new version number.

Full workflow definition including nodes and edges

id
string<uuid>
required

Unique identifier for the workflow

name
string
required

Name of the workflow

created_at
string<date-time>
required

Timestamp when the workflow was created

updated_at
string<date-time>
required

Timestamp when the workflow was last updated

workspace_id
string<uuid>
required

ID of the workspace this workflow belongs to

created_by
string<uuid>
required

ID of the user who created the workflow

nodes
object[]
required

Array of workflow step nodes

edges
object
required

Map of edges connecting workflow nodes

description
string | null

Description of the workflow

version_number
integer

Current version number of the workflow

version_id
string<uuid>

ID of the current workflow version

input_schema
object

JSON schema defining the workflow's input variables

vault_schema
object

Schema defining vault credentials and their configuration

enable_popup_handling
boolean

Whether popup handling is enabled for this workflow

enable_xpath_recovery
boolean

Whether XPath recovery is enabled for this workflow

enable_error_code_generation
boolean

Whether error code generation is enabled for this workflow

enable_service_unavailable_recovery
boolean

Whether service unavailable recovery is enabled for this workflow

enable_action_timing_recovery
boolean

Whether action timing recovery is enabled for this workflow

origin_catalog_workflow_id
string<uuid> | null

ID of the catalog workflow this was forked from (if applicable)

origin_catalog_version_number
integer | null

Version number of the catalog workflow this was forked from

track_updates_from_catalog
boolean

Whether to track updates from the origin catalog workflow