Scenario API Server (6.0.0)

Download OpenAPI specification:

The Scenario API drives the full lifecycle of a M&NTIS lab: browse the catalog (scenarios, unit attacks, topologies, baseboxes), create and run a lab, follow its execution, and retrieve remote access to the deployed machines.

Base URL

All paths below are relative to the /lab mount of the Scenario service:

https://app.<your-domain>/api/scenario/lab

Pick your domain from the Servers selector above (defaults to mantis-platform.io).

Authentication

Every request requires an OpenID Connect access token, passed as a Authorization: Bearer <token> header. Most calls also expect a X-Workspace-Id (and optionally X-Organization-Id) header to resolve your lab quota and permissions. Use the Authorize button above to try calls from this page.

See the Authentication guide for how to obtain a token, and the Quickstart for a complete "launch a lab" walkthrough in cURL and Python.

Errors

Errors use standard HTTP status codes and a JSON body of the form { "detail": "<human-readable message>" }. Common codes: 401 (missing/invalid token), 403 (not permitted / quota exceeded), 404 (unknown resource), 5xx (upstream error).

version

Scenario API and Cyber Range versions.

Get Scenario API version

Get the scenario API version.

Responses

Request samples

curl -X GET "https://app.mantis-platform.io/api/scenario/lab/version"

Response samples

Content type
application/json
"string"

Get Scenario API version Deprecated

Get the scenario API version.

Responses

Request samples

curl -X GET "https://app.mantis-platform.io/api/scenario/lab/version/"

Response samples

Content type
application/json
"string"

Get CyberRange version

Get the version of the CyberRange.

Responses

Request samples

curl -X GET "https://app.mantis-platform.io/api/scenario/lab/version/cyberrange"

Response samples

Content type
application/json
"string"

scenario

Browse scenarios and launch labs.

Scenario Api

Get all available scenarios and previews of public non-free scenarios.

scenario_preview_list is only populated for users on a free or trial plan, to avoid duplicates with scenario_list for users who already have full access.

Authorizations:
OpenIdConnect

Responses

Request samples

curl "https://app.mantis-platform.io/api/scenario/lab/scenario/" \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-Workspace-Id: $WORKSPACE_ID"

Response samples

Content type
application/json
{
  • "scenario_list": [
    ],
  • "scenario_preview_list": [
    ]
}

Scenario Item

Get a specific scenario.

Authorizations:
OpenIdConnect
path Parameters
scenario_name
required
string (Scenario Name)

Name of the scenario.

Responses

Request samples

curl -X GET "https://app.mantis-platform.io/api/scenario/lab/scenario/<scenario_name>" \
  -H "Authorization: Bearer $TOKEN"

Response samples

Content type
application/json
{
  • "name": "my-scenario",
  • "keywords": [ ],
  • "description": "",
  • "description_fr": "",
  • "long_description": [ ],
  • "long_description_fr": [ ],
  • "unit_attacks": [ ],
  • "attacks": [ ],
  • "mitre_tags": [ ],
  • "steps": {
    },
  • "timestamps": {
    },
  • "scenario_profiles": [ ],
  • "creation_date": "2019-08-24T14:15:22Z",
  • "last_update": "2019-08-24T14:15:22Z",
  • "learning_context": "",
  • "metadata": {
    },
  • "scenario_params_schema": [ ],
  • "documentation_link": "string"
}

Scenario Create Lab Post

Create a lab associated with a given scenario, in a CREATED state, so that it can later be run.

Authorizations:
OpenIdConnect
query Parameters
workspace_id
required
string (Workspace Id)

Identifier of the workspace the operation applies to.

Request Body schema: application/json
required
required
object (LabConfig)

Configuration describing a lab to create or run.

This is the body of every .../create_lab and .../run_lab endpoint (wrapped as {"lab_config": {...}}). content_type and content_name select what to launch; the remaining fields tune execution, telemetry and access.

PublicAccessConfig (object) or null

Responses

Request samples

Content type
application/json
{
  • "lab_config": {
    },
  • "public_access_config": {
    }
}

Response samples

Content type
application/json
"string"

Scenario Run Lab Post

Create a lab associated with a given scenario, and run it.

Authorizations:
OpenIdConnect
query Parameters
workspace_id
required
string (Workspace Id)

Identifier of the workspace the operation applies to.

Request Body schema: application/json
required
required
object (LabConfig)

Configuration describing a lab to create or run.

This is the body of every .../create_lab and .../run_lab endpoint (wrapped as {"lab_config": {...}}). content_type and content_name select what to launch; the remaining fields tune execution, telemetry and access.

PublicAccessConfig (object) or null

Responses

Request samples

Content type
application/json
{
  • "lab_config": {
    },
  • "public_access_config": {
    }
}

Response samples

Content type
application/json
"string"

topology

Browse network topologies and launch topology-only labs.

Topology Api

Get all available topologies.

Authorizations:
OpenIdConnect

Responses

Request samples

curl -X GET "https://app.mantis-platform.io/api/scenario/lab/topology/" \
  -H "Authorization: Bearer $TOKEN"

Response samples

Content type
application/json
[
  • {
    }
]

Topology Item

Get a specific topology.

Authorizations:
OpenIdConnect
query Parameters
topology_name
required
string (Topology Name)

Name of the topology.

Workspace Id (string) or Workspace Id (null) (Workspace Id)

Identifier of the workspace the operation applies to.

Responses

Request samples

curl -X GET "https://app.mantis-platform.io/api/scenario/lab/topology/info?topology_name=<topology_name>" \
  -H "Authorization: Bearer $TOKEN"

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "content": {
    },
  • "resource_access": {
    }
}

Topology Create Lab Post

Create a lab associated with a given topology, in a CREATED state, so that it can later be run.

Authorizations:
OpenIdConnect
query Parameters
workspace_id
required
string (Workspace Id)

Identifier of the workspace the operation applies to.

Request Body schema: application/json
required
required
object (LabConfig)

Configuration describing a lab to create or run.

This is the body of every .../create_lab and .../run_lab endpoint (wrapped as {"lab_config": {...}}). content_type and content_name select what to launch; the remaining fields tune execution, telemetry and access.

PublicAccessConfig (object) or null

Responses

Request samples

Content type
application/json
{
  • "lab_config": {
    },
  • "public_access_config": {
    }
}

Response samples

Content type
application/json
"string"

Topology Run Lab Post

Create a lab associated with a given topology, and run it.

Authorizations:
OpenIdConnect
query Parameters
workspace_id
required
string (Workspace Id)

Identifier of the workspace the operation applies to.

Request Body schema: application/json
required
required
object (LabConfig)

Configuration describing a lab to create or run.

This is the body of every .../create_lab and .../run_lab endpoint (wrapped as {"lab_config": {...}}). content_type and content_name select what to launch; the remaining fields tune execution, telemetry and access.

PublicAccessConfig (object) or null

Responses

Request samples

Content type
application/json
{
  • "lab_config": {
    },
  • "public_access_config": {
    }
}

Response samples

Content type
application/json
"string"

basebox

Browse VM base images and launch single-VM labs.

Basebox Api

Get all available baseboxes.

Authorizations:
OpenIdConnect

Responses

Request samples

curl -X GET "https://app.mantis-platform.io/api/scenario/lab/basebox/" \
  -H "Authorization: Bearer $TOKEN"

Response samples

Content type
application/json
[
  • {
    }
]

Basebox Item

Get a specific basebox.

Authorizations:
OpenIdConnect
path Parameters
basebox_id
required
string (Basebox Id)

Identifier of the basebox.

Responses

Request samples

curl -X GET "https://app.mantis-platform.io/api/scenario/lab/basebox/<basebox_id>" \
  -H "Authorization: Bearer $TOKEN"

Response samples

Content type
application/json
{
  • "id": "ubuntu_22_04",
  • "description": "string",
  • "operating_system": "Ubuntu 22.04",
  • "system_type": "linux",
  • "language": "english",
  • "installation_date": "2019-08-24T14:15:22Z",
  • "role": "client",
  • "username": "string",
  • "password": "string",
  • "admin_username": "string",
  • "admin_password": "string",
  • "nb_proc": 2,
  • "memory_size": 4096,
  • "cpes": {
    },
  • "sha256sum": "string",
  • "changelog": [
    ],
  • "storage_bus": "string",
  • "credentials": [
    ],
  • "active": true,
  • "hostname": "string",
  • "depends_on": [
    ]
}

Basebox Create Lab Post

Create a lab associated with a given basebox, in a CREATED state, so that it can later be run.

Authorizations:
OpenIdConnect
query Parameters
workspace_id
required
string (Workspace Id)

Identifier of the workspace the operation applies to.

Request Body schema: application/json
required
required
object (LabConfig)

Configuration describing a lab to create or run.

This is the body of every .../create_lab and .../run_lab endpoint (wrapped as {"lab_config": {...}}). content_type and content_name select what to launch; the remaining fields tune execution, telemetry and access.

PublicAccessConfig (object) or null

Responses

Request samples

Content type
application/json
{
  • "lab_config": {
    },
  • "public_access_config": {
    }
}

Response samples

Content type
application/json
"string"

Basebox Run Lab Post

Create a lab associated with a given basebox, and run it.

Authorizations:
OpenIdConnect
query Parameters
workspace_id
required
string (Workspace Id)

Identifier of the workspace the operation applies to.

Request Body schema: application/json
required
required
object (LabConfig)

Configuration describing a lab to create or run.

This is the body of every .../create_lab and .../run_lab endpoint (wrapped as {"lab_config": {...}}). content_type and content_name select what to launch; the remaining fields tune execution, telemetry and access.

PublicAccessConfig (object) or null

Responses

Request samples

Content type
application/json
{
  • "lab_config": {
    },
  • "public_access_config": {
    }
}

Response samples

Content type
application/json
"string"

runner

Control and inspect running labs: status, run/stop/pause, nodes, assets, attack results, remote access.

Runner List

List the labs accessible to the caller, filtered and paginated.

By default only active labs are returned; set all_labs to also include stopped and terminated ones.

Authorizations:
OpenIdConnect
query Parameters
all_labs
boolean (All Labs)
Default: false

If true, also include stopped and terminated labs.

Owner (string) or Owner (null) (Owner)

Filter labs by the user who created them.

Type (string) or Type (null) (Type)

Filter labs by content type (e.g. KILLCHAIN, ATTACK, TOPOLOGY).

Status (string) or Status (null) (Status)

Filter labs by execution status.

page
integer (Page) > 0
Default: 1

Page number (1-based) for pagination.

limit
integer (Limit) ( 0 .. 100 ]
Default: 10

Maximum number of items to return per page.

Order By (string) or Order By (null) (Order By)

Name of the field to sort the results by.

Responses

Request samples

curl -X GET "https://app.mantis-platform.io/api/scenario/lab/runner/" \
  -H "Authorization: Bearer $TOKEN"

Response samples

Content type
application/json
{
  • "pagination": {
    },
  • "data": [ ]
}

Runner Get

Get lab status from its ID.

Authorizations:
OpenIdConnect
path Parameters
runner_id
required
string (Runner Id)

Identifier of the lab (runner) to act on.

Responses

Request samples

curl "https://app.mantis-platform.io/api/scenario/lab/runner/$LAB_ID" \
  -H "Authorization: Bearer $TOKEN"

Response samples

Content type
application/json
{
  • "runner_id": "string",
  • "status": "CREATED",
  • "lab_creation_timestamp": 0,
  • "lab_start_timestamp": 0,
  • "lab_content_end_timestamp": 0,
  • "lab_end_timestamp": 0,
  • "content_type": "KILLCHAIN",
  • "name": "string",
  • "created_by": "string",
  • "organization_id": "string",
  • "workspace_id": "string",
  • "worker_id": "string",
  • "public_access": {
    }
}

Runner Delete Id

Delete lab from its ID.

Authorizations:
OpenIdConnect
path Parameters
runner_id
required
string (Runner Id)

Identifier of the lab (runner) to act on.

Responses

Request samples

curl -X DELETE "https://app.mantis-platform.io/api/scenario/lab/runner/<runner_id>" \
  -H "Authorization: Bearer $TOKEN"

Response samples

Content type
application/json
null

Runner Run

Run a lab based on its ID.

Authorizations:
OpenIdConnect
path Parameters
runner_id
required
string (Runner Id)

Identifier of the lab (runner) to act on.

Responses

Request samples

curl -X GET "https://app.mantis-platform.io/api/scenario/lab/runner/<runner_id>/run" \
  -H "Authorization: Bearer $TOKEN"

Response samples

Content type
application/json
null

Runner Stop

Stop a lab based on its ID.

Authorizations:
OpenIdConnect
path Parameters
runner_id
required
string (Runner Id)

Identifier of the lab (runner) to act on.

Responses

Request samples

curl -X GET "https://app.mantis-platform.io/api/scenario/lab/runner/<runner_id>/stop" \
  -H "Authorization: Bearer $TOKEN"

Response samples

Content type
application/json
null

Runner Stop Orchestrator

Stop the user activity (life) orchestrator on a running lab, without stopping the lab itself.

This sets a 'stop_orchestrator' metadata variable in REDIS, which is polled by scenario_runner. When detected, scenario_runner issues the actual call to the user_activity API to stop the orchestrator.

stopping the orchestrator.
Authorizations:
OpenIdConnect
path Parameters
runner_id
required
string (Runner Id)

Identifier of the lab (runner) to act on.

query Parameters
close_session
boolean (Close Session)
Default: false

If true, also close the open remote sessions when stopping.

Responses

Request samples

curl -X GET "https://app.mantis-platform.io/api/scenario/lab/runner/<runner_id>/stop_orchestrator" \
  -H "Authorization: Bearer $TOKEN"

Response samples

Content type
application/json
null

Runner Pause

Pause a lab based on its ID.

Authorizations:
OpenIdConnect
path Parameters
runner_id
required
string (Runner Id)

Identifier of the lab (runner) to act on.

Responses

Request samples

curl -X GET "https://app.mantis-platform.io/api/scenario/lab/runner/<runner_id>/pause" \
  -H "Authorization: Bearer $TOKEN"

Response samples

Content type
application/json
null

Runner Resume

Resume a lab based on its ID.

Authorizations:
OpenIdConnect
path Parameters
runner_id
required
string (Runner Id)

Identifier of the lab (runner) to act on.

Responses

Request samples

curl -X GET "https://app.mantis-platform.io/api/scenario/lab/runner/<runner_id>/resume" \
  -H "Authorization: Bearer $TOKEN"

Response samples

Content type
application/json
null

Runner Paused Status

Resume the current paused status if lab is in pause, based on the lab ID.

Authorizations:
OpenIdConnect
path Parameters
runner_id
required
string (Runner Id)

Identifier of the lab (runner) to act on.

Responses

Request samples

curl -X GET "https://app.mantis-platform.io/api/scenario/lab/runner/<runner_id>/paused_status" \
  -H "Authorization: Bearer $TOKEN"

Response samples

Content type
application/json
{
  • "step": "string",
  • "is_before_step": true
}

Runner Get Topology

Get current scenario topology from its lab ID.

Authorizations:
OpenIdConnect
path Parameters
runner_id
required
string (Runner Id)

Identifier of the lab (runner) to act on.

query Parameters
hide_redteam
boolean (Hide Redteam)
Default: false

If true, omit red-team-only nodes/assets from the response.

Responses

Request samples

curl -X GET "https://app.mantis-platform.io/api/scenario/lab/runner/<runner_id>/topology" \
  -H "Authorization: Bearer $TOKEN"

Response samples

Content type
application/json
Example
{
  • "name": "",
  • "nodes": [
    ],
  • "links": [
    ]
}

Runner Get Nodes

Get current scenario nodes from its lab ID.

Authorizations:
OpenIdConnect
path Parameters
runner_id
required
string (Runner Id)

Identifier of the lab (runner) to act on.

query Parameters
hide_redteam
boolean (Hide Redteam)
Default: false

If true, omit red-team-only nodes/assets from the response.

Responses

Request samples

curl -X GET "https://app.mantis-platform.io/api/scenario/lab/runner/<runner_id>/nodes" \
  -H "Authorization: Bearer $TOKEN"

Response samples

Content type
application/json
[
  • {
    }
]

Runner Get Assets

Get current scenario assets from its lab ID.

Authorizations:
OpenIdConnect
path Parameters
runner_id
required
string (Runner Id)

Identifier of the lab (runner) to act on.

query Parameters
hide_redteam
boolean (Hide Redteam)
Default: false

If true, omit red-team-only nodes/assets from the response.

Responses

Request samples

curl -X GET "https://app.mantis-platform.io/api/scenario/lab/runner/<runner_id>/assets" \
  -H "Authorization: Bearer $TOKEN"

Response samples

Content type
application/json
[
  • {
    }
]

Runner Get Attack Report

Get current scenario attack report from its lab ID.

Authorizations:
OpenIdConnect
path Parameters
runner_id
required
string (Runner Id)

Identifier of the lab (runner) to act on.

Responses

Request samples

curl "https://app.mantis-platform.io/api/scenario/lab/runner/$LAB_ID/attack_report" \
  -H "Authorization: Bearer $TOKEN"

Response samples

Content type
application/json
[
  • {
    }
]

Runner Get Attack Infras

Get current scenario attack infras from its lab ID.

Authorizations:
OpenIdConnect
path Parameters
runner_id
required
string (Runner Id)

Identifier of the lab (runner) to act on.

Responses

Request samples

curl -X GET "https://app.mantis-platform.io/api/scenario/lab/runner/<runner_id>/attack_infras" \
  -H "Authorization: Bearer $TOKEN"

Response samples

Content type
application/json
[
  • {
    }
]

Runner Get Attack Sessions

Get current scenario attack sessions from its lab ID.

Authorizations:
OpenIdConnect
path Parameters
runner_id
required
string (Runner Id)

Identifier of the lab (runner) to act on.

Responses

Request samples

curl -X GET "https://app.mantis-platform.io/api/scenario/lab/runner/<runner_id>/attack_sessions" \
  -H "Authorization: Bearer $TOKEN"

Response samples

Content type
application/json
[
  • {
    }
]

Runner Get Attack Knowledge

Get current scenario attack knowledge from its lab ID.

Authorizations:
OpenIdConnect
path Parameters
runner_id
required
string (Runner Id)

Identifier of the lab (runner) to act on.

Responses

Request samples

curl -X GET "https://app.mantis-platform.io/api/scenario/lab/runner/<runner_id>/attack_knowledge" \
  -H "Authorization: Bearer $TOKEN"

Response samples

Content type
application/json
{
  • "hosts": [
    ],
  • "network_interfaces": [
    ],
  • "services": [
    ],
  • "softwares": [
    ],
  • "credentials": [
    ],
  • "payloads": [
    ],
  • "files": [
    ],
  • "ad_groups": [
    ]
}

Runner Get Notifications

Get current scenario notifications from its lab ID. Filters out the RedTeam notifications if the user doesn't have the LAB_ATTACK_INFO permission.

Authorizations:
OpenIdConnect
path Parameters
runner_id
required
string (Runner Id)

Identifier of the lab (runner) to act on.

Responses

Request samples

curl -X GET "https://app.mantis-platform.io/api/scenario/lab/runner/<runner_id>/notifications" \
  -H "Authorization: Bearer $TOKEN"

Response samples

Content type
application/json
[
  • "string"
]

Runner Get Lab Config

Get current scenario run config from its lab ID.

Authorizations:
OpenIdConnect
path Parameters
runner_id
required
string (Runner Id)

Identifier of the lab (runner) to act on.

Responses

Request samples

curl -X GET "https://app.mantis-platform.io/api/scenario/lab/runner/<runner_id>/lab_config" \
  -H "Authorization: Bearer $TOKEN"

Response samples

Content type
application/json
{
  • "content_name": "my-scenario",
  • "content_type": "KILLCHAIN",
  • "create_dataset": true,
  • "max_duration": 3600,
  • "scenario_profile": "default"
}

Runner Get Security Alerts

Get current security alerts its lab ID.

Authorizations:
OpenIdConnect
path Parameters
runner_id
required
string (Runner Id)

Identifier of the lab (runner) to act on.

Responses

Request samples

curl "https://app.mantis-platform.io/api/scenario/lab/runner/$LAB_ID/security_alerts" \
  -H "Authorization: Bearer $TOKEN"

Response samples

Content type
application/json
{
  • "property1": [
    ],
  • "property2": [
    ]
}

Runner Get Remote Access

Get info to remotly access the VM from its lab ID.

Authorizations:
OpenIdConnect
path Parameters
runner_id
required
string (Runner Id)

Identifier of the lab (runner) to act on.

Responses

Request samples

curl "https://app.mantis-platform.io/api/scenario/lab/runner/$LAB_ID/remote_access" \
  -H "Authorization: Bearer $TOKEN"

Response samples

Content type
application/json
{
  • "nodes": [ ]
}

Runner Get Test

Get the user test corresponding to the given lab ID.

Authorizations:
OpenIdConnect
path Parameters
runner_id
required
string (Runner Id)

Identifier of the lab (runner) to act on.

query Parameters
with_answer
boolean (With Answer)
Default: false

If true, include the expected answers in the evaluation test.

Responses

Request samples

curl -X GET "https://app.mantis-platform.io/api/scenario/lab/runner/<runner_id>/assessment/test" \
  -H "Authorization: Bearer $TOKEN"

Response samples

Content type
application/json
{
  • "identifier": "string",
  • "title": "string",
  • "tool_name": "M&NTIS Platform",
  • "tool_version": "string",
  • "test_parts": [
    ]
}

Runner Post Test Responses

Receive the user answers of the previously sent test.

Authorizations:
OpenIdConnect
path Parameters
runner_id
required
string (Runner Id)

Identifier of the lab (runner) to act on.

Request Body schema: application/json
required
identifier
required
string (Identifier)
required
Array of objects (Test Parts)
name
required
string (Name)

Responses

Request samples

Content type
application/json
{
  • "identifier": "string",
  • "test_parts": [
    ],
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "identifier": "string",
  • "test_parts": [
    ],
  • "submission_id": "string",
  • "score": 0,
  • "name": "string",
  • "submission_date": "string"
}

Runner Get Test Results

Get all identifiers of previously stored assessment results for the lab.

Authorizations:
OpenIdConnect
path Parameters
runner_id
required
string (Runner Id)

Identifier of the lab (runner) to act on.

Responses

Request samples

curl -X GET "https://app.mantis-platform.io/api/scenario/lab/runner/<runner_id>/assessment/result" \
  -H "Authorization: Bearer $TOKEN"

Response samples

Content type
application/json
[
  • {
    }
]

Runner Get Test Result

Retrieve a specific assessment result for the lab by its submission identifier.

Authorizations:
OpenIdConnect
path Parameters
submission_id
required
string (Submission Id)

Identifier of the evaluation submission.

runner_id
required
string (Runner Id)

Identifier of the lab (runner) to act on.

Responses

Request samples

curl -X GET "https://app.mantis-platform.io/api/scenario/lab/runner/<runner_id>/assessment/result/<submission_id>" \
  -H "Authorization: Bearer $TOKEN"

Response samples

Content type
application/json
{
  • "identifier": "string",
  • "test_parts": [
    ],
  • "submission_id": "string",
  • "score": 0,
  • "name": "string",
  • "submission_date": "string"
}

signature

Detection signatures associated with attacks and scenarios.

Signature Api

Get all available signatures.

Authorizations:
OpenIdConnect

Responses

Request samples

curl -X GET "https://app.mantis-platform.io/api/scenario/lab/signature/" \
  -H "Authorization: Bearer $TOKEN"

Response samples

Content type
application/json
{
  • "property1": {
    },
  • "property2": {
    }
}

Signature Item Attack

Get a specific signature.

Authorizations:
OpenIdConnect
query Parameters
signature_id
required
string (Signature Id)

Identifier of the signature (or its attack reference id).

Responses

Request samples

curl -X GET "https://app.mantis-platform.io/api/scenario/lab/signature/attack/info?signature_id=<signature_id>" \
  -H "Authorization: Bearer $TOKEN"

Response samples

Content type
application/json
{
  • "attack_reference_id": "registry_run",
  • "implementations": [
    ]
}

Signature Item Scenario

Get the signatures for a given scenario.

Authorizations:
OpenIdConnect
query Parameters
scenario_id
required
string (Scenario Id)

Identifier of the scenario.

Responses

Request samples

curl -X GET "https://app.mantis-platform.io/api/scenario/lab/signature/scenario/info?scenario_id=<scenario_id>" \
  -H "Authorization: Bearer $TOKEN"

Response samples

Content type
application/json
[
  • {
    }
]

Signature Item

Get a specific signature.

Authorizations:
OpenIdConnect
query Parameters
signature_id
required
string (Signature Id)

Identifier of the signature (or its attack reference id).

Responses

Request samples

curl -X GET "https://app.mantis-platform.io/api/scenario/lab/signature/info?signature_id=<signature_id>" \
  -H "Authorization: Bearer $TOKEN"

Response samples

Content type
application/json
{
  • "attack_reference_id": "registry_run",
  • "implementations": [
    ]
}

log_collector

Available log collectors and their configuration checks.

Get Log Collectors

Get all available log collectors.

Authorizations:
OpenIdConnect

Responses

Request samples

curl "https://app.mantis-platform.io/api/scenario/lab/log_collector" \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-Workspace-Id: $WORKSPACE_ID"

Response samples

Content type
application/json
[
  • {
    }
]

Validate a log-collector configuration

Check that a set of log-collector instances satisfies its input/output requirements (e.g. every shipper has a reachable aggregator).

Request Body schema: application/json
required
Array
instance_name
required
string (Instance Name)
collector_name
required
string (Collector Name)
collector_type
required
string (LogCollectorType)
Enum: "agent" "aggregator" "probe" "visualization" "external" "collaborative"
required
Array of objects (Location)
Array of objects (Output)
Default: []
object (User Config)
Default: {}
object (User Config Expert Mode)
Default: {}
cpe_os_constraints
Array of strings (Cpe Os Constraints)
Default: []

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "requirements_met": true,
  • "errors": {
    }
}