# Create Simulation

Creates a Gray-Box, Red-Team, or Black-Box simulation. GRAY_BOX/BLACK_BOX are agent-based
(agent_id required; initial_machine additionally required for GRAY_BOX) and can be launched
instantly or on a schedule. RED_TEAM is stager-based (stager_id required instead of agent_id)
and only launches instantly - initial_machine and schedule are both rejected if sent.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

About

Create Simulation endpoint creates an Attack Path Validation simulation and returns the UUID of the created simulation and its run. Three simulation types are supported:

  • GRAY_BOX: Agent-based. agent_id and initial_machine (hostname, username, password, user domain and domain controller IP) are required. Can be launched instantly or on a schedule.
  • BLACK_BOX: Agent-based. agent_id and policy.inclusion are required, policy.exclusion is rejected and policy.domain_name is optionally used as the domain scope. Can be launched instantly or on a schedule.
  • RED_TEAM: Stager-based. stager_id is required instead of agent_id. Launches instantly only; initial_machine and schedule are rejected if sent.

The policy object holds the simulation options: inclusion / exclusion scopes (CIDR, IP or hostname), assessment_duration in minutes (30-14400, defaults to 7 days), domain_name, enable_brute_force (SSH/Telnet/VNC/FTP credential brute-forcing, GRAY_BOX/BLACK_BOX only) and enable_opc.

Omit the schedule object to launch the simulation instantly. To schedule it, send frequency (ONCE, DAILY, WEEKLY or MONTHLY), frequency_interval (1-6 for DAILY, 1-3 for WEEKLY/MONTHLY, defaults to 1, ignored for ONCE) and start_time in epoch milliseconds (must be in the future and at most 365 days ahead). For WEEKLY/MONTHLY, the day of the week/month is derived from start_time.

Example

Create and instantly launch a Gray-Box simulation.

curl --request POST \
     --url https://api.picussecurity.com/v1/apv/simulations \
     --header 'Accept: application/json' \
     --header 'Content-Type: application/json' \
     --header 'Authorization: Bearer access_token' \
     --data '{
  "name": "Q3 Gray-Box Simulation",
  "description": "Quarterly lateral movement validation",
  "simulation_type": "GRAY_BOX",
  "agent_id": 102,
  "initial_machine": {
    "hostname": "10.0.0.10",
    "username": "username",
    "password": "password",
    "user_domain": "USER.DOMAIN",
    "domain_controller_ip": "10.0.0.6"
  },
  "policy": {
    "inclusion": ["10.0.0.0/24"],
    "exclusion": ["10.0.0.5"],
    "assessment_duration": 4320,
    "enable_brute_force": false,
    "enable_opc": true
  }
}'
{
  "run_uuid": "{run_uuid}",
  "simulation_uuid": "{simulation_uuid}"
}

Create a Black-Box simulation that runs weekly, starting at the given time.

curl --request POST \
     --url https://api.picussecurity.com/v1/apv/simulations \
     --header 'Accept: application/json' \
     --header 'Content-Type: application/json' \
     --header 'Authorization: Bearer access_token' \
     --data '{
  "name": "Weekly Black-Box Simulation",
  "simulation_type": "BLACK_BOX",
  "agent_id": 101,
  "policy": {
    "inclusion": ["10.0.0.0/24"],
    "domain_name": "corp.local",
    "assessment_duration": 1440
  },
  "schedule": {
    "frequency": "WEEKLY",
    "frequency_interval": 1,
    "start_time": 1798761600000
  }
}'
{
  "run_uuid": "{run_uuid}",
  "simulation_uuid": "{simulation_uuid}"
}

Create and instantly launch a Red-Team simulation using a stager.

curl --request POST \
     --url https://api.picussecurity.com/v1/apv/simulations \
     --header 'Accept: application/json' \
     --header 'Content-Type: application/json' \
     --header 'Authorization: Bearer access_token' \
     --data '{
  "name": "Red-Team Simulation",
  "simulation_type": "RED_TEAM",
  "stager_id": "HONEYBADGER",
  "policy": {
    "inclusion": ["10.0.0.0/24"],
    "assessment_duration": 4320
  }
}'
{
  "run_uuid": "{run_uuid}",
  "simulation_uuid": "{simulation_uuid}"
}
Body Params
uint64

Required for GRAY_BOX/BLACK_BOX (agent-based). Not supported for RED_TEAM - the request is
rejected if this is non-zero (use stager_id instead).

string
initial_machine
object
string
policy
object

initial machine and agent/stager. inclusion/exclusion are CIDR/IP/hostname strings. BLACK_BOX
only has an inclusion scope: inclusion is required and exclusion is rejected if sent.

schedule
object

CreateSimulationSchedule: omit the whole "schedule" object to launch instantly instead. For
WEEKLY/MONTHLY, the day of the week/month is derived from start_time - there's no separate
field for it.

string
string

Required for RED_TEAM (use this instead of agent_id) - which stager to generate. Ignored
for agent-based simulations (GRAY_BOX/BLACK_BOX).

Responses

Language
Credentials
Header
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json