Qualys Flow Release 1.16 API

June 11, 2025

Before understanding the API release highlights, learn more about the API server URL to be used in your API requests by referring to the Know Your Qualys API Server URL section. For this API Release Notes, <qualys_base_url> is mentioned in the sample API requests.

Introduced Workflow Management APIs 

The Workflow Management APIs let you work with automated workflows in the system. They help you find existing workflows, get detailed information about each one, and start workflow runs. These APIs are important for organizing automated tasks and managing workflow activities in a clear and scalable way.

Workflow List API

New or Updated API

New

API Endpoint
(New Version)

/qflowapi/v1/workflows

Method

GET

DTD or XSD changes

Not Applicable

Use this API to get a comprehensive list of all available workflows. It helps users identify which workflows are accessible for execution.

Input ParametersInput Parameters

Parameter

Mandatory/Optional

Data Type

Description

pageSize

Mandatory

Integer

The number of records per page to be included in the response.

pageNumber

Mandatory

Integer

The page to be returned. Starts from 1.

query

Optional

String

QQL Query to filter the reponse as per query.

qflow.name: Publicly accessible RDS DB Instances

The response displays all the workflows that match the criteria in the query.

startAt

Optional

Date 

Filters workflows to show only those created on or after a specific start date.

For example, startAt: "2024-10-15T00:00:00Z"

The response displays all the workflows that were created after 2024-10-15T00:00:00Z.

endAt

Optional 

Date 

Filters workflows to show only those created on or before a specific end date.

For example, endAt: "2024-10-25T23:59:59Z"

The response displays all the workflows that were created before 2024-10-25T00:00:00Z.

order

Optional 

String

Specifies the field to sort the results. Use the field name as is for ascending order, or prefix it with a hyphen (-) to sort in descending order.

Authorization 

Mandatory

String

Authorization token to authenticate to the Qualys Cloud Platform.

Prepend token with 'Bearer' and one space.

For example - Bearer <authToken>

Sample: Get the workflows with page size 1  Sample: Get the workflows with page size 1 

API Request

curl -X POST
' /qflowapi/v1/workflows/f516bcf4-f6fb-46ac-a54f-ddbcf2a2d24a'
-H "Accept: application/json"
-H "Content-Type: application/json" 
-H "Authorization: Bearer  "

Response

{
    "data":{
        "id":"f516bcf4-f6fb-46ac-a54f-ddbcf2a2d24a",
        "createdAt":1744786878828,
        "updatedAt":1747114432724,
        "tags":[
            "created_by=0ffaf046-768b-79fc-83f6-aa25be52c2a1"
        ],
        "workflow":"f516bcf4-f6fb-46ac-a54f-ddbcf2a2d24a",
        "revision":"27653453ffa1beb74ce8d1aaabc55162377c4090ac14e3441fc900c798891ee2",
        "definition":"{\"variables\":[{\"key\":\"region\",\"value\":[\"us-east-1\"]},{\"key\":\"resourceGroup\",\"value\":[]},{\"key\":\"project\",\"value\":[]},{\"key\":\"credentials\",\"value\":[\"@aa70acae-6ea8-3acf-b504-f327855b316a\"]},{\"key\":\"credentials_azure\",\"value\":[]},{\"key\":\"credentials_gcp\",\"value\":[]}],\"components\":[{\"name\":\"Trigger\",\"id\":\"trigger\",\"type\":\"trigger\",\"next\":\"node-6748e0e3-resource\",\"previous\":null,\"inputs\":{\"event\":{\"active\":false,\"value\":{\"pattern\":{},\"cloudProvider\":\"\",\"selectedServiceName\":\"\",\"selectedEventsName\":\"\",\"selectedFilters\":[{\"values\":[\"\"],\"key\":\"\"}],\"patternCheck\":{},\"selectedEventsFiltersState\":[]}},\"cloudview\":{\"active\":false},\"schedule\":{\"active\":false,\"value\":[]}},\"target\":{\"script\":\"trigger\"},\"selectedResource\":null,\"conditionalSettings\":{\"conditions\":[],\"expression\":\"\"},\"advanceOptions\":{}},{\"name\":\"AWS Resource\",\"id\":\"node-6748e0e3-resource\",\"type\":\"resource\",\"next\":\"node-67649155-filter\",\"previous\":\"trigger\",\"inputs\":{\"resourceType\":\"EC2_INSTANCE\",\"service\":\"EC2\",\"method\":\"describeInstances\",\"params\":{\"Filters\":[{\"Name\":\" \",\"Values\":[\" \",\" \"]}],\"InstanceIds\":[\" \",\" \"],\"MaxResults\":\" \",\"NextToken\":\" \"},\"addOns\":[]},\"target\":{\"script\":\"awsapi\"},\"selectedResource\":null,\"conditionalSettings\":{\"conditions\":[],\"expression\":\"\"},\"advanceOptions\":{\"disablePagination\":false}},{\"name\":\"Filter\",\"id\":\"node-67649155-filter\",\"type\":\"filter\",\"next\":\"node-e3a84822-action\",\"previous\":\"node-6748e0e3-resource\",\"inputs\":{\"conditions\":[{\"id\":\"c1\",\"type\":\"tag\",\"key\":\"stop-instance\",\"value\":\"true\",\"operator\":\"has\"}],\"expression\":\"( (c1) )\"},\"target\":{\"script\":\"customFilter\"},\"selectedResource\":{\"label\":\"AWSResource.Instances\",\"selectedResourceId\":\"node-6748e0e3-resource\",\"path\":\"\",\"context\":{\"outputPath\":\"\"}},\"conditionalSettings\":{\"conditions\":[],\"expression\":\"\"},\"advanceOptions\":{}},{\"name\":\"AWS Action\",\"id\":\"node-e3a84822-action\",\"type\":\"action\",\"next\":\"node-ea318327-action\",\"previous\":\"node-67649155-filter\",\"inputs\":{\"service\":\"EC2\",\"resourceType\":\"EC2_INSTANCE\",\"method\":\"stopInstances\",\"params\":{\"InstanceIds\":[\"obj.InstanceId\"],\"Hibernate\":\" \",\"Force\":\" \"},\"waitForAction\":\"true\"},\"target\":{\"script\":\"awsapi\"},\"selectedResource\":{\"selectedResourceId\":\"node-67649155-filter\",\"path\":\"\",\"label\":\"Filter.Instances\",\"context\":{\"outputPath\":\"\"}},\"conditionalSettings\":{\"conditions\":[],\"expression\":\"\"},\"advanceOptions\":{}},{\"name\":\"AWS Action (2)\",\"id\":\"node-ea318327-action\",\"type\":\"action\",\"next\":null,\"previous\":\"node-e3a84822-action\",\"inputs\":{\"service\":\"EC2\",\"resourceType\":\"EC2_SNAPSHOT\",\"method\":\"createSnapshots\",\"params\":{\"InstanceSpecification\":{\"InstanceId\":\"obj.InstanceId\",\"ExcludeDataVolumeIds\":[\" \",\" \"],\"ExcludeBootVolume\":\" \"},\"Description\":\"  e.g: Created By TC for createSnapshots On DATE\",\"OutpostArn\":\" \",\"CopyTagsFromSource\":\" \",\"TagSpecifications\":[{\"ResourceType\":\" \",\"Tags\":[{\"Key\":\" \",\"Value\":\" \"}]}]},\"waitForAction\":\"false\"},\"target\":{\"script\":\"awsapi\"},\"selectedResource\":{\"selectedResourceId\":\"node-67649155-filter\",\"path\":\"\",\"label\":\"Filter.Instances\",\"context\":{\"outputPath\":\"\"}},\"conditionalSettings\":{\"conditions\":[],\"expression\":\"\"},\"advanceOptions\":{}}]}",
        "deletedAt":null,
        "customerId":"54f50897-26f3-c9af-83f9-e71459be70d9",
        "name":"aws-action-node",
        "description":" ",
        "state":null,
        "active":true,
        "properties":{
            "priority":1,
            "severity":1,
            "categories":{
                "services":[
                    
                ],
                "accounts":[
                    "aa70acae-6ea8-3acf-b504-f327855b316a"
                ],
                "regions":[
                    "us-east-1"
                ],
                "resource_groups":[
                    
                ],
                "projects":[
                    
                ],
                "solutions":[
                    "AWS Best Practices"
                ],
                "apps":[
                    
                ],
                "cloud_providers":[
                    "AWS"
                ]
            },
            "editorVersion":"2.0",
            "hidden":false
        },
        "last_execution_details":{
            "message":"connect ECONNREFUSED 10.238.62.201:8090",
            "executionEndDate":1747114432510
        },
        "last_execution_status":"Error",
        "type":"normal"
    }
}

Workflow Details API

New or Updated API

New

API Endpoint
(New Version)

/qflowapi/v1/workflows/{workflowId}

Method

GET

DTD or XSD changes

Not Applicable

Use this API to get detailed metadata and configuration information for a specific workflow. It’s useful for understanding the purpose, structure, and requirements of a workflow before running or modifying it.

Input ParametersInput Parameters

Parameter

Mandatory/Optional

Data Type

Description

workflowId

Mandatory

 String

Provide a valid workflow ID. Ensure it is UUID.

For example, '0ffaf046-768b-79fc-83f6-aa25be52c2a1'.

Authorization 

Mandatory

String

Authorization token to authenticate to the Qualys Cloud Platform.

Prepend token with 'Bearer' and one space.

For example - Bearer <authToken>

Sample: Get the details of a workflowsSample: Get the details of a workflows

API Request

curl -X POST
'<qualys_base_url>/qflowapi/v1/workflows/f516bcf4-f6fb-46ac-a54f-ddbcf2a2d24a/run'
-H "Accept: application/json"
-H "Content-Type: application/json" 
-H "Authorization: Bearer <jwt token>"

Response

{
    "data":{
        "customerId":"54f50897-26f3-c9af-83f9-e71459be70d9",
        "workflowId":"f516bcf4-f6fb-46ac-a54f-ddbcf2a2d24a",
        "input":{
            
        },
        "executionId":"ee75301e-bbcf-4e7e-9cae-b6f99fc2060e",
        "forceRun":true,
        "overrideVariables":[
            
        ],
        "source":"PUBLIC_API"
    }
}

Run Workflow API

New or Updated API

New

API Endpoint
(New Version)

/qflowapi/v1/workflows/{workflowId}/run

Method

POST

DTD or XSD changes

Not Applicable

Use this API to initiate the execution of a specific workflow. It allows triggering automated processes with input parameters.

Input ParametersInput Parameters

Parameter

Mandatory/Optional

Data Type

Description

workflowId

Mandatory

 String

Provide a valid workflow ID. Ensure it is UUID.

For example, '0ffaf046-768b-79fc-83f6-aa25be52c2a1'

Request Body

Optional

JSON

Provide a valid JSON object containing the input data to run the workflow.

For example,

{
  "information": "some important data"
}

Authorization 

Mandatory

String

Authorization token to authenticate to the Qualys Cloud Platform.

Prepend token with 'Bearer' and one space.

For example - Bearer <authToken>

Sample: Initiate execution of a workflow Sample: Initiate execution of a workflow 

API Request

curl -X POST
'<qualys_base_url>/qflowapi/v1/workflows/workflows/f516bcf4-f6fb-46ac-a54f-ddbcf2a2d24a/executions?pageSize=2&pageNumber=1' 
-H "Content-Type: application/json" 
-H "Authorization: Bearer <jwt token>" 

Response

{
    "data":{
        "customerId":"54f50897-26f3-c9af-83f9-e71459be70d9",
        "workflowId":"f516bcf4-f6fb-46ac-a54f-ddbcf2a2d24a",
        "input":{
            
        },
        "executionId":"ee75301e-bbcf-4e7e-9cae-b6f99fc2060e",
        "forceRun":true,
        "overrideVariables":[
            
        ],
        "source":"PUBLIC_API"
    }
}

Introduced Workflow Execution APIs

The Workflow Execution APIs allow you to monitor and manage the execution history of automated workflows. These APIs provide insights into when workflows were run, their execution status, and detailed metadata for each execution instance. They are important for tracking performance, debugging issues, and auditing workflow behavior over time.

Workflow Execution List API

New or Updated API

New

API Endpoint
(New Version)

/qflowapi/v1/workflows/{workflowId}/executions

Method

GET

DTD or XSD changes

Not Applicable

Use the API to get a list of executions for a specified workflow. This API is useful for viewing the execution history of a workflow, including status, time stamps, and execution IDs.

Input ParametersInput Parameters

Parameter

Mandatory/Optional

Data Type

Description

pageSize

Mandatory

Integer

The number of records per page to be included in the response.

pageNumber

Mandatory

Integer

The page to be returned. Starts from 1.

query

Optional

String

QQL Query to filter the response as per query.

status: Success

The response displays all the executions that match the criteria in the query.

startAt

Optional

Date 

Filters workflows to show only those created on or after a specific start date.

For example, startAt: "2024-10-15T00:00:00Z"

The response displays all the workflows that were created after 2024-10-15T00:00:00Z.

endAt

Optional 

Date 

Filters workflows to show only those created on or before a specific end date.

For example, endAt: "2024-10-25T23:59:59Z"

The response displays all the workflows that were created before 2024-10-25T00:00:00Z.

order

Optional 

String

Specifies the field to sort the results. Use the field name as is for ascending order, or prefix it with a hyphen (-) to sort in descending order.

Authorization 

Mandatory

String

Authorization token to authenticate to the Qualys Cloud Platform.

Prepend token with 'Bearer' and one space.

For example - Bearer <authToken>

Sample: Retrieve a list of executions for a specified workflowSample: Retrieve a list of executions for a specified workflow

Workflow Execution Details API

New or Updated API

New

API Endpoint
(New Version)

/qflowapi/v1/executions/{executionId}

Method

GET

DTD or XSD changes

Not Applicable

Use this API to fetch detailed information about a specific workflow execution and drill down into a particular execution instance. It provides data such as start and end times, execution status, input/output data, step-level results, and any errors encountered during the run.

Input ParametersInput Parameters

Parameter

Mandatory/Optional

Data Type

Description

executionId

Mandatory

String

Provide a valid execution ID. Ensure it is UUID.

For example, 0ffaf046-768b-79fc-83f6-aa25be52c2a1

includeSteps

Optional

Boolean

When the includeSteps parameter is set to true, the API response includes the execution steps as part of the execution details. 

Authorization 

Mandatory

String

Authorization token to authenticate to the Qualys Cloud Platform.

Prepend token with 'Bearer' and one space.

For example - Bearer <authToken>

Sample: Get detailed information about a specific workflow executionSample: Get detailed information about a specific workflow execution

API Request

curl -X POST
'<qualys_base_url>/qflowapi/v1/executions/0e71f117-648f-4ad2-a3a9-8f1b857a1b70?includeSteps=false'
-H "Accept: application/json"
-H "Content-Type: application/json" 
-H "Authorization: Bearer <jwt token>"

Response

{
    "data": {
        "id": "0e71f117-648f-4ad2-a3a9-8f1b857a1b70",
        "createdAt": 1746007562042,
        "updatedAt": 1746007633097,
        "tags": [
            "created_by=0ffaf046-768b-79fc-83f6-aa25be52c2a1"
        ],
        "workflow": "f516bcf4-f6fb-46ac-a54f-ddbcf2a2d24a",
        "execution": "0e71f117-648f-4ad2-a3a9-8f1b857a1b70",
        "customerId": "54f50897-26f3-c9af-83f9-e71459be70d9",
        "status": "Success",
        "startDate": 1746007562041,
        "endDate": 1746007633052,
        "details": {
            "executionEndDate": 1746007633052
        },
        "linkedExecutionIds": null,
        "executionType": "Simple",
        "parentExecutionId": null,
        "categories": {
            "services": [],
            "accounts": [
                "@aa70acae-6ea8-3acf-b504-f327855b316a"
            ],
            "regions": [
                "us-east-1"
            ],
            "resource_groups": [],
            "projects": [
                []
            ],
            "solutions": [
                "AWS Best Practices"
            ],
            "apps": [],
            "cloud_providers": [
                "AWS"
            ]
        },
        "source": "UI",
        "variables": [
            "region=us-east-1"
        ],
        "parDateKey": "2025-04-30T00:00:00.000Z"
    }
}

Introduced Workflow Execution Steps APIs

The Execution Steps APIs provide visibility of each step in a workflow process. These APIs allow users to monitor, inspect, and troubleshoot individual steps, providing better visibility and control over automated workflows.

Workflow Execution Step List API

New or Updated API

New

API Endpoint
(New Version)

/qflowapi/v1/executions/{executionId}
/steps

Method

GET

DTD or XSD changes

Not Applicable

Use this API to get a list of all steps executed within a specific workflow run. This includes basic metadata such as step names, statuses, and execution order.

Input ParametersInput Parameters

Parameter

Mandatory/Optional

Data Type

Description

startAt

Optional

Date 

Filters workflows to show only those created on or after a specific start date.

For example, startAt: "2024-10-15T00:00:00Z"

The response displays all the workflows that were created after 2024-10-15T00:00:00Z.

endAt

Optional 

Date 

Filters workflows to show only those created on or before a specific end date.

For example, endAt: "2024-10-25T23:59:59Z"

The response displays all the workflows that were created before 2024-10-25T00:00:00Z.

includeData

Optional

Boolean

When set to true, the API response includes both the input and output data for every node in the workflow execution.

order

Optional 

String

Specifies the field to sort the results. Use the field name as is for ascending order, or prefix it with a hyphen (-) to sort in descending order.

Authorization 

Mandatory

String

Authorization token to authenticate to the Qualys Cloud Platform.

Prepend token with 'Bearer' and one space.

For example - Bearer <authToken>

Sample: Get a list of all steps executed within a specific workflow runSample: Get a list of all steps executed within a specific workflow run

API Request

curl -X GET
'<qualys_base_url>/qflowapi/v1/executions/0e72b4a1-abea-45b2-9ae9-91cd87506404/steps'
-H "Accept: application/json"
-H "Content-Type: application/json"
-H "Authorization: Bearer <jwt token>"

Response

{
    "total": 6,
    "items": [
        {
            "id": "01JT3585YRG0DHQNS9DNN432X3",
            "createdAt": 1746010380248,
            "updatedAt": 1746010380248,
            "tags": [
                "created_by=0ffaf046-768b-79fc-83f6-aa25be52c2a1"
            ],
            "customerId": "54f50897-26f3-c9af-83f9-e71459be70d9",
            "eventOrder": 2,
            "nodeId": "node-e3a84822-qualysevent",
            "execution": "0e72b4a1-abea-45b2-9ae9-91cd87506404",
            "nodeType": "qualysevent",
            "status": "Success",
            "startDate": 1746010380100,
            "endDate": 1746010380193,
            "details": {
                "message": "1 events sent"
            },
            "parDateKey": "2025-04-30T00:00:00.000Z"
        },
        {
            "id": "01JT359MNDCV83CTYGPP95RB0R",
            "createdAt": 1746010428077,
            "updatedAt": 1746010428077,
            "tags": [
                "created_by=0ffaf046-768b-79fc-83f6-aa25be52c2a1"
            ],
            "customerId": "54f50897-26f3-c9af-83f9-e71459be70d9",
            "eventOrder": 2,
            "nodeId": "node-e3a84822-post-event",
            "execution": "0e72b4a1-abea-45b2-9ae9-91cd87506404",
            "nodeType": "post-event",
            "status": "Success",
            "startDate": 1746010427974,
            "endDate": 1746010428028,
            "details": {
                "message": "Success"
            },
            "parDateKey": "2025-04-30T00:00:00.000Z"
        },
        {
            "id": "01JT359NAD5FJE0S2BXCAK86JR",
            "createdAt": 1746010428749,
            "updatedAt": 1746010428749,
            "tags": [
                "created_by=0ffaf046-768b-79fc-83f6-aa25be52c2a1"
            ],
            "customerId": "54f50897-26f3-c9af-83f9-e71459be70d9",
            "eventOrder": 2,
            "nodeId": "node-e3a84822-post-workflow-trigger",
            "execution": "0e72b4a1-abea-45b2-9ae9-91cd87506404",
            "nodeType": "post-workflow-trigger",
            "status": "Success",
            "startDate": 1746010428645,
            "endDate": 1746010428707,
            "details": {
                "message": "Success"
            },
            "parDateKey": "2025-04-30T00:00:00.000Z"
        },
        {
            "id": "01JT359Q39BZ9946H04WJWS12N",
            "createdAt": 1746010430570,
            "updatedAt": 1746010430569,
            "tags": [
                "created_by=0ffaf046-768b-79fc-83f6-aa25be52c2a1"
            ],
            "customerId": "54f50897-26f3-c9af-83f9-e71459be70d9",
            "eventOrder": 2,
            "nodeId": "node-ea318327-action",
            "execution": "0e72b4a1-abea-45b2-9ae9-91cd87506404",
            "nodeType": "action",
            "status": "Success",
            "startDate": 1746010429394,
            "endDate": 1746010430521,
            "details": {
                "message": "2 Instances acted on"
            },
            "parDateKey": "2025-04-30T00:00:00.000Z"
        },
        {
            "id": "01JT3580ZDJDN1427C44NE56BX",
            "createdAt": 1746010375149,
            "updatedAt": 1746010375149,
            "tags": [
                "created_by=0ffaf046-768b-79fc-83f6-aa25be52c2a1"
            ],
            "customerId": "54f50897-26f3-c9af-83f9-e71459be70d9",
            "eventOrder": 1,
            "nodeId": "trigger",
            "execution": "0e72b4a1-abea-45b2-9ae9-91cd87506404",
            "nodeType": "trigger",
            "status": "Running",
            "startDate": 1746010375084,
            "endDate": null,
            "details": null,
            "parDateKey": "2025-04-30T00:00:00.000Z"
        },
        {
            "id": "01JT3583JM731H2TKDHDK8TJHF",
            "createdAt": 1746010377813,
            "updatedAt": 1746010377813,
            "tags": [
                "created_by=0ffaf046-768b-79fc-83f6-aa25be52c2a1"
            ],
            "customerId": "54f50897-26f3-c9af-83f9-e71459be70d9",
            "eventOrder": 2,
            "nodeId": "node-67649155-filter",
            "execution": "0e72b4a1-abea-45b2-9ae9-91cd87506404",
            "nodeType": "filter",
            "status": "Success",
            "startDate": 1746010377720,
            "endDate": 1746010377729,
            "details": {
                "message": "2 Instances filtered"
            },
            "parDateKey": "2025-04-30T00:00:00.000Z"
        }
    ]
}

Execution Step Details API

New or Updated API

New

API Endpoint
(New Version)

/qflowapi/v1/executions/{executionId}
/steps/{nodeId}

Method

GET

DTD or XSD changes

Not Applicable

Use this API to get detailed information for a specific execution step. This includes step status, time stamps, and any errors encountered during execution.

Input ParametersInput Parameters

Parameter

Mandatory/Optional

Data Type

Description

executionId

Mandatory

 String

Provide a valid execution ID. Ensure it is UUID.

For example: '0ffaf046-768b-79fc-83f6-aa25be52c2a1'.

nodeId

Optional

String

Provide a node ID.

For example: node-67649155-filter

Note: Ensure Node ID must not empty.

Authorization 

Mandatory

String

Authorization token to authenticate to the Qualys Cloud Platform.

Prepend token with 'Bearer' and one space.

For example - Bearer <authToken>

Sample: Get detailed information for a specific execution stepSample: Get detailed information for a specific execution step

API Request

curl -X GET
'<qualys_base_url>/qflowapi/v1/executions/0e72b4a1-abea-45b2-9ae9-91cd87506404/steps/node-e3a84822-qualysevent'
-H "Accept: application/json"
-H "Content-Type: application/json"
-H "Authorization: Bearer <jwt token>"

Response

{
    "id":"01JT3585YRG0DHQNS9DNN432X3",
    "createdAt":1746010380248,
    "updatedAt":1746010380248,
    "tags":[
        "created_by=0ffaf046-768b-79fc-83f6-aa25be52c2a1"
    ],
    "customerId":"54f50897-26f3-c9af-83f9-e71459be70d9",
    "eventOrder":2,
    "nodeId":"node-e3a84822-qualysevent",
    "execution":"0e72b4a1-abea-45b2-9ae9-91cd87506404",
    "nodeType":"qualysevent",
    "input":"H4sIAAAAAAAAA+1XbW/bNhD+K4M+DmYm613GUCDz2iJYk6Zx2mAIAoOUjjYbWdRIKk4W5L/vSMmOnLhtsHXf6g+GTfLenrvneLz3NFRQGCjPQMtWFeBN7p+tHZXexKtlCQRCmkVZEJC1VNe8kmtilFgsQHkjr6FmiefwVyFrA7fGqpKtaVpz2m89jLyKMqjw90Wv4LyXxy3Vm3urZNt4k8sr1KngRshWv99RM/JWYJbSenXW1htN1rCCEmojaKVx7+c9H++pziN9LEvBBaA2o1qw+/Izht85MNA4p3+3Cr6sd02FeSPVVK6aCoyQ9UYh3ELR2gWHow9pwCI6JggEJVHMApJTyEk+Lsosjf0k8qPdUOaLovmy2aKSbXl+11jPPnw8fPfnDBc1qBtRuKU3795f2GOtNnIFyvkQRzz2szwlQcJDUuSUkyzkOYF0HMU5g9Qv8y6PpbCO02oGxoh6oW1O4RYh1NpF6A2PaYuZS+Si22w1AaoNGVt4+jQ5B3g8TljBI8ITzkiU0IJQdIqUJa4GNCiDiHqPFdGHN8j0bhKnXym4Qla2mp1Dl1jbfZV7F+/P/rDYzM/Pjt6+fX32LzHaCYtFKU8jlhLmQ0aijGckz8OIpAWMmZ9kPg8YyogaXbTOPvFtZmTTIMpHtTa0LkC71WmrFFbCzFDj2DlFInqTzB95J3RlI9FWDOsXg91IOm8E8ZMkLEMeQpwGiZ+VMRo/7ZF7gb6Hq6FG681enZjy/8P3IvGxCsosTGMe5sC/h+/PdF492ILdZWgeFkGeBTnJgJckKgtGGGcZwX8JYyxgaWCB5BILCfuPN+FIUuS5vAGlRAmfqBKUVT0E13CHOktozHIq29qg5A2tWnQ2GHmmK+wW+UpK4KJ2UGyEeh5tBS4HhLraCus7bWC1R3zYDR913G/klKwA16myTMXvCV3riaCrycTWbB76fpaF/sQe+8V1kbmlMdIMFDYEh9ThhW02tChcYIjcQPBxowN1d6uRytDqYysc1UJWUB4jzIGfkggAfyVpQAqWhTRK04SnVkboY7FQmPltq8bOUyN/ZM/Yl6n5y9J1uiNJaerTggJJgGYkpAUnLPaxO4VBmsUxC8cJ9R6+Cvm+TG5Bv3+8sGyBPnJk2KlfT4NNO++VdfA+aYJ4bH50Mjs/PJm+trTpS4WuT6miK/0iZ+jtocEAGoMlGiF5dCHdzeYfZL5vMSqhoqh2HI+8ti5BVXdI7cNG4JnfQRdKMBgG0VjTgIXxm8CrwF0T21Z7qmQDylgnXd87GLJy1B/CdHBkTm2B8A+icTL8pDg1iPp690ya5EHob79DzA1VCzADc0NDNnlNBxAC8EZU6Gzn5SeLiusPv8qmu+zGr9Cx7b/glSVb31+2q6+cyhOkw7m8hnp3a+Qd01ucntrKIry786QpSfb54FnvHGBku6tnQ6LdNYGpeY4/Eg37i+wjQhzaFThCog9YX05UX15t1drfroceuLAsqxs38Q06KKam67KeblG9tnZW1BRLHNYmbtg7rCpXbf/NXgOuZAb2OBWVnbSe2avvvoM9TPxK1K6LvNDk1Xa26+8dLOTOzuzx9upouJmcL/C8G2q/ycWjJ6p+0PMHPX/Q8zvTc8vPteOlrTcrhpd4c4zQ0YWVmi5FVf60med/6h+2nR89xP3YgVyi7p28lG1VzpZyPRtq6g5Z5d3N/00DD/2T4LjXW0G9sO8X39aWe88838GtRSUZrQbT5v3+l9fed/X+N+5Xnpkvfwi/+OlqqL7+0ELrqlhSNbcvydZOZXO7hXn7B60M1RCgEAAA",
    "output":"H4sIAAAAAAAAA+1V227jNhD9Fz6Lqay7jCKA100WRrvZ1Ek3D4GxoKhhwkYWVZKKYxj+9w4px3E2wSJA07f4wZbJOXM5M2d0vSFG9ZoDGZOrr/PfT//4evX9cj77/PlkTgLCe2PVEvSsxvs0EWlYlDmNMhFTXjJBi1iUFPJRkpYV5GFdImal9J1o1MpjqiQXeVLltAqhoEkhClqWcUJzDqMqzIpQRBViZNv1low3hKumAW6lasn4ekMurOo62d7MWmNZy8H402mvNbT2wjILDjRVNf4WYUDO2NJVYhwMarINyCPSZyNpmGVxHYsY0jzKwqJOMfi5hnupevMGf9vFoUeXzas+F9vg/8idZ2GUsLqI81TEJYj3yP2Fz8UWsyfwALx3bfCxy5hHZRGVtABR06TmFa1EVVD8l1VVFVV55IgUCgdp3mPrBGsMBETdg9ayhm9MS1Y1OwruYI0+a+js7VT1rUXkPWt6TDYKiF13LuvegKY1CNl6Kh5BGm7caOwB12hIgRlLR2SxB5u1sbB8Bc411Ei+xOwOfGwecVo1gOdMYwXue8xWZizZcjx2M1vGYVgUcTh2Zr/86ZUyIo4qC7pljWdqcnXhPHDuC0PmDoBPFwOpz686pS1r/uqll1pccSZSpDkKc5oA4FOWR5RXRcySPM9E7jDSfJE3GjuPGKt7ZJyrtkX9qJ1i3+bmHyfX6TMkY3nIOAOaAStozLigVRomVMRRXqRpFY8yRrY/pfy1Tu5J35Al2FtV7wb0SSMBQft76RfSyTRyO6hRfb1zNtCrYdhZl8Mhmn2fnV1cTs6mJ042u1Fhq3Om2dK8KRn2MLFYQGdxRBMUj+FKO0B4VISh46iGhqHbURqQvq1BN2uU9qSTaPMbGK5lBYdFdC404GB8km2NlsPkD2mfa9WBti5Jv/eODlUZ7IywHQKV0zoiwqNklB1+8oA0sr17bpNnZRSH++8Ye8P0DdiDcIeBXPO6gSAk4FQ2mOyQ5TfHit8Pv6rO7QDWjI4xsf2/6NiJbbdf9qfH3uUZyuFS3UH7/CogX9jDHEzfOIaf3/ywlFT199GL3XnAkduuxJXEhtcEtuYl/yg03C9qVxHy0C/BCxJzwPnyUHO92Lt1z36HHvmynKo7VAM8Dmjn58UMW5aYHt0bF2fJLL8FjWcds7eTpvHT9t/ideBH5iCeYLLpNbyM167fIR42filbv0XeGBL7vGLSniq9e+/gIA9xLp7eXoMMDTQ+zhXao5M3aHH2g6sPeX7I80Oe7yzPvT5XXpdu3raLfwFqecs8DQwAAA==",
    "status":"Success",
    "startDate":1746010380100,
    "endDate":1746010380193,
    "details":{
        "message":"1 events sent"
    },
    "parDateKey":"2025-04-30T00:00:00.000Z"
}

Execution Step Input API

New or Updated API

New

API Endpoint
(New Version)

/qflowapi/v1/executions/{executionId}/
steps/{nodeId}/input

Method

GET

DTD or XSD changes

Not Applicable

Use this API to get the input data passed to a specific step during execution. It is useful for verifying the correctness of input parameters and tracing data flow.

Input ParametersInput Parameters

Parameter

Mandatory/Optional

Data Type

Description

executionId

Mandatory

 String

Provide a valid execution ID. Ensure it is UUID.

For example: '0ffaf046-768b-79fc-83f6-aa25be52c2a1'.

nodeId

Optional

String

Provide a node ID.

For example: node-67649155-filter

Note: Ensure Node ID must not empty.

Authorization 

Mandatory

String

Authorization token to authenticate to the Qualys Cloud Platform.

Prepend token with 'Bearer' and one space.

For example - Bearer <authToken>

Sample: Get the input data passed to a specific step during executionSample: Get the input data passed to a specific step during execution

API Request

curl -X GET
'<qualys_base_url>/qflowapi/v1/executions/0e72b4a1-abea-45b2-9ae9-91cd87506404/steps/node-e3a84822-qualysevent/input'
-H "Accept: application/json"
-H "Content-Type: application/json"
-H "Authorization: Bearer <jwt token>"

Response

"{\"selectedResource\":{\"selectedResourceId\":\"node-e3a84822-workflow-trigger\",\"path\":\"\",\"context\":{\"outputPath\":\"\"},\"label\":\"WorkflowTrigger\"},\"resourceGroup\":[],\"previousOutputPath\":\"\",\"method\":\"RunWorkflow\",\"credentials\":\"********************\",\"previousOutputIsModified\":true,\"project\":[],\"credentials_azure\":\"********************\",\"waitForCompletion\":true,\"executionId\":\"0e72b4a1-abea-45b2-9ae9-91cd87506404\",\"credentials_gcp\":\"********************\",\"cloudType\":\"QUALYS\",\"service\":\"QFLOW\",\"customerId\":\"54f50897-26f3-c9af-83f9-e71459be70d9\",\"conditionalSettings\":{\"expression\":\"\",\"conditions\":[]},\"region\":\"us-east-1\",\"workflowId\":\"f516bcf4-f6fb-46ac-a54f-ddbcf2a2d24a\",\"resourceType\":\"Workflow\",\"previousOutputContext\":{\"outputPath\":\"\"},\"collection\":[{\"source\":\"WORKFLOW_TRIGGER\",\"customerId\":\"54f50897-26f3-c9af-83f9-e71459be70d9\",\"workflowId\":\"b47f74b7-b0e8-48f8-9934-7ce1b0680f2b\",\"input\":{\"collection\":[{\"StoppingInstances\":[{\"CurrentState\":{\"Code\":80,\"Name\":\"stopped\"},\"InstanceId\":\"i-0663d3f3e572608d5\",\"PreviousState\":{\"Code\":80,\"Name\":\"stopped\"}}],\"InstanceIds\":[\"i-0663d3f3e572608d5\"]},{\"StoppingInstances\":[{\"CurrentState\":{\"Code\":80,\"Name\":\"stopped\"},\"InstanceId\":\"i-0c6024ad8375f39ef\",\"PreviousState\":{\"Code\":80,\"Name\":\"stopped\"}}],\"InstanceIds\":[\"i-0c6024ad8375f39ef\"]}]},\"executionId\":\"93c29829-8efd-4dcb-bfb8-efd6bbb2b725\",\"forceRun\":false,\"overrideVariables\":[{\"key\":\"depthCount\",\"value\":2,\"type\":\"user-defined\"},{\"key\":\"region\",\"value\":[\"us-east-1\"],\"type\":\"system-defined\"},{\"key\":\"credentials\",\"value\":[{\"type\":\"role\",\"arn\":\"arn:aws:iam::993493008830:role/QFLOW_1\",\"externalId\":\"AWS\",\"account\":\"993493008830\",\"accountId\":\"993493008830\",\"portalUuid\":\"53bcaf5b-b207-4eeb-b672-cb83a4776f70\",\"isMigrated\":true,\"connectorId\":\"53bcaf5b-b207-4eeb-b672-cb83a4776f70\",\"qflowConnectorId\":\"aa70acae-6ea8-3acf-b504-f327855b316a\"}],\"type\":\"system-defined\"},{\"type\":\"user-defined\",\"value\":{\"method\":\"stopInstances\",\"service\":\"EC2\",\"cloudtype\":\"AWS\",\"resourceType\":\"EC2_INSTANCE\"},\"key\":\"rawParams\"},{\"type\":\"user-defined\",\"value\":{\"maxAttempts\":40,\"score\":\"0.8000\",\"delay\":15,\"underlyingApi\":\"DescribeInstances\",\"parameterBindings\":[{\"sourceProperty\":\"input.InstanceIds\",\"sourceConfidence\":0.4166666666666667,\"linkConfidence\":0.7692307692307693,\"targetProperty\":\"InstanceIds\"}],\"params\":{\"Filters\":[{\"Values\":[\"<optional1>\",\"<optional2>\"],\"Name\":\"<optional>\"}],\"NextToken\":\"<optional>\",\"MaxResults\":\"<optional>\",\"InstanceIds\":[\"obj.StoppingInstances.InstanceId\"]},\"operation\":\"describeInstances\",\"acceptors\":[{\"argument\":\"Reservations[].Instances[].State.Name\",\"expected\":\"stopped\",\"state\":\"success\",\"matcher\":\"pathAll\"},{\"argument\":\"Reservations[].Instances[].State.Name\",\"expected\":\"pending\",\"state\":\"failure\",\"matcher\":\"pathAny\"},{\"argument\":\"Reservations[].Instances[].State.Name\",\"expected\":\"terminated\",\"state\":\"failure\",\"matcher\":\"pathAny\"}],\"waitForState\":\"instanceStopped\"},\"key\":\"selectedWaiter\"},{\"type\":\"user-defined\",\"value\":{\"InstanceStopped\":{\"maxAttempts\":40,\"score\":\"0.8000\",\"delay\":15,\"underlyingApi\":\"DescribeInstances\",\"parameterBindings\":[{\"sourceProperty\":\"input.InstanceIds\",\"sourceConfidence\":0.4166666666666667,\"linkConfidence\":0.7692307692307693,\"targetProperty\":\"InstanceIds\"}],\"params\":{\"Filters\":[{\"Values\":[\"<optional1>\",\"<optional2>\"],\"Name\":\"<optional>\"}],\"NextToken\":\"<optional>\",\"MaxResults\":\"<optional>\",\"InstanceIds\":[\"obj.StoppingInstances.InstanceId\"]},\"operation\":\"describeInstances\",\"acceptors\":[{\"argument\":\"Reservations[].Instances[].State.Name\",\"expected\":\"stopped\",\"state\":\"success\",\"matcher\":\"pathAll\"},{\"argument\":\"Reservations[].Instances[].State.Name\",\"expected\":\"pending\",\"state\":\"failure\",\"matcher\":\"pathAny\"},{\"argument\":\"Reservations[].Instances[].State.Name\",\"expected\":\"terminated\",\"state\":\"failure\",\"matcher\":\"pathAny\"}],\"waitForState\":\"instanceStopped\"}},\"key\":\"waiters\"}]}],\"stepMessage\":\"Child workflow triggered\",\"success\":true,\"meta\":{\"shouldShowStepMessage\":true,\"step\":{\"message\":\"Child workflow triggered\"},\"inputMeta\":{\"length\":0},\"outputMeta\":{\"length\":0}},\"globalVariables\":{\"region\":\"us-east-1\",\"resourceGroup\":[],\"project\":[],\"credentials\":\"********************\",\"credentials_azure\":\"********************\",\"credentials_gcp\":\"********************\",\"taskQueue\":\"soar_conductor_task\"}}"

Execution Step Output API

New or Updated API

New

API Endpoint
(New Version)

/qflowapi/v1/executions/{executionId}/
steps/{nodeId}/output

Method

GET

DTD or XSD changes

Not Applicable

Use this API to get the output generated by a specific step. This helps validate results and understand how data progresses through the workflow.

Input ParametersInput Parameters

Parameter

Mandatory/Optional

Data Type

Description

executionId

Mandatory

 String

Provide a valid execution ID. Ensure it is UUID.

For example: '0ffaf046-768b-79fc-83f6-aa25be52c2a1'.

nodeId

Optional

String

Provide a node ID.

For example: node-67649155-filter

Note: Ensure Node ID must not empty.

Authorization 

Mandatory

String

Authorization token to authenticate to the Qualys Cloud Platform.

Prepend token with 'Bearer' and one space.

For example - Bearer <authToken>

Sample: Get the output generated by a specific stepSample: Get the output generated by a specific step

API Request

curl -X GET
'<qualys_base_url>/qflowapi/v1/executions/0e72b4a1-abea-45b2-9ae9-91cd87506404/steps/node-e3a84822-qualysevent/output'
-H "Accept: application/json"
-H "Content-Type: application/json"
-H "Authorization: Bearer <jwt token>"

Response

"[{\"source\":\"WORKFLOW_TRIGGER\",\"customerId\":\"54f50897-26f3-c9af-83f9-e71459be70d9\",\"workflowId\":\"b47f74b7-b0e8-48f8-9934-7ce1b0680f2b\",\"input\":{\"collection\":[{\"StoppingInstances\":[{\"CurrentState\":{\"Code\":80,\"Name\":\"stopped\"},\"InstanceId\":\"i-0663d3f3e572608d5\",\"PreviousState\":{\"Code\":80,\"Name\":\"stopped\"}}],\"InstanceIds\":[\"i-0663d3f3e572608d5\"]},{\"StoppingInstances\":[{\"CurrentState\":{\"Code\":80,\"Name\":\"stopped\"},\"InstanceId\":\"i-0c6024ad8375f39ef\",\"PreviousState\":{\"Code\":80,\"Name\":\"stopped\"}}],\"InstanceIds\":[\"i-0c6024ad8375f39ef\"]}]},\"executionId\":\"93c29829-8efd-4dcb-bfb8-efd6bbb2b725\",\"forceRun\":false,\"overrideVariables\":[{\"key\":\"depthCount\",\"value\":2,\"type\":\"user-defined\"},{\"key\":\"region\",\"value\":[\"us-east-1\"],\"type\":\"system-defined\"},{\"key\":\"credentials\",\"value\":[{\"type\":\"role\",\"arn\":\"arn:aws:iam::993493008830:role/QFLOW_1\",\"externalId\":\"AWS\",\"account\":\"993493008830\",\"accountId\":\"993493008830\",\"portalUuid\":\"53bcaf5b-b207-4eeb-b672-cb83a4776f70\",\"isMigrated\":true,\"connectorId\":\"53bcaf5b-b207-4eeb-b672-cb83a4776f70\",\"qflowConnectorId\":\"aa70acae-6ea8-3acf-b504-f327855b316a\"}],\"type\":\"system-defined\"},{\"type\":\"user-defined\",\"value\":{\"method\":\"stopInstances\",\"service\":\"EC2\",\"cloudtype\":\"AWS\",\"resourceType\":\"EC2_INSTANCE\"},\"key\":\"rawParams\"},{\"type\":\"user-defined\",\"value\":{\"maxAttempts\":40,\"score\":\"0.8000\",\"delay\":15,\"underlyingApi\":\"DescribeInstances\",\"parameterBindings\":[{\"sourceProperty\":\"input.InstanceIds\",\"sourceConfidence\":0.4166666666666667,\"linkConfidence\":0.7692307692307693,\"targetProperty\":\"InstanceIds\"}],\"params\":{\"Filters\":[{\"Values\":[\"<optional1>\",\"<optional2>\"],\"Name\":\"<optional>\"}],\"NextToken\":\"<optional>\",\"MaxResults\":\"<optional>\",\"InstanceIds\":[\"obj.StoppingInstances.InstanceId\"]},\"operation\":\"describeInstances\",\"acceptors\":[{\"argument\":\"Reservations[].Instances[].State.Name\",\"expected\":\"stopped\",\"state\":\"success\",\"matcher\":\"pathAll\"},{\"argument\":\"Reservations[].Instances[].State.Name\",\"expected\":\"pending\",\"state\":\"failure\",\"matcher\":\"pathAny\"},{\"argument\":\"Reservations[].Instances[].State.Name\",\"expected\":\"terminated\",\"state\":\"failure\",\"matcher\":\"pathAny\"}],\"waitForState\":\"instanceStopped\"},\"key\":\"selectedWaiter\"},{\"type\":\"user-defined\",\"value\":{\"InstanceStopped\":{\"maxAttempts\":40,\"score\":\"0.8000\",\"delay\":15,\"underlyingApi\":\"DescribeInstances\",\"parameterBindings\":[{\"sourceProperty\":\"input.InstanceIds\",\"sourceConfidence\":0.4166666666666667,\"linkConfidence\":0.7692307692307693,\"targetProperty\":\"InstanceIds\"}],\"params\":{\"Filters\":[{\"Values\":[\"<optional1>\",\"<optional2>\"],\"Name\":\"<optional>\"}],\"NextToken\":\"<optional>\",\"MaxResults\":\"<optional>\",\"InstanceIds\":[\"obj.StoppingInstances.InstanceId\"]},\"operation\":\"describeInstances\",\"acceptors\":[{\"argument\":\"Reservations[].Instances[].State.Name\",\"expected\":\"stopped\",\"state\":\"success\",\"matcher\":\"pathAll\"},{\"argument\":\"Reservations[].Instances[].State.Name\",\"expected\":\"pending\",\"state\":\"failure\",\"matcher\":\"pathAny\"},{\"argument\":\"Reservations[].Instances[].State.Name\",\"expected\":\"terminated\",\"state\":\"failure\",\"matcher\":\"pathAny\"}],\"waitForState\":\"instanceStopped\"}},\"key\":\"waiters\"}]}]"

To know more details of these APIs, refer to QFlow API User Guide.