Update Module
curl --request PUT \
--url https://api.docketqa.com/modules/{module_id} \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"title": "<string>",
"steps": [
{
"step_number": 123,
"type": "<string>",
"action": "<string>",
"use_vision": true,
"test_blueprint_module_id": 123,
"api_request": {
"url": "<string>",
"method": "<string>",
"headers": {},
"body": {},
"timeout": 123,
"retries": 123,
"backoff_seconds": 123,
"should_refresh_page": true
},
"trigger_run_config": {
"test_blueprint_id": 123
},
"assert_images_count": 123,
"disable_self_healing": true,
"click_count": 123,
"hold_start_duration": 123,
"hold_end_duration": 123
}
],
"test_blueprint_category_id": 123,
"folder_path": "<string>"
}
'{
"message": "<string>",
"module": {
"id": 123,
"title": "<string>",
"type": "<string>",
"status": "<string>",
"company_id": 123,
"test_blueprint_category_id": 123,
"test_blueprint_category_name": "<string>",
"folder_path": "<string>",
"test_steps": [
{
"id": 123,
"step_number": 123,
"type": "<string>",
"action": "<string>",
"use_vision": true,
"test_blueprint_module_id": 123,
"api_request": {},
"trigger_run_config": {},
"disable_self_healing": true,
"click_count": 123,
"hold_start_duration": 123,
"hold_end_duration": 123,
"assert_images_count": 123,
"attached_file_ids": [
123
]
}
],
"test_blueprints_using_module": [
{}
],
"usage_count": 123,
"created_at": "<string>",
"updated_at": "<string>"
}
}Modules
Update Module
PUT
/
modules
/
{module_id}
Update Module
curl --request PUT \
--url https://api.docketqa.com/modules/{module_id} \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"title": "<string>",
"steps": [
{
"step_number": 123,
"type": "<string>",
"action": "<string>",
"use_vision": true,
"test_blueprint_module_id": 123,
"api_request": {
"url": "<string>",
"method": "<string>",
"headers": {},
"body": {},
"timeout": 123,
"retries": 123,
"backoff_seconds": 123,
"should_refresh_page": true
},
"trigger_run_config": {
"test_blueprint_id": 123
},
"assert_images_count": 123,
"disable_self_healing": true,
"click_count": 123,
"hold_start_duration": 123,
"hold_end_duration": 123
}
],
"test_blueprint_category_id": 123,
"folder_path": "<string>"
}
'{
"message": "<string>",
"module": {
"id": 123,
"title": "<string>",
"type": "<string>",
"status": "<string>",
"company_id": 123,
"test_blueprint_category_id": 123,
"test_blueprint_category_name": "<string>",
"folder_path": "<string>",
"test_steps": [
{
"id": 123,
"step_number": 123,
"type": "<string>",
"action": "<string>",
"use_vision": true,
"test_blueprint_module_id": 123,
"api_request": {},
"trigger_run_config": {},
"disable_self_healing": true,
"click_count": 123,
"hold_start_duration": 123,
"hold_end_duration": 123,
"assert_images_count": 123,
"attached_file_ids": [
123
]
}
],
"test_blueprints_using_module": [
{}
],
"usage_count": 123,
"created_at": "<string>",
"updated_at": "<string>"
}
}Update an existing module’s title, browser settings, and steps. When steps are provided, all existing steps are replaced with the new set.
The ID of the module to update.
Request body
All fields are optional. Only provided fields will be updated.The updated module name. Must be between 1 and 128 characters and unique within your account.
The new set of steps for the module. Replaces all existing steps.
Show Step object properties
Show Step object properties
The position of this step in the sequence (starting from 1). Must be unique within the module.
The step type. Available types:AI steps:
"act"— an AI-driven browser action (e.g. click, type, navigate). Action text must not be empty."assert"— an AI-driven assertion that verifies something on the page.
"step_module"— execute another module (nested). Requirestest_blueprint_module_id."trigger_run"— trigger another test as a sub-run. Requirestrigger_run_config.
"api"— make an HTTP request. Requiresapi_request.
"key"— press a keyboard key."type"— type text into the focused element."mouse_move"— move the mouse to coordinates."left_click"— left click at coordinates."left_click_drag"— click and drag from one point to another."right_click"— right click at coordinates."double_click"— double click at coordinates."triple_click"— triple click at coordinates."scroll"— scroll the page."wait"— wait for a duration.
"deeplink"— open a deep link URL. Only executed when the module runs on an iOS or Android worker; ignored on browser workers.
The legacy
"module" type is not allowed. Use "step_module" for nested modules.A natural language instruction describing what the step should do. For recorded steps, this contains the coordinates or key data. For
api steps, this can be left empty.Whether to enable vision (screenshot analysis) for this step. Defaults to
false.The ID of the module to execute. Required when
type is "step_module".The HTTP request configuration. Required for steps with
type: "api".Show API request properties
Show API request properties
The full URL to send the request to.
The HTTP method (e.g.
"GET", "POST", "PUT", "DELETE").Key-value pairs for request headers.
The request body (for POST, PUT, PATCH requests).
Request timeout in seconds. Defaults to
60.Number of retries on failure. Defaults to
1.Delay between retries in seconds. Defaults to
2.5.Whether to refresh the browser page after the API call. Defaults to
false.Configuration for triggering another test. Required when
type is "trigger_run".Show Trigger run config properties
Show Trigger run config properties
The ID of the test blueprint to trigger as a sub-run.
Number of screenshot images to capture for assertion steps. Defaults to
5.Disable automatic self-healing for this step. Defaults to
false.Number of clicks to perform for click-type steps. Defaults to
1.Duration in seconds to hold before the action. Defaults to
0.Duration in seconds to hold after the action. Defaults to
0.The ID of the test suite this module belongs to.
The folder path for organizing the module.
Example request body
{
"title": "Updated Login Module",
"steps": [
{
"step_number": 1,
"type": "act",
"action": "Navigate to the updated login page",
"use_vision": false
},
{
"step_number": 2,
"type": "step_module",
"action": "Run nested auth module",
"test_blueprint_module_id": 50
}
]
}
Response
A confirmation message (e.g.
"Module updated successfully").The updated module object.
Show Properties
Show Properties
The unique ID of the module.
The updated module name.
Always
"step_module" for modules.The module status.
Your company ID.
The test suite ID, if set.
The name of the test suite, if set.
The folder path of the module.
The updated list of steps.
Show Step response properties
Show Step response properties
The unique step ID.
Position of this step in the sequence.
The step type (see step types for all values).
The step instruction.
Whether vision is enabled for this step.
The referenced module ID (for
step_module steps).The API request configuration (for
api steps).The trigger run configuration (for
trigger_run steps).Whether self-healing is disabled.
Number of clicks for this step.
Hold duration before the action.
Hold duration after the action.
Number of assertion images captured.
IDs of files attached to this step.
Tests referencing this module.
Number of tests using this module.
ISO 8601 timestamp of when the module was created.
ISO 8601 timestamp of the last update.
Example response
{
"message": "Module updated successfully",
"module": {
"id": 963,
"title": "Updated Login Module",
"type": "step_module",
"status": "active",
"company_id": 23,
"test_blueprint_category_id": null,
"folder_path": "/",
"usage_count": 0,
"test_blueprints_using_module": [],
"test_steps": [
{
"id": 23108,
"step_number": 1,
"type": "act",
"action": "Navigate to the updated login page",
"use_vision": false,
"test_blueprint_module_id": null,
"api_request": null,
"trigger_run_config": null,
"disable_self_healing": false,
"click_count": 1
},
{
"id": 23109,
"step_number": 2,
"type": "step_module",
"action": "Run nested auth module",
"use_vision": false,
"test_blueprint_module_id": 50,
"api_request": null,
"trigger_run_config": null,
"disable_self_healing": false,
"click_count": 1
}
],
"created_at": "2025-12-13T18:56:48.692214+00:00",
"updated_at": "2025-12-13T20:00:51.903151+00:00"
}
}
Updating a module replaces all existing steps with the steps provided in the request body. Make sure to include all steps you want to keep.
⌘I

