Safebreach
This Connector integrates SafeBreach API with Swimlane Turbine. The SafeBreach breach and attack simulation (BAS) platform allows you to continuously validate all layers of your security by simulating real-world attacks to identify gaps in controls, prioritize and reveal actual risk.
Prerequisites
The SafeBreach Connector asset requires an URL and an API Token to interact with the API.
Capabilities
This connector provides the following capabilities:
- Add Simulation Label
- Delete Simulation Label
- Delete Test Summary
- Get Detailed Test Summaries
- Get Execution History Suggestions
- Get Executions History Results
- Get Service Status
- Get Simulation Stats Regarding Path between Nodes
- Get Simulations Labels
- List Vulnerability Detections for all Simulators
- Post Simulation Stats Regarding Path between Nodes
- Return Insight List
- Return Insight through Post Includes Filters
- Return Remediation Data for a Specified Insight
- Return Remediation Data through Post ... and so on
Notes
Configurations
SafeBreach API Key Authentication
Authenticates using an API Key
Configuration Parameters
Parameter | Description | Type | Required |
|---|---|---|---|
url | A URL to the target host. | string | Required |
x-apitoken | API Token | string | Required |
verify_ssl | Verify SSL certificate | boolean | Optional |
http_proxy | A proxy to route requests through. | string | Optional |
Actions
Add Simulation Label
Add a label to the specified simulation.
Endpoint
- URL: /api/data/v1/accounts/{{accountId}}/rt/simulation/{{simulationId}}/labels/{{labelValue}}
- Method: POST
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.accountId | number | Required | SafeBreach Account ID located in Administration > API Keys. |
path_parameters.simulationId | string | Required | Parameters for the Add Simulation Label action |
path_parameters.labelValue | string | Required | Parameters for the Add Simulation Label action |
parameters.planRunId | string | Optional | The test run ID for which the operation is required, otherwise, use executions table. |
Input Example
{"parameters":{"planRunId":""},"path_parameters":{"accountId":1,"simulationId":"","labelValue":""}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
data | object | Response data |
data.labelValue | string | Response data |
Output Example
{"status_code":200,"response_headers":{"content-length":"140","content-type":"application/json","Date":"Mon, 15 Apr 2024 20:37:23 GMT"},"reason":"OK","json_body":{"data":{"labelValue":"<string>"}}}
Delete Simulation Label
Delete a specified tag from a specified simulation.
Endpoint
- URL: /api/data/v1/accounts/{{accountId}}/rt/simulation/{{simulationId}}/labels/{{labelValue}}
- Method: DELETE
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.accountId | number | Required | SafeBreach Account ID located in Administration > API Keys. |
path_parameters.simulationId | string | Required | Parameters for the Delete Simulation Label action |
path_parameters.labelValue | string | Required | Parameters for the Delete Simulation Label action |
parameters.planRunId | string | Optional | The test run ID for which the operation is required, otherwise, use executions table. |
Input Example
{"parameters":{"planRunId":""},"path_parameters":{"accountId":1,"simulationId":"","labelValue":""}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
data | object | Response data |
data.labelValue | string | Response data |
Output Example
{"status_code":200,"response_headers":{"content-length":"140","content-type":"application/json","Date":"Mon, 15 Apr 2024 20:37:23 GMT"},"reason":"OK","json_body":{"data":{"labelValue":""}}}
Delete Test Summary
Delete the specified test summary and all the results associated with it.
Endpoint
- URL: /api/data/v1/accounts/{{accountId}}/tests/{{planRunId}}
- Method: DELETE
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.accountId | number | Required | SafeBreach Account ID located in Administration > API Keys. |
path_parameters.planRunId | string | Required | Parameters for the Delete Test Summary action |
parameters.softDelete | boolean | Optional | If true, test summary will be marked as deleted and if false, test summary will be deleted from the database. |
Input Example
{"parameters":{"softDelete":true},"path_parameters":{"accountId":1,"planRunId":""}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
status | string | Status value |
Output Example
{"status_code":200,"response_headers":{"content-length":"140","content-type":"application/json","Date":"Mon, 15 Apr 2024 20:37:23 GMT"},"reason":"OK","json_body":{"status":""}}
Get Detailed Test Summaries
Return all detailed test summaries.
Endpoint
- URL: /api/data/v1/accounts/{{accountId}}/detailedTestSummaries
- Method: GET
Input
Argument Name | Type | Required | Description | |
|---|---|---|---|---|
path_parameters.accountId | number | Required | SafeBreach Account ID located in Administration > API Keys. | |
parameters.planRunIds | string | Required | A list of tests runIds to filter by. The elements needs to be separated by pipes ( | ). |
Input Example
{"parameters":{"planRunIds":""},"path_parameters":{"accountId":1}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
Output Example
{"status_code":200,"response_headers":{"content-length":"140","content-type":"application/json","Date":"Mon, 15 Apr 2024 20:37:23 GMT"},"reason":"OK","json_body":[[{},{}],[{},{}]]}
Get Execution History Suggestions
Returns the executions history suggestions.
Endpoint
- URL: /api/data/v1/accounts/{{accountId}}/executionsHistorySuggestions
- Method: GET
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.accountId | number | Required | SafeBreach Account ID located in Administration > API Keys. |
Input Example
{"path_parameters":{"accountId":1}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
Output Example
{"status_code":200,"response_headers":{"content-length":"140","content-type":"application/json","Date":"Mon, 15 Apr 2024 20:37:23 GMT"},"reason":"OK","json_body":[{"moveTagIds":{},"resultCode":"","resultDetails":"","data":"","destNodeName":"","methodId":12,"srcNodeOSType":"","moveTags":{},"paramsStr":"","id":"","packageName":"","srcNodeName":"","moveId":1,"matrixId":2,"destNodeOSType":""},{"moveTagIds":{},"resultCode":"","resultDetails":"","data":"","destNodeName":"","methodId":1,"srcNodeOSType"...
Get Executions History Results
Returns the executions history results.
Endpoint
- URL: /api/data/v1/accounts/{{accountId}}/executionsHistoryResults
- Method: GET
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.accountId | number | Required | SafeBreach Account ID located in Administration > API Keys. |
parameters.runId | string | Required | The run ID for the operation. |
parameters.id | string | Optional | The ID of the execution history record. |
parameters.query | string | Optional | The search query for executions. See README for further details. |
parameters.pageSize | number | Optional | Page size for response paging. If omitted, default page size will be used, if page exists. Otherwise, all results will be returned. |
parameters.page | number | Optional | Page number from the results, starting from 1. If omitted, and page size parameter exists, first page is returned. If both omitted, all results are returned. |
parameters.fileType | string | Optional | If exists, the result will be provided as a file type instead of JSON. |
Input Example
{"parameters":{"runId":"","id":"","query":"","pageSize":300,"page":1,"fileType":"csv"},"path_parameters":{"accountId":1}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
Output Example
{"status_code":200,"response_headers":{"content-length":"140","content-type":"application/json","Date":"Mon, 15 Apr 2024 20:37:23 GMT"},"reason":"OK","json_body":[{"moveTagIds":{},"resultCode":"","resultDetails":"","data":"","destNodeName":"","methodId":1,"srcNodeOSType":"","moveTags":{},"paramsStr":"","id":"","packageName":"","srcNodeName":"","moveId":2,"matrixId":3,"destNodeOSType":""},{"moveTagIds":{},"resultCode":"","resultDetails":"","data":"","destNodeName":"","methodId":1,"srcNodeOSType":...
Get Service Status
Return the current connection status of all system services.
Endpoint
- URL: /api/data/v1/status
- Method: GET
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
data | object | Response data |
Output Example
{"status_code":200,"response_headers":{"content-length":"140","content-type":"application/json","Date":"Mon, 15 Apr 2024 20:37:23 GMT"},"reason":"OK","json_body":{"data":{}}}
Get Simulation Stats Regarding Path between Nodes
Returns list of edges between nodes, and number or methods on each edge.
Endpoint
- URL: /api/data/v1/accounts/{{accountId}}/breachExplorer
- Method: GET
Input
Argument Name | Type | Required | Description | |
|---|---|---|---|---|
path_parameters.accountId | number | Required | SafeBreach Account ID located in Administration > API Keys. | |
parameters.planRunIds | string | Optional | A list of tests runIds to filter by. The elements needs to be separated by pipes ( | ). |
Input Example
{"parameters":{"planRunIds":""},"path_parameters":{"accountId":1}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
results | array | Result of the operation |
results.attackerNodeId | number | Unique identifier |
results.targetNodeId | number | Unique identifier |
results.packageId | number | Unique identifier |
results.count | number | Result of the operation |
Output Example
{"status_code":200,"response_headers":{"content-length":"140","content-type":"application/json","Date":"Mon, 15 Apr 2024 20:37:23 GMT"},"reason":"OK","json_body":{"results":[{},{}]}}
Get Simulations Labels
Returns simulations labels.
Endpoint
- URL: /api/data/v1/accounts/{{accountId}}/executionsHistory/labels
- Method: GET
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.accountId | number | Required | SafeBreach Account ID located in Administration > API Keys. |
Input Example
{"path_parameters":{"accountId":1}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
Output Example
{"status_code":200,"response_headers":{"content-length":"140","content-type":"application/json","Date":"Mon, 15 Apr 2024 20:37:23 GMT"},"reason":"OK","json_body":[{"labelId":"","labelName":""},{"labelId":"","labelName":""}]}
List Vulnerability Detections for all Simulators
Return list of vulnerability detections for all simulators End Fragment.
Endpoint
- URL: /api/data/v1/accounts/{{accountId}}/vulnerabilities
- Method: POST
Input
Argument Name | Type | Required | Description | |
|---|---|---|---|---|
path_parameters.accountId | number | Required | SafeBreach Account ID located in Administration > API Keys. | |
parameters.runIds | string | Optional | A list of tests run IDs to filter by. The elements needs to be separated by pipes ( | ). |
sort | object | Optional | Parameter for List Vulnerability Detections for all Simulators | |
sort.severity | number | Optional | Parameter for List Vulnerability Detections for all Simulators | |
sort.criticalPercent | number | Optional | Parameter for List Vulnerability Detections for all Simulators | |
sort.Distance_From_Infiltration | number | Optional | Parameter for List Vulnerability Detections for all Simulators | |
sort.Direct_Access | number | Optional | Parameter for List Vulnerability Detections for all Simulators | |
sort.Distance_To_Critical | number | Optional | Parameter for List Vulnerability Detections for all Simulators | |
sort.Attack_Surface | number | Optional | Parameter for List Vulnerability Detections for all Simulators | |
filter | object | Optional | Parameter for List Vulnerability Detections for all Simulators | |
filter.severity | object | Optional | Parameter for List Vulnerability Detections for all Simulators | |
filter.severity.type | string | Optional | Type of the resource | |
filter.severity.value | array | Optional | Value for the parameter | |
filter.criticalPercent | object | Optional | Parameter for List Vulnerability Detections for all Simulators | |
filter.criticalPercent.type | string | Optional | Type of the resource | |
filter.criticalPercent.value | array | Optional | Value for the parameter | |
filter.Distance_From_Infiltration | object | Optional | Parameter for List Vulnerability Detections for all Simulators | |
filter.Distance_From_Infiltration.type | string | Optional | Type of the resource | |
filter.Distance_From_Infiltration.value | array | Optional | Value for the parameter | |
filter.Direct_Access | object | Optional | Parameter for List Vulnerability Detections for all Simulators | |
filter.Direct_Access.type | string | Optional | Type of the resource | |
filter.Direct_Access.value | array | Optional | Value for the parameter | |
filter.Distance_To_Critical | object | Optional | Parameter for List Vulnerability Detections for all Simulators | |
filter.Distance_To_Critical.type | string | Optional | Type of the resource | |
filter.Distance_To_Critical.value | array | Optional | Value for the parameter |
Input Example
{"parameters":{"runIds":""},"json_body":{"sort":{"severity":6,"criticalPercent":1,"Distance_From_Infiltration":2,"Direct_Access":3,"Distance_To_Critical":4,"Attack_Surface":5},"filter":{"severity":{"type":"","value":[6,7]},"criticalPercent":{"type":"","value":[8,9]},"Distance_From_Infiltration":{"type":"","value":[1,2]},"Direct_Access":{"type":"","value":[3,4]},"Distance_To_Critical":{"type":"","value":[1,2]},"Attack_Surface":{"type":"","value":[1,2]},"CVSS2":{"type":"","value":[1,2]}},"refresh":true},"path_parameters":{"accountId":1}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
sort | object | Output field: sort |
sort.severity | number | Output field: sort.severity |
sort.criticalPercent | number | Output field: sort.criticalPercent |
sort.Distance_From_Infiltration | number | Output field: sort.Distance_From_Infiltration |
sort.Direct_Access | number | Output field: sort.Direct_Access |
sort.Distance_To_Critical | number | Output field: sort.Distance_To_Critical |
sort.Attack_Surface | number | Output field: sort.Attack_Surface |
filter | object | Output field: filter |
filter.severity | object | Output field: filter.severity |
filter.severity.type | string | Type of the resource |
filter.severity.value | array | Value for the parameter |
filter.criticalPercent | object | Output field: filter.criticalPercent |
filter.criticalPercent.type | string | Type of the resource |
filter.criticalPercent.value | array | Value for the parameter |
filter.Distance_From_Infiltration | object | Output field: filter.Distance_From_Infiltration |
filter.Distance_From_Infiltration.type | string | Type of the resource |
filter.Distance_From_Infiltration.value | array | Value for the parameter |
filter.Direct_Access | object | Output field: filter.Direct_Access |
filter.Direct_Access.type | string | Type of the resource |
filter.Direct_Access.value | array | Value for the parameter |
filter.Distance_To_Critical | object | Output field: filter.Distance_To_Critical |
filter.Distance_To_Critical.type | string | Type of the resource |
filter.Distance_To_Critical.value | array | Value for the parameter |
Output Example
{"status_code":200,"response_headers":{"content-length":"140","content-type":"application/json","Date":"Mon, 15 Apr 2024 20:37:23 GMT"},"reason":"OK","json_body":{"sort":{"severity":1,"criticalPercent":2,"Distance_From_Infiltration":3,"Direct_Access":4,"Distance_To_Critical":5,"Attack_Surface":6},"filter":{"severity":{},"criticalPercent":{},"Distance_From_Infiltration":{},"Direct_Access":{},"Distance_To_Critical":{},"Attack_Surface":{},"CVSS2":{}},"refresh":true}}
Post Simulation Stats Regarding Path between Nodes
Returns list of edges between nodes, and number or methods on each edge.
Endpoint
- URL: /api/data/v1/accounts/{{accountId}}/breachExplorer
- Method: POST
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.accountId | number | Required | SafeBreach Account ID located in Administration > API Keys. |
planRunIds | array | Optional | Unique identifier |
Input Example
{"json_body":{"planRunIds":["string","string"]},"path_parameters":{"accountId":1}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
results | array | Result of the operation |
results.attackerNodeId | number | Unique identifier |
results.targetNodeId | number | Unique identifier |
results.packageId | number | Unique identifier |
results.count | number | Result of the operation |
Output Example
{"status_code":200,"response_headers":{"content-length":"140","content-type":"application/json","Date":"Mon, 15 Apr 2024 20:37:23 GMT"},"reason":"OK","json_body":{"results":[{},{}]}}
Return Insight List
Retrieve the remediation data for an insight based on specified parameters such as simulators involved and type of insight or file.
Endpoint
- URL: /api/data/v1/accounts/{{accountId}}/insights
- Method: GET
Input
Argument Name | Type | Required | Description | |
|---|---|---|---|---|
path_parameters.accountId | number | Required | SafeBreach Account ID located in Administration > API Keys. | |
parameters.type | string | Optional | If exists, type of insights [actionBased, locationBased]. | |
parameters.attackersNodesIds | string | Optional | A list of attackers nodes to filter by. The elements needs to be separated by pipes ( | ). |
parameters.targetNodesIds | string | Optional | A list of targets nodes to filter by. The elements needs to be separated by pipes ( | ). |
parameters.planRunIds | string | Optional | A list of tests runIds to filter by. The elements needs to be separated by pipes ( | ). |
parameters.fileType | string | Optional | The type of result file returned by the request, if not assigned the response will return in a json string format. |
Input Example
{"parameters":{"type":"locationBased","attackersNodesIds":"","targetNodesIds":"","planRunIds":"","fileType":"csv"},"path_parameters":{"accountId":1}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
Output Example
{"status_code":200,"response_headers":{"content-length":"140","content-type":"application/json","Date":"Mon, 15 Apr 2024 20:37:23 GMT"},"reason":"OK","json_body":[{"id":1,"accountId":2,"name":"","priority":3,"title":"","category":"","attacker":"","isExternal":true,"target":"","isCritical":true,"isEnabled":true,"criteria":"","remediation":"","attackTypes":"","attackPhases":""},{"id":1,"accountId":2,"name":"","priority":3,"title":"","category":"","attacker":"","isExternal":true,"target":"","isCrit...
Return Insight through Post Includes Filters
Return the list of insights through POST action.
Endpoint
- URL: /api/data/v1/accounts/{{accountId}}/insights
- Method: POST
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.accountId | number | Required | SafeBreach Account ID located in Administration > API Keys. |
filters | array | Optional | Parameter for Return Insight through Post Includes Filters |
filters.key | string | Optional | Parameter for Return Insight through Post Includes Filters |
filters.TimeRange | object | Optional | Parameter for Return Insight through Post Includes Filters |
filters.size | number | Optional | Parameter for Return Insight through Post Includes Filters |
type | string | Optional | Type of the resource |
Input Example
{"json_body":{"filters":[{"key":"","TimeRange":{},"size":3},{"key":"","TimeRange":{},"size":1}],"type":""},"path_parameters":{"accountId":1}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
Output Example
{"status_code":200,"response_headers":{"content-length":"140","content-type":"application/json","Date":"Mon, 15 Apr 2024 20:37:23 GMT"},"reason":"OK","json_body":[{"id":1,"accountId":2,"name":"","priority":3,"title":"","category":"","attacker":"","isExternal":true,"target":"","isCritical":true,"isEnabled":true,"criteria":"","remediation":"","attackTypes":"","attackPhases":""},{"id":3,"accountId":4,"name":"","priority":5,"title":"","category":"","attacker":"","isExternal":true,"target":"","isCrit...
Return Remediation Data for a Specified Insight
Return the remediation data for a specified insight.
Endpoint
- URL: /api/data/v1/accounts/{{accountId}}/insights/{{insightId}}/remediation
- Method: GET
Input
Argument Name | Type | Required | Description | |
|---|---|---|---|---|
path_parameters.accountId | number | Required | SafeBreach Account ID located in Administration > API Keys. | |
path_parameters.insightId | number | Required | Parameters for the Return Remediation Data for a Specified Insight action | |
parameters.targetNodeId | string | Optional | The target node ID used for remediation calculation. | |
parameters.type | string | Optional | If exists, type of insights [actionBased, locationBased]. | |
parameters.attackersNodesIds | string | Optional | A list of attackers nodes to filter by. The elements needs to be separated by pipes ( | ). |
parameters.vendor | string | Optional | An indication for the remediation data export format. | |
parameters.planRunIds | string | Optional | A list of tests runIds to filter by. The elements needs to be separated by pipes ( | ). |
Input Example
{"parameters":{"targetNodeId":"","type":"locationBased","attackersNodesIds":"","vendor":"paloalto","planRunIds":""},"path_parameters":{"accountId":1,"insightId":2}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
Output Example
{"status_code":200,"response_headers":{"content-length":"140","content-type":"application/json","Date":"Mon, 15 Apr 2024 20:37:23 GMT"},"reason":"OK","json_body":[]}
Return Remediation Data through Post
Get remediation data through post.
Endpoint
- URL: /api/data/v1/accounts/{{accountId}}/insights/{{insightId}}/remediation
- Method: POST
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.accountId | number | Required | SafeBreach Account ID located in Administration > API Keys. |
path_parameters.insightId | number | Required | Parameters for the Return Remediation Data through Post action |
planRunIds | array | Optional | Unique identifier |
attackersNodesIds | array | Optional | Unique identifier |
targetNodeId | string | Optional | Unique identifier |
type | string | Optional | Type of the resource |
vendor | string | Optional | Parameter for Return Remediation Data through Post |
Input Example
{"json_body":{"planRunIds":["",""],"attackersNodesIds":["",""],"targetNodeId":"","type":"locationBased","vendor":"atp"},"path_parameters":{"accountId":1,"insightId":2}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
Output Example
{"status_code":200,"response_headers":{"content-length":"140","content-type":"application/json","Date":"Mon, 15 Apr 2024 20:37:23 GMT"},"reason":"OK","json_body":{}}
Return Report Definitions
Returns a list of report definitions.
Endpoint
- URL: /api/data/v1/accounts/{{accountId}}/reports
- Method: GET
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.accountId | number | Required | SafeBreach Account ID located in Administration > API Keys. |
headers | object | Required | HTTP headers for the request |
headers.X-Deployment-Ids | string | Required | Scope query for deployment. |
Input Example
{"path_parameters":{"accountId":1},"headers":{"X-Deployment-Ids":"1,1"}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
Output Example
{"status_code":200,"response_headers":{"content-length":"140","content-type":"application/json","Date":"Mon, 15 Apr 2024 20:37:23 GMT"},"reason":"OK","json_body":[{"reportId":1,"reportName":"","reportDescription":"","shortDescription":"","icon":""},{"reportId":2,"reportName":"","reportDescription":"","shortDescription":"","icon":""}]}
Return Report Layout
Returns the report layout.
Endpoint
- URL: /api/data/v1/accounts/{{accountId}}/reports/{{reportId}}/layout
- Method: GET
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.accountId | number | Required | SafeBreach Account ID located in Administration > API Keys. |
path_parameters.reportId | number | Required | Parameters for the Return Report Layout action |
Input Example
{"path_parameters":{"accountId":1,"reportId":1}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
rows | array | Output field: rows |
rows.columns | array | Output field: rows.columns |
rows.columns.rows | array | Output field: rows.columns.rows |
rows.columns.rows.value | string | Value for the parameter |
rows.columns.width | object | Unique identifier |
rows.columns.width.xs | number | Unique identifier |
rows.columns.width.sm | number | Unique identifier |
rows.columns.width.md | number | Unique identifier |
rows.columns.width.lg | number | Unique identifier |
rows.columns.widget | object | Unique identifier |
rows.columns.widget.type | string | Unique identifier |
rows.columns.widget.title | object | Unique identifier |
rows.columns.widget.title.title | string | Unique identifier |
rows.columns.widget.title.style | string | Unique identifier |
rows.columns.widget.ds | string | Unique identifier |
rows.columns.widget.settings | object | Unique identifier |
rows.columns.widget.settings.description | string | Unique identifier |
rows.columns.repeat | object | Output field: rows.columns.repeat |
rows.columns.repeat.name | string | Name of the resource |
rows.columns.repeat.forEach | string | Output field: rows.columns.repeat.forEach |
rows.repeat | object | Output field: rows.repeat |
rows.repeat.name | string | Name of the resource |
rows.repeat.forEach | string | Output field: rows.repeat.forEach |
Output Example
{"status_code":200,"response_headers":{"content-length":"140","content-type":"application/json","Date":"Mon, 15 Apr 2024 20:37:23 GMT"},"reason":"OK","json_body":{"rows":[{},{}]}}
Return Report Parameters
Returns a list of report parameters.
Endpoint
- URL: /api/data/v1/accounts/{{accountId}}/reports/{{reportId}}/params
- Method: GET
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.accountId | number | Required | SafeBreach Account ID located in Administration > API Keys. |
path_parameters.reportId | number | Required | Parameters for the Return Report Parameters action |
Input Example
{"path_parameters":{"accountId":1,"reportId":1}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
Output Example
{"status_code":200,"response_headers":{"content-length":"140","content-type":"application/json","Date":"Mon, 15 Apr 2024 20:37:23 GMT"},"reason":"OK","json_body":[{"id":"","name":"","description":"","type":"","items":"","values":[],"def":{},"hidden":true},{"id":"","name":"","description":"","type":"","items":"","values":[],"def":{},"hidden":true}]}
Return Simulator Statistics per Simulator Pair
Returns list of edges between nodes, and number or methods on each edge.
Endpoint
- URL: /api/data/v1/accounts/{{accountId}}/risk
- Method: GET
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.accountId | number | Required | SafeBreach Account ID located in Administration > API Keys. |
parameters.packageId | number | Optional | Attack type. |
parameters.kri | string | Required | Which type of KRI matching the Security Posture report. |
Input Example
{"parameters":{"packageId":1,"kri":"knownAttacks"},"path_parameters":{"accountId":1}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
Output Example
{"status_code":200,"response_headers":{"content-length":"140","content-type":"application/json","Date":"Mon, 15 Apr 2024 20:37:23 GMT"},"reason":"OK","json_body":[{"targetNodeId":"","attackerNodeId":"","SUCCESS":1,"FAIL":0},{"targetNodeId":"","attackerNodeId":"","SUCCESS":1,"FAIL":0}]}
Return Step Summary
Return the summary info for a step within a test.
Endpoint
- URL: /api/data/v1/accounts/{{accountId}}/stepSummary/{{stepRunId}}
- Method: GET
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.accountId | number | Required | SafeBreach Account ID located in Administration > API Keys. |
path_parameters.stepRunId | string | Required | Parameters for the Return Step Summary action |
Input Example
{"path_parameters":{"accountId":1,"stepRunId":""}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
Output Example
{"status_code":200,"response_headers":{"content-length":"140","content-type":"application/json","Date":"Mon, 15 Apr 2024 20:37:23 GMT"},"reason":"OK","json_body":[{"id":"","matrixName":"","matrixId":1,"userId":109,"isScheduled":true,"isCompleted":true,"comment":"","status":"","blocked":2,"constraintsSkipped":3,"assumedBlocked":4,"notBlocked":5,"internalFail":6,"startTime":7,"endTime":""},{"id":"","matrixName":"","matrixId":1,"userId":109,"isScheduled":true,"isCompleted":true,"comment":"","status...
Return Test Running Info
Return the number of simulations which were blocked, not-blocked, and with no results for the specified test.
Endpoint
- URL: /api/data/v1/accounts/{{accountId}}/matrices/{{matrixId}}/stats
- Method: GET
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.accountId | number | Required | SafeBreach Account ID located in Administration > API Keys. |
path_parameters.matrixId | number | Required | Parameters for the Return Test Running Info action |
parameters.fromDate | string | Required | The execution date to start looking from. |
parameters.toDate | string | Required | The upper limit of execution time to search for documents. |
Input Example
{"parameters":{"fromDate":"2023-11-28T04:24:00.121Z","toDate":"2023-12-28T04:24:00.121Z"},"path_parameters":{"accountId":1,"matrixId":2}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
blockedSimulations | number | Output field: blockedSimulations |
unblockedSimulations | number | Output field: unblockedSimulations |
failedSimulations | number | Output field: failedSimulations |
Output Example
{"status_code":200,"response_headers":{"content-length":"140","content-type":"application/json","Date":"Mon, 15 Apr 2024 20:37:23 GMT"},"reason":"OK","json_body":{"blockedSimulations":1,"unblockedSimulations":2,"failedSimulations":3}}
Return Test Summary
Return the test summary info for a specific test End Fragment.
Endpoint
- URL: /api/data/v1/accounts/{{accountId}}/testsummaries/{{planRunId}}
- Method: GET
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.accountId | number | Required | SafeBreach Account ID located in Administration > API Keys. |
path_parameters.planRunId | string | Required | Parameters for the Return Test Summary action |
Input Example
{"path_parameters":{"accountId":1,"planRunId":""}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
Output Example
{"status_code":200,"response_headers":{"content-length":"140","content-type":"application/json","Date":"Mon, 15 Apr 2024 20:37:23 GMT"},"reason":"OK","json_body":[{"id":"","matrixName":"","matrixId":1,"userId":109,"isScheduled":true,"isCompleted":true,"comment":"","status":"","blocked":2,"constraintsSkipped":3,"assumedBlocked":4,"notBlocked":5,"internalFail":6,"startTime":7,"endTime":""},{"id":"","matrixName":"","matrixId":1,"userId":12345,"isScheduled":true,"isCompleted":false,"comment":"","sta...
Return Test Summary list
Return a list of all test summaries.
Endpoint
- URL: /api/data/v1/accounts/{{accountId}}/testsummaries
- Method: GET
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.accountId | number | Required | SafeBreach Account ID located in Administration > API Keys. |
parameters.planId | number | Optional | The plan ID as appears in the plan. |
parameters.status | string | Optional | The plan status. |
parameters.size | number | Optional | The amount of plan summaries to return. |
parameters.simulationId | string | Optional | The unique identifier of a single simulation. |
parameters.sortBy | string | Optional | The sortBy field - summaries without this field will be removed. |
Input Example
{"parameters":{"planId":1,"status":"","size":100,"simulationId":"","sortBy":"endTime"},"path_parameters":{"accountId":1}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
Output Example
{"status_code":200,"response_headers":{"content-length":"140","content-type":"application/json","Date":"Mon, 15 Apr 2024 20:37:23 GMT"},"reason":"OK","json_body":[[{},{}],[{},{}]]}
Returns Execution History Suggestions through Post
Returns the executions suggestions through post.
Endpoint
- URL: /api/data/v1/accounts/{{accountId}}/executionsHistorySuggestions
- Method: POST
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.accountId | number | Required | SafeBreach Account ID located in Administration > API Keys. |
runId | string | Optional | Unique identifier |
query | string | Optional | Parameter for Returns Execution History Suggestions through Post |
Input Example
{"json_body":{"runId":"","query":""},"path_parameters":{"accountId":1}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
Output Example
{"status_code":200,"response_headers":{"content-length":"140","content-type":"application/json","Date":"Mon, 15 Apr 2024 20:37:23 GMT"},"reason":"OK","json_body":[{"moveTagIds":{},"resultCode":"","resultDetails":"","data":"","destNodeName":"","methodId":1,"srcNodeOSType":"","moveTags":{},"paramsStr":"","id":"","packageName":"","srcNodeName":"","moveId":2,"matrixId":3,"destNodeOSType":""},{"moveTagIds":{},"resultCode":"","resultDetails":"","data":"","destNodeName":"","methodId":1,"srcNodeOSType":...
Returns Mitre Stats
Returns Mitre stats.
Endpoint
- URL: /api/data/v1/accounts/{{accountId}}/mitre/stats
- Method: GET
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.accountId | number | Required | SafeBreach Account ID located in Administration > API Keys. |
parameters.query | string | Optional | The search query for executions. See README for further details. |
Input Example
{"parameters":{"query":""},"path_parameters":{"accountId":1}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
Output Example
{"status_code":200,"response_headers":{"content-length":"140","content-type":"application/json","Date":"Mon, 15 Apr 2024 20:37:23 GMT"},"reason":"OK","json_body":[{"name":"","id":"","sort":1,"alerts":2,"result":{},"status":{},"mitreTechniques":[]},{"name":"","id":"","sort":1,"alerts":2,"result":{},"status":{},"mitreTechniques":[]}]}
Returns the Dashboards Query through Post
Returns the dashboards query.
Endpoint
- URL: /api/data/v1/accounts/{{accountId}}/dashboards
- Method: POST
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.accountId | number | Required | SafeBreach Account ID located in Administration > API Keys. |
label | string | Optional | Parameter for Returns the Dashboards Query through Post |
id | string | Optional | Unique identifier |
queryArgs | array | Optional | Parameter for Returns the Dashboards Query through Post |
queryArgs.key | string | Optional | Parameter for Returns the Dashboards Query through Post |
queryArgs.TimeRange | object | Optional | Parameter for Returns the Dashboards Query through Post |
queryArgs.size | number | Optional | Parameter for Returns the Dashboards Query through Post |
chart | string | Optional | Parameter for Returns the Dashboards Query through Post |
time | string | Optional | Time value |
showNa | boolean | Optional | Parameter for Returns the Dashboards Query through Post |
isSplit | boolean | Optional | Parameter for Returns the Dashboards Query through Post |
orderBy | object | Optional | Parameter for Returns the Dashboards Query through Post |
filters | array | Optional | Parameter for Returns the Dashboards Query through Post |
filters.key | string | Optional | Parameter for Returns the Dashboards Query through Post |
filters.value | array | Optional | Value for the parameter |
Input Example
{"json_body":{"label":"","id":"","queryArgs":[{"key":"","TimeRange":{},"size":7},{"key":"","TimeRange":{},"size":8}],"chart":"","time":"","showNa":true,"isSplit":true,"orderBy":{},"filters":[{"key":"","value":["",""]},{"key":"","value":["",""]}]},"path_parameters":{"accountId":1}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
hits | object | Output field: hits |
aggregations | object | Output field: aggregations |
fugiat_cd | string | Output field: fugiat_cd |
Output Example
{"status_code":200,"response_headers":{"content-length":"140","content-type":"application/json","Date":"Mon, 15 Apr 2024 20:37:23 GMT"},"reason":"OK","json_body":{"hits":{},"aggregations":{},"fugiat_cd":"irure labore mollit occaecat"}}
Returns the Execution History Results through Post
Returns the executions history results.
Endpoint
- URL: /api/data/v1/accounts/{{accountId}}/executionsHistoryResults
- Method: POST
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.accountId | number | Required | SafeBreach Account ID located in Administration > API Keys. |
runId | string | Optional | Unique identifier |
id | string | Optional | Unique identifier |
query | string | Optional | Parameter for Returns the Execution History Results through Post |
pageSize | number | Optional | Parameter for Returns the Execution History Results through Post |
page | number | Optional | Parameter for Returns the Execution History Results through Post |
fileType | string | Optional | Type of the resource |
Input Example
{"json_body":{"runId":"","id":"","query":"","pageSize":300,"page":1,"fileType":"csv"},"path_parameters":{"accountId":1}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
Output Example
{"status_code":200,"response_headers":{"content-length":"140","content-type":"application/json","Date":"Mon, 15 Apr 2024 20:37:23 GMT"},"reason":"OK","json_body":[{"moveTagIds":{},"resultCode":"","resultDetails":"","data":"","destNodeName":"","methodId":1,"srcNodeOSType":"","moveTags":{},"paramsStr":"","id":"","packageName":"","srcNodeName":"","moveId":2,"matrixId":3,"destNodeOSType":""},{"moveTagIds":{},"resultCode":"","resultDetails":"","data":"","destNodeName":"","methodId":1,"srcNodeOSType":...
Returns the Executions
Returns the executions.
Endpoint
- URL: /api/data/v1/accounts/{{accountId}}/simulationsSummaryResults
- Method: POST
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.accountId | number | Required | SafeBreach Account ID located in Administration > API Keys. |
query | string | Optional | Parameter for Returns the Executions |
parsedQuery | string | Optional | Parameter for Returns the Executions |
simulationsIds | array | Optional | Unique identifier |
methodIds | array | Optional | HTTP method to use |
Input Example
{"json_body":{"query":"","parsedQuery":"","simulationsIds":["",""],"methodIds":[1,2]},"path_parameters":{"accountId":1}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
runId | string | Unique identifier |
Output Example
{"status_code":200,"response_headers":{"content-length":"140","content-type":"application/json","Date":"Mon, 15 Apr 2024 20:37:23 GMT"},"reason":"OK","json_body":{"runId":""}}
Returns the Executions of Test Specified by ID
Returns the executions of the test specified by the ID.
Endpoint
- URL: /api/data/v1/accounts/{{accountId}}/executionsHistoryResults/{{id}}
- Method: GET
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.accountId | number | Required | SafeBreach Account ID located in Administration > API Keys. |
path_parameters.id | string | Required | Parameters for the Returns the Executions of Test Specified by ID action |
parameters.runId | string | Required | The run ID(test ID) which the simulation belongs to. |
Input Example
{"parameters":{"runId":""},"path_parameters":{"accountId":1,"id":""}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
moveTagIds | object | Unique identifier |
resultCode | string | Result of the operation |
resultDetails | string | Result of the operation |
data | string | Response data |
destNodeName | string | Name of the resource |
methodId | number | HTTP method to use |
srcNodeOSType | string | Type of the resource |
moveTags | object | Output field: moveTags |
paramsStr | string | Output field: paramsStr |
id | string | Unique identifier |
packageName | string | Name of the resource |
srcNodeName | string | Name of the resource |
moveId | number | Unique identifier |
matrixId | number | Unique identifier |
destNodeOSType | string | Type of the resource |
packageId | number | Unique identifier |
params | string | Output field: params |
labels | array | Output field: labels |
assetType | string | Type of the resource |
srcNodeId | string | Unique identifier |
destNodeId | string | Unique identifier |
executionTime | string | Time value |
latestExec | string | Output field: latestExec |
Output Example
{"status_code":200,"response_headers":{"content-length":"140","content-type":"application/json","Date":"Mon, 15 Apr 2024 20:37:23 GMT"},"reason":"OK","json_body":{"moveTagIds":{},"resultCode":"","resultDetails":"","data":"","destNodeName":"","methodId":1,"srcNodeOSType":"","moveTags":{},"paramsStr":"","id":"","packageName":"","srcNodeName":"","moveId":2,"matrixId":3,"destNodeOSType":""}}
Run a Report
Run a single report, with specified parameters.
Endpoint
- URL: /api/data/v1/accounts/{{accountId}}/reports/{{reportId}}/generator
- Method: POST
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.accountId | number | Required | SafeBreach Account ID located in Administration > API Keys. |
path_parameters.reportId | number | Required | Parameters for the Run a Report action |
parameters.outputFormat | string | Required | The output format for the report. Can be 'json'. |
headers | object | Required | HTTP headers for the request |
headers.X-Deployment-Ids | string | Required | Scope query for deployment. |
params | array | Optional | Parameter for Run a Report |
params.prm | string | Optional | Parameter for Run a Report |
params.vals | array | Optional | Parameter for Run a Report |
params.vals.description | string | Optional | Parameter for Run a Report |
dataSets | array | Optional | Response data |
dataSets.id | string | Optional | Response data |
dataSets.page | number | Optional | Response data |
dataSets.pageSize | number | Optional | Response data |
runIds | array | Optional | Unique identifier |
Input Example
{"parameters":{"outputFormat":"json"},"json_body":{"params":[{"prm":"","vals":[{"description":"Parameter value"},{"description":"Parameter value"}]},{"prm":"","vals":[{"description":"Parameter value"},{"description":"Parameter value"}]}],"dataSets":[{"id":"","page":1,"pageSize":2},{"id":"","page":3,"pageSize":4}],"runIds":["",""]},"path_parameters":{"accountId":1,"reportId":1},"headers":{"X-Deployment-Ids":"1,1"}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
Output Example
{"status_code":200,"response_headers":{"content-length":"140","content-type":"application/json","Date":"Mon, 15 Apr 2024 20:37:23 GMT"},"reason":"OK","json_body":[{"id":"","total":1,"results":[]},{"id":"","total":2,"results":[]}]}
Update Test Summary
Update the test summary information End Fragment.
Endpoint
- URL: /api/data/v1/accounts/{{accountId}}/testsummaries/{{planRunId}}
- Method: PUT
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.accountId | number | Required | SafeBreach Account ID located in Administration > API Keys. |
path_parameters.planRunId | string | Required | Parameters for the Update Test Summary action |
parameters.userId | number | Optional | The fields to update. |
comment | string | Optional | Parameter for Update Test Summary |
Input Example
{"parameters":{"userId":3},"json_body":{"comment":""},"path_parameters":{"accountId":1,"planRunId":""}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
data | object | Response data |
data.planRunId | string | Response data |
data.comment | string | Response data |
Output Example
{"status_code":200,"response_headers":{"content-length":"140","content-type":"application/json","Date":"Mon, 15 Apr 2024 20:37:23 GMT"},"reason":"OK","json_body":{"data":{"planRunId":"","comment":""}}}
Response Headers
Header | Description | Example |
|---|---|---|
content-length | The length of the response body in bytes | 140 |
content-type | The media type of the resource | application/json |
Date | The date and time at which the message was originated | Mon, 15 Apr 2024 20:37:23 GMT |