NAV
Shell HTTP JavaScript Ruby Python PHP Java Go

vLM - DSC v4.3.0-SNAPSHOT

Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

Base URLs:

Default

login

Code samples

# You can also use wget
curl -X POST http://localhost:8080/rest/ng/auth/login

POST http://localhost:8080/rest/ng/auth/login HTTP/1.1
Host: localhost:8080


fetch('http://localhost:8080/rest/ng/auth/login',
{
  method: 'POST'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.post 'http://localhost:8080/rest/ng/auth/login',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.post('http://localhost:8080/rest/ng/auth/login')

print(r.json())

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','http://localhost:8080/rest/ng/auth/login', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/auth/login");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "http://localhost:8080/rest/ng/auth/login", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /ng/auth/login

Responses

Status Meaning Description Schema
200 OK same as for whoami None

logout

Code samples

# You can also use wget
curl -X GET http://localhost:8080/rest/ng/auth/logout

GET http://localhost:8080/rest/ng/auth/logout HTTP/1.1
Host: localhost:8080


fetch('http://localhost:8080/rest/ng/auth/logout',
{
  method: 'GET'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.get 'http://localhost:8080/rest/ng/auth/logout',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.get('http://localhost:8080/rest/ng/auth/logout')

print(r.json())

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','http://localhost:8080/rest/ng/auth/logout', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/auth/logout");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "http://localhost:8080/rest/ng/auth/logout", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /ng/auth/logout

Method used to logout user out of the application

Responses

Status Meaning Description Schema
202 Accepted No body returned None

whoAmI

Code samples

# You can also use wget
curl -X GET http://localhost:8080/rest/ng/auth/whoami \
  -H 'Accept: application/json'

GET http://localhost:8080/rest/ng/auth/whoami HTTP/1.1
Host: localhost:8080
Accept: application/json


const headers = {
  'Accept':'application/json'
};

fetch('http://localhost:8080/rest/ng/auth/whoami',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'http://localhost:8080/rest/ng/auth/whoami',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('http://localhost:8080/rest/ng/auth/whoami', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','http://localhost:8080/rest/ng/auth/whoami', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/auth/whoami");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "http://localhost:8080/rest/ng/auth/whoami", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /ng/auth/whoami

Example responses

authenticated user data or null if not logged in

{
  "username": "admin",
  "loginOrigin": "LOCAL",
  "isAdmin": true
}

Responses

Status Meaning Description Schema
200 OK authenticated user data or null if not logged in AuthDTO

getById

Code samples

# You can also use wget
curl -X GET http://localhost:8080/rest/ng/dsc/deployments/{deploymentId}

GET http://localhost:8080/rest/ng/dsc/deployments/{deploymentId} HTTP/1.1
Host: localhost:8080


fetch('http://localhost:8080/rest/ng/dsc/deployments/{deploymentId}',
{
  method: 'GET'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.get 'http://localhost:8080/rest/ng/dsc/deployments/{deploymentId}',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.get('http://localhost:8080/rest/ng/dsc/deployments/{deploymentId}')

print(r.json())

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','http://localhost:8080/rest/ng/dsc/deployments/{deploymentId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/deployments/{deploymentId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "http://localhost:8080/rest/ng/dsc/deployments/{deploymentId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /ng/dsc/deployments/{deploymentId}

Method used to fetch certain deployment by its id

Parameters

Name In Type Required Description
deploymentId path string true none

Responses

Status Meaning Description Schema
200 OK Deployment DTO returned None
404 Not Found Returned in case deployment with specified id not found None

update

Code samples

# You can also use wget
curl -X PUT http://localhost:8080/rest/ng/dsc/deployments/{deploymentId} \
  -H 'Content-Type: application/json'

PUT http://localhost:8080/rest/ng/dsc/deployments/{deploymentId} HTTP/1.1
Host: localhost:8080
Content-Type: application/json

const inputBody = '{
  "id": "string",
  "name": "string",
  "deployedBy": "string",
  "description": "string",
  "platformId": "string",
  "platform": "string",
  "environments": [
    {
      "id": "string",
      "environmentNumber": 0,
      "userCount": 0,
      "roleMappings": [
        {
          "roleId": "string",
          "scenarioRole": "string"
        }
      ],
      "resourceMappings": [
        {
          "key": "string",
          "value": "string"
        }
      ]
    }
  ],
  "scenario": "string",
  "scenarioId": "string",
  "timeslot": {
    "startTime": "string",
    "duration": 0
  },
  "results": "string",
  "campaigns": [
    "string"
  ],
  "status": "REQUESTED",
  "capacity": {
    "cpu": 0,
    "memory": 0,
    "storage": 0,
    "networks": 0,
    "maxEnvironments": 0,
    "referenceCapacity": {
      "cpu": 0,
      "memory": 0,
      "storage": 0,
      "maxEnvironments": 0,
      "referenceCapacity": {}
    }
  },
  "contacts": [
    {
      "name": "string",
      "email": "string",
      "role": "string"
    }
  ]
}';
const headers = {
  'Content-Type':'application/json'
};

fetch('http://localhost:8080/rest/ng/dsc/deployments/{deploymentId}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json'
}

result = RestClient.put 'http://localhost:8080/rest/ng/dsc/deployments/{deploymentId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json'
}

r = requests.put('http://localhost:8080/rest/ng/dsc/deployments/{deploymentId}', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','http://localhost:8080/rest/ng/dsc/deployments/{deploymentId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/deployments/{deploymentId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PUT", "http://localhost:8080/rest/ng/dsc/deployments/{deploymentId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

PUT /ng/dsc/deployments/{deploymentId}

Method used to update deployment by id

Body parameter

{
  "id": "string",
  "name": "string",
  "deployedBy": "string",
  "description": "string",
  "platformId": "string",
  "platform": "string",
  "environments": [
    {
      "id": "string",
      "environmentNumber": 0,
      "userCount": 0,
      "roleMappings": [
        {
          "roleId": "string",
          "scenarioRole": "string"
        }
      ],
      "resourceMappings": [
        {
          "key": "string",
          "value": "string"
        }
      ]
    }
  ],
  "scenario": "string",
  "scenarioId": "string",
  "timeslot": {
    "startTime": "string",
    "duration": 0
  },
  "results": "string",
  "campaigns": [
    "string"
  ],
  "status": "REQUESTED",
  "capacity": {
    "cpu": 0,
    "memory": 0,
    "storage": 0,
    "networks": 0,
    "maxEnvironments": 0,
    "referenceCapacity": {
      "cpu": 0,
      "memory": 0,
      "storage": 0,
      "maxEnvironments": 0,
      "referenceCapacity": {}
    }
  },
  "contacts": [
    {
      "name": "string",
      "email": "string",
      "role": "string"
    }
  ]
}

Parameters

Name In Type Required Description
deploymentId path string true none
body body DeploymentDTO false none

Responses

Status Meaning Description Schema
204 No Content No body returned None
400 Bad Request Returned in case deployment could not be updated None

delete

Code samples

# You can also use wget
curl -X DELETE http://localhost:8080/rest/ng/dsc/deployments/{deploymentId}

DELETE http://localhost:8080/rest/ng/dsc/deployments/{deploymentId} HTTP/1.1
Host: localhost:8080


fetch('http://localhost:8080/rest/ng/dsc/deployments/{deploymentId}',
{
  method: 'DELETE'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.delete 'http://localhost:8080/rest/ng/dsc/deployments/{deploymentId}',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.delete('http://localhost:8080/rest/ng/dsc/deployments/{deploymentId}')

print(r.json())

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('DELETE','http://localhost:8080/rest/ng/dsc/deployments/{deploymentId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/deployments/{deploymentId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "http://localhost:8080/rest/ng/dsc/deployments/{deploymentId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

DELETE /ng/dsc/deployments/{deploymentId}

Method used to delete scenario deployment by id

Parameters

Name In Type Required Description
deploymentId path string true none

Responses

Status Meaning Description Schema
204 No Content No body returned None
400 Bad Request Returned in case scenario deployment could not be deleted None

getAll

Code samples

# You can also use wget
curl -X GET http://localhost:8080/rest/ng/dsc/deployments

GET http://localhost:8080/rest/ng/dsc/deployments HTTP/1.1
Host: localhost:8080


fetch('http://localhost:8080/rest/ng/dsc/deployments',
{
  method: 'GET'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.get 'http://localhost:8080/rest/ng/dsc/deployments',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.get('http://localhost:8080/rest/ng/dsc/deployments')

print(r.json())

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','http://localhost:8080/rest/ng/dsc/deployments', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/deployments");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "http://localhost:8080/rest/ng/dsc/deployments", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /ng/dsc/deployments

Method used to fetch all deployments

Parameters

Name In Type Required Description
metaScenarioId query string false none

Responses

Status Meaning Description Schema
200 OK Returns list of all deployments None

create

Code samples

# You can also use wget
curl -X POST http://localhost:8080/rest/ng/dsc/deployments \
  -H 'Content-Type: application/json'

POST http://localhost:8080/rest/ng/dsc/deployments HTTP/1.1
Host: localhost:8080
Content-Type: application/json

const inputBody = '{
  "id": "string",
  "name": "string",
  "deployedBy": "string",
  "description": "string",
  "platformId": "string",
  "platform": "string",
  "environments": [
    {
      "id": "string",
      "environmentNumber": 0,
      "userCount": 0,
      "roleMappings": [
        {
          "roleId": "string",
          "scenarioRole": "string"
        }
      ],
      "resourceMappings": [
        {
          "key": "string",
          "value": "string"
        }
      ]
    }
  ],
  "scenario": "string",
  "scenarioId": "string",
  "timeslot": {
    "startTime": "string",
    "duration": 0
  },
  "results": "string",
  "campaigns": [
    "string"
  ],
  "status": "REQUESTED",
  "capacity": {
    "cpu": 0,
    "memory": 0,
    "storage": 0,
    "networks": 0,
    "maxEnvironments": 0,
    "referenceCapacity": {
      "cpu": 0,
      "memory": 0,
      "storage": 0,
      "maxEnvironments": 0,
      "referenceCapacity": {}
    }
  },
  "contacts": [
    {
      "name": "string",
      "email": "string",
      "role": "string"
    }
  ]
}';
const headers = {
  'Content-Type':'application/json'
};

fetch('http://localhost:8080/rest/ng/dsc/deployments',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json'
}

result = RestClient.post 'http://localhost:8080/rest/ng/dsc/deployments',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json'
}

r = requests.post('http://localhost:8080/rest/ng/dsc/deployments', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','http://localhost:8080/rest/ng/dsc/deployments', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/deployments");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "http://localhost:8080/rest/ng/dsc/deployments", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /ng/dsc/deployments

Method used to create deployment

Body parameter

{
  "id": "string",
  "name": "string",
  "deployedBy": "string",
  "description": "string",
  "platformId": "string",
  "platform": "string",
  "environments": [
    {
      "id": "string",
      "environmentNumber": 0,
      "userCount": 0,
      "roleMappings": [
        {
          "roleId": "string",
          "scenarioRole": "string"
        }
      ],
      "resourceMappings": [
        {
          "key": "string",
          "value": "string"
        }
      ]
    }
  ],
  "scenario": "string",
  "scenarioId": "string",
  "timeslot": {
    "startTime": "string",
    "duration": 0
  },
  "results": "string",
  "campaigns": [
    "string"
  ],
  "status": "REQUESTED",
  "capacity": {
    "cpu": 0,
    "memory": 0,
    "storage": 0,
    "networks": 0,
    "maxEnvironments": 0,
    "referenceCapacity": {
      "cpu": 0,
      "memory": 0,
      "storage": 0,
      "maxEnvironments": 0,
      "referenceCapacity": {}
    }
  },
  "contacts": [
    {
      "name": "string",
      "email": "string",
      "role": "string"
    }
  ]
}

Parameters

Name In Type Required Description
body body DeploymentDTO false none

Responses

Status Meaning Description Schema
201 Created Entity with newly created deployment id None

getById_1

Code samples

# You can also use wget
curl -X GET http://localhost:8080/rest/ng/dsc/meta-deployments/{deploymentId}

GET http://localhost:8080/rest/ng/dsc/meta-deployments/{deploymentId} HTTP/1.1
Host: localhost:8080


fetch('http://localhost:8080/rest/ng/dsc/meta-deployments/{deploymentId}',
{
  method: 'GET'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.get 'http://localhost:8080/rest/ng/dsc/meta-deployments/{deploymentId}',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.get('http://localhost:8080/rest/ng/dsc/meta-deployments/{deploymentId}')

print(r.json())

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','http://localhost:8080/rest/ng/dsc/meta-deployments/{deploymentId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/meta-deployments/{deploymentId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "http://localhost:8080/rest/ng/dsc/meta-deployments/{deploymentId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /ng/dsc/meta-deployments/{deploymentId}

Method used to fetch certain meta deployment by its id

Parameters

Name In Type Required Description
deploymentId path string true none

Responses

Status Meaning Description Schema
200 OK Meta Deployment DTO returned None
404 Not Found Returned in case meta deployment with specified id not found None

update_1

Code samples

# You can also use wget
curl -X PUT http://localhost:8080/rest/ng/dsc/meta-deployments/{deploymentId} \
  -H 'Content-Type: application/json'

PUT http://localhost:8080/rest/ng/dsc/meta-deployments/{deploymentId} HTTP/1.1
Host: localhost:8080
Content-Type: application/json

const inputBody = '{
  "id": "string",
  "name": "string",
  "deployedBy": "string",
  "description": "string",
  "deployments": [
    {
      "id": "string",
      "priority": 0
    }
  ],
  "interconnects": [
    {
      "id": "string",
      "description": "string",
      "platformId": "string",
      "endPointId": "string",
      "endPoint": {
        "id": "string",
        "name": "string",
        "uri": "string"
      }
    }
  ],
  "metaScenario": "string",
  "metaScenarioName": "string",
  "timeslot": {
    "startTime": "string",
    "duration": 0
  },
  "results": "string",
  "status": "REQUESTED",
  "capacity": {
    "cpu": 0,
    "memory": 0,
    "storage": 0,
    "networks": 0,
    "maxEnvironments": 0,
    "referenceCapacity": {
      "cpu": 0,
      "memory": 0,
      "storage": 0,
      "maxEnvironments": 0,
      "referenceCapacity": {}
    }
  },
  "contacts": [
    {
      "name": "string",
      "email": "string",
      "role": "string"
    }
  ]
}';
const headers = {
  'Content-Type':'application/json'
};

fetch('http://localhost:8080/rest/ng/dsc/meta-deployments/{deploymentId}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json'
}

result = RestClient.put 'http://localhost:8080/rest/ng/dsc/meta-deployments/{deploymentId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json'
}

r = requests.put('http://localhost:8080/rest/ng/dsc/meta-deployments/{deploymentId}', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','http://localhost:8080/rest/ng/dsc/meta-deployments/{deploymentId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/meta-deployments/{deploymentId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PUT", "http://localhost:8080/rest/ng/dsc/meta-deployments/{deploymentId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

PUT /ng/dsc/meta-deployments/{deploymentId}

Method used to update meta deployment by id

Body parameter

{
  "id": "string",
  "name": "string",
  "deployedBy": "string",
  "description": "string",
  "deployments": [
    {
      "id": "string",
      "priority": 0
    }
  ],
  "interconnects": [
    {
      "id": "string",
      "description": "string",
      "platformId": "string",
      "endPointId": "string",
      "endPoint": {
        "id": "string",
        "name": "string",
        "uri": "string"
      }
    }
  ],
  "metaScenario": "string",
  "metaScenarioName": "string",
  "timeslot": {
    "startTime": "string",
    "duration": 0
  },
  "results": "string",
  "status": "REQUESTED",
  "capacity": {
    "cpu": 0,
    "memory": 0,
    "storage": 0,
    "networks": 0,
    "maxEnvironments": 0,
    "referenceCapacity": {
      "cpu": 0,
      "memory": 0,
      "storage": 0,
      "maxEnvironments": 0,
      "referenceCapacity": {}
    }
  },
  "contacts": [
    {
      "name": "string",
      "email": "string",
      "role": "string"
    }
  ]
}

Parameters

Name In Type Required Description
deploymentId path string true none
body body MetaDeploymentDTO false none

Responses

Status Meaning Description Schema
204 No Content No body returned None
400 Bad Request Returned in case meta deployment could not be updated None

delete_1

Code samples

# You can also use wget
curl -X DELETE http://localhost:8080/rest/ng/dsc/meta-deployments/{deploymentId}

DELETE http://localhost:8080/rest/ng/dsc/meta-deployments/{deploymentId} HTTP/1.1
Host: localhost:8080


fetch('http://localhost:8080/rest/ng/dsc/meta-deployments/{deploymentId}',
{
  method: 'DELETE'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.delete 'http://localhost:8080/rest/ng/dsc/meta-deployments/{deploymentId}',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.delete('http://localhost:8080/rest/ng/dsc/meta-deployments/{deploymentId}')

print(r.json())

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('DELETE','http://localhost:8080/rest/ng/dsc/meta-deployments/{deploymentId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/meta-deployments/{deploymentId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "http://localhost:8080/rest/ng/dsc/meta-deployments/{deploymentId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

DELETE /ng/dsc/meta-deployments/{deploymentId}

Method used to delete meta deployment by id

Parameters

Name In Type Required Description
deploymentId path string true none

Responses

Status Meaning Description Schema
204 No Content No body returned None
400 Bad Request Returned in case meta deployment could not be deleted None

getAll_1

Code samples

# You can also use wget
curl -X GET http://localhost:8080/rest/ng/dsc/meta-deployments

GET http://localhost:8080/rest/ng/dsc/meta-deployments HTTP/1.1
Host: localhost:8080


fetch('http://localhost:8080/rest/ng/dsc/meta-deployments',
{
  method: 'GET'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.get 'http://localhost:8080/rest/ng/dsc/meta-deployments',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.get('http://localhost:8080/rest/ng/dsc/meta-deployments')

print(r.json())

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','http://localhost:8080/rest/ng/dsc/meta-deployments', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/meta-deployments");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "http://localhost:8080/rest/ng/dsc/meta-deployments", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /ng/dsc/meta-deployments

Method used to fetch all meta deployments

Responses

Status Meaning Description Schema
200 OK Returns list of all meta deployments None

create_1

Code samples

# You can also use wget
curl -X POST http://localhost:8080/rest/ng/dsc/meta-deployments \
  -H 'Content-Type: application/json'

POST http://localhost:8080/rest/ng/dsc/meta-deployments HTTP/1.1
Host: localhost:8080
Content-Type: application/json

const inputBody = '{
  "id": "string",
  "name": "string",
  "deployedBy": "string",
  "description": "string",
  "deployments": [
    {
      "id": "string",
      "priority": 0
    }
  ],
  "interconnects": [
    {
      "id": "string",
      "description": "string",
      "platformId": "string",
      "endPointId": "string",
      "endPoint": {
        "id": "string",
        "name": "string",
        "uri": "string"
      }
    }
  ],
  "metaScenario": "string",
  "metaScenarioName": "string",
  "timeslot": {
    "startTime": "string",
    "duration": 0
  },
  "results": "string",
  "status": "REQUESTED",
  "capacity": {
    "cpu": 0,
    "memory": 0,
    "storage": 0,
    "networks": 0,
    "maxEnvironments": 0,
    "referenceCapacity": {
      "cpu": 0,
      "memory": 0,
      "storage": 0,
      "maxEnvironments": 0,
      "referenceCapacity": {}
    }
  },
  "contacts": [
    {
      "name": "string",
      "email": "string",
      "role": "string"
    }
  ]
}';
const headers = {
  'Content-Type':'application/json'
};

fetch('http://localhost:8080/rest/ng/dsc/meta-deployments',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json'
}

result = RestClient.post 'http://localhost:8080/rest/ng/dsc/meta-deployments',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json'
}

r = requests.post('http://localhost:8080/rest/ng/dsc/meta-deployments', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','http://localhost:8080/rest/ng/dsc/meta-deployments', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/meta-deployments");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "http://localhost:8080/rest/ng/dsc/meta-deployments", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /ng/dsc/meta-deployments

Method used to create meta deployment

Body parameter

{
  "id": "string",
  "name": "string",
  "deployedBy": "string",
  "description": "string",
  "deployments": [
    {
      "id": "string",
      "priority": 0
    }
  ],
  "interconnects": [
    {
      "id": "string",
      "description": "string",
      "platformId": "string",
      "endPointId": "string",
      "endPoint": {
        "id": "string",
        "name": "string",
        "uri": "string"
      }
    }
  ],
  "metaScenario": "string",
  "metaScenarioName": "string",
  "timeslot": {
    "startTime": "string",
    "duration": 0
  },
  "results": "string",
  "status": "REQUESTED",
  "capacity": {
    "cpu": 0,
    "memory": 0,
    "storage": 0,
    "networks": 0,
    "maxEnvironments": 0,
    "referenceCapacity": {
      "cpu": 0,
      "memory": 0,
      "storage": 0,
      "maxEnvironments": 0,
      "referenceCapacity": {}
    }
  },
  "contacts": [
    {
      "name": "string",
      "email": "string",
      "role": "string"
    }
  ]
}

Parameters

Name In Type Required Description
body body MetaDeploymentDTO false none

Responses

Status Meaning Description Schema
201 Created Entity with newly created meta deployment id None

getById_2

Code samples

# You can also use wget
curl -X GET http://localhost:8080/rest/ng/dsc/meta-scenarios/{metaScenarioId}

GET http://localhost:8080/rest/ng/dsc/meta-scenarios/{metaScenarioId} HTTP/1.1
Host: localhost:8080


fetch('http://localhost:8080/rest/ng/dsc/meta-scenarios/{metaScenarioId}',
{
  method: 'GET'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.get 'http://localhost:8080/rest/ng/dsc/meta-scenarios/{metaScenarioId}',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.get('http://localhost:8080/rest/ng/dsc/meta-scenarios/{metaScenarioId}')

print(r.json())

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','http://localhost:8080/rest/ng/dsc/meta-scenarios/{metaScenarioId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/meta-scenarios/{metaScenarioId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "http://localhost:8080/rest/ng/dsc/meta-scenarios/{metaScenarioId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /ng/dsc/meta-scenarios/{metaScenarioId}

Method used to fetch certain meta scenario by its id

Parameters

Name In Type Required Description
metaScenarioId path string true none

Responses

Status Meaning Description Schema
200 OK Meta Scenario DTO returned None
404 Not Found Returned in case meta scenario with specified id not found None

update_2

Code samples

# You can also use wget
curl -X PUT http://localhost:8080/rest/ng/dsc/meta-scenarios/{metaScenarioId} \
  -H 'Content-Type: application/json'

PUT http://localhost:8080/rest/ng/dsc/meta-scenarios/{metaScenarioId} HTTP/1.1
Host: localhost:8080
Content-Type: application/json

const inputBody = '{
  "id": "string",
  "name": "string",
  "description": "string",
  "version": "string",
  "type": "CTF",
  "scenarios": [
    {
      "scenarioId": "string",
      "priority": 0,
      "interconnects": [
        {
          "id": "string",
          "description": "string",
          "platformId": "string",
          "endPointId": "string",
          "endPoint": {
            "id": "string",
            "name": "string",
            "uri": "string"
          }
        }
      ],
      "name": "string",
      "platformName": "string"
    }
  ],
  "contacts": [
    {
      "name": "string",
      "email": "string",
      "role": "string"
    }
  ],
  "status": "ARCHIVED"
}';
const headers = {
  'Content-Type':'application/json'
};

fetch('http://localhost:8080/rest/ng/dsc/meta-scenarios/{metaScenarioId}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json'
}

result = RestClient.put 'http://localhost:8080/rest/ng/dsc/meta-scenarios/{metaScenarioId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json'
}

r = requests.put('http://localhost:8080/rest/ng/dsc/meta-scenarios/{metaScenarioId}', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','http://localhost:8080/rest/ng/dsc/meta-scenarios/{metaScenarioId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/meta-scenarios/{metaScenarioId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PUT", "http://localhost:8080/rest/ng/dsc/meta-scenarios/{metaScenarioId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

PUT /ng/dsc/meta-scenarios/{metaScenarioId}

Method used to update meta scenario by id

Body parameter

{
  "id": "string",
  "name": "string",
  "description": "string",
  "version": "string",
  "type": "CTF",
  "scenarios": [
    {
      "scenarioId": "string",
      "priority": 0,
      "interconnects": [
        {
          "id": "string",
          "description": "string",
          "platformId": "string",
          "endPointId": "string",
          "endPoint": {
            "id": "string",
            "name": "string",
            "uri": "string"
          }
        }
      ],
      "name": "string",
      "platformName": "string"
    }
  ],
  "contacts": [
    {
      "name": "string",
      "email": "string",
      "role": "string"
    }
  ],
  "status": "ARCHIVED"
}

Parameters

Name In Type Required Description
metaScenarioId path string true none
body body MetaScenarioDTO false none

Responses

Status Meaning Description Schema
204 No Content No body returned None
400 Bad Request Returned in case meta scenario could not be updated None

delete_2

Code samples

# You can also use wget
curl -X DELETE http://localhost:8080/rest/ng/dsc/meta-scenarios/{metaScenarioId}

DELETE http://localhost:8080/rest/ng/dsc/meta-scenarios/{metaScenarioId} HTTP/1.1
Host: localhost:8080


fetch('http://localhost:8080/rest/ng/dsc/meta-scenarios/{metaScenarioId}',
{
  method: 'DELETE'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.delete 'http://localhost:8080/rest/ng/dsc/meta-scenarios/{metaScenarioId}',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.delete('http://localhost:8080/rest/ng/dsc/meta-scenarios/{metaScenarioId}')

print(r.json())

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('DELETE','http://localhost:8080/rest/ng/dsc/meta-scenarios/{metaScenarioId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/meta-scenarios/{metaScenarioId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "http://localhost:8080/rest/ng/dsc/meta-scenarios/{metaScenarioId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

DELETE /ng/dsc/meta-scenarios/{metaScenarioId}

Method used to delete meta scenario by id

Parameters

Name In Type Required Description
metaScenarioId path string true none

Responses

Status Meaning Description Schema
204 No Content No body returned None
400 Bad Request Returned in case meta scenario could not be deleted None

tag

Code samples

# You can also use wget
curl -X POST http://localhost:8080/rest/ng/dsc/meta-scenarios/{metaScenarioId}/tag

POST http://localhost:8080/rest/ng/dsc/meta-scenarios/{metaScenarioId}/tag HTTP/1.1
Host: localhost:8080


fetch('http://localhost:8080/rest/ng/dsc/meta-scenarios/{metaScenarioId}/tag',
{
  method: 'POST'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.post 'http://localhost:8080/rest/ng/dsc/meta-scenarios/{metaScenarioId}/tag',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.post('http://localhost:8080/rest/ng/dsc/meta-scenarios/{metaScenarioId}/tag')

print(r.json())

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','http://localhost:8080/rest/ng/dsc/meta-scenarios/{metaScenarioId}/tag', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/meta-scenarios/{metaScenarioId}/tag");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "http://localhost:8080/rest/ng/dsc/meta-scenarios/{metaScenarioId}/tag", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /ng/dsc/meta-scenarios/{metaScenarioId}/tag

Method used to tag meta scenario by id

Parameters

Name In Type Required Description
metaScenarioId path string true none

Responses

Status Meaning Description Schema
200 OK Meta scenario with new version None
400 Bad Request Returned in case meta scenario could not be tagged None

submit

Code samples

# You can also use wget
curl -X POST http://localhost:8080/rest/ng/dsc/meta-scenarios/{metaScenarioId}/submit

POST http://localhost:8080/rest/ng/dsc/meta-scenarios/{metaScenarioId}/submit HTTP/1.1
Host: localhost:8080


fetch('http://localhost:8080/rest/ng/dsc/meta-scenarios/{metaScenarioId}/submit',
{
  method: 'POST'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.post 'http://localhost:8080/rest/ng/dsc/meta-scenarios/{metaScenarioId}/submit',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.post('http://localhost:8080/rest/ng/dsc/meta-scenarios/{metaScenarioId}/submit')

print(r.json())

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','http://localhost:8080/rest/ng/dsc/meta-scenarios/{metaScenarioId}/submit', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/meta-scenarios/{metaScenarioId}/submit");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "http://localhost:8080/rest/ng/dsc/meta-scenarios/{metaScenarioId}/submit", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /ng/dsc/meta-scenarios/{metaScenarioId}/submit

Method used to submit meta scenario by id

Parameters

Name In Type Required Description
metaScenarioId path string true none

Responses

Status Meaning Description Schema
204 No Content No body returned None
400 Bad Request Returned in case meta scenario could not be submitted None

clone

Code samples

# You can also use wget
curl -X POST http://localhost:8080/rest/ng/dsc/meta-scenarios/{metaScenarioId}/clone

POST http://localhost:8080/rest/ng/dsc/meta-scenarios/{metaScenarioId}/clone HTTP/1.1
Host: localhost:8080


fetch('http://localhost:8080/rest/ng/dsc/meta-scenarios/{metaScenarioId}/clone',
{
  method: 'POST'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.post 'http://localhost:8080/rest/ng/dsc/meta-scenarios/{metaScenarioId}/clone',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.post('http://localhost:8080/rest/ng/dsc/meta-scenarios/{metaScenarioId}/clone')

print(r.json())

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','http://localhost:8080/rest/ng/dsc/meta-scenarios/{metaScenarioId}/clone', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/meta-scenarios/{metaScenarioId}/clone");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "http://localhost:8080/rest/ng/dsc/meta-scenarios/{metaScenarioId}/clone", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /ng/dsc/meta-scenarios/{metaScenarioId}/clone

Method used to clone meta scenario by id

Parameters

Name In Type Required Description
metaScenarioId path string true none

Responses

Status Meaning Description Schema
200 OK Cloned scenario None
400 Bad Request Returned in case meta scenario could not be cloned None

getAll_2

Code samples

# You can also use wget
curl -X GET http://localhost:8080/rest/ng/dsc/meta-scenarios

GET http://localhost:8080/rest/ng/dsc/meta-scenarios HTTP/1.1
Host: localhost:8080


fetch('http://localhost:8080/rest/ng/dsc/meta-scenarios',
{
  method: 'GET'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.get 'http://localhost:8080/rest/ng/dsc/meta-scenarios',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.get('http://localhost:8080/rest/ng/dsc/meta-scenarios')

print(r.json())

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','http://localhost:8080/rest/ng/dsc/meta-scenarios', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/meta-scenarios");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "http://localhost:8080/rest/ng/dsc/meta-scenarios", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /ng/dsc/meta-scenarios

Method used to fetch all meta scenarios

Responses

Status Meaning Description Schema
200 OK Returns list of all meta scenarios None

create_2

Code samples

# You can also use wget
curl -X POST http://localhost:8080/rest/ng/dsc/meta-scenarios \
  -H 'Content-Type: application/json'

POST http://localhost:8080/rest/ng/dsc/meta-scenarios HTTP/1.1
Host: localhost:8080
Content-Type: application/json

const inputBody = '{
  "id": "string",
  "name": "string",
  "description": "string",
  "version": "string",
  "type": "CTF",
  "scenarios": [
    {
      "scenarioId": "string",
      "priority": 0,
      "interconnects": [
        {
          "id": "string",
          "description": "string",
          "platformId": "string",
          "endPointId": "string",
          "endPoint": {
            "id": "string",
            "name": "string",
            "uri": "string"
          }
        }
      ],
      "name": "string",
      "platformName": "string"
    }
  ],
  "contacts": [
    {
      "name": "string",
      "email": "string",
      "role": "string"
    }
  ],
  "status": "ARCHIVED"
}';
const headers = {
  'Content-Type':'application/json'
};

fetch('http://localhost:8080/rest/ng/dsc/meta-scenarios',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json'
}

result = RestClient.post 'http://localhost:8080/rest/ng/dsc/meta-scenarios',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json'
}

r = requests.post('http://localhost:8080/rest/ng/dsc/meta-scenarios', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','http://localhost:8080/rest/ng/dsc/meta-scenarios', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/meta-scenarios");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "http://localhost:8080/rest/ng/dsc/meta-scenarios", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /ng/dsc/meta-scenarios

Method used to create meta scenario

Body parameter

{
  "id": "string",
  "name": "string",
  "description": "string",
  "version": "string",
  "type": "CTF",
  "scenarios": [
    {
      "scenarioId": "string",
      "priority": 0,
      "interconnects": [
        {
          "id": "string",
          "description": "string",
          "platformId": "string",
          "endPointId": "string",
          "endPoint": {
            "id": "string",
            "name": "string",
            "uri": "string"
          }
        }
      ],
      "name": "string",
      "platformName": "string"
    }
  ],
  "contacts": [
    {
      "name": "string",
      "email": "string",
      "role": "string"
    }
  ],
  "status": "ARCHIVED"
}

Parameters

Name In Type Required Description
body body MetaScenarioDTO false none

Responses

Status Meaning Description Schema
201 Created Entity with newly created meta scenario id None

getOverviews

Code samples

# You can also use wget
curl -X GET http://localhost:8080/rest/ng/dsc/platforms/overviews

GET http://localhost:8080/rest/ng/dsc/platforms/overviews HTTP/1.1
Host: localhost:8080


fetch('http://localhost:8080/rest/ng/dsc/platforms/overviews',
{
  method: 'GET'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.get 'http://localhost:8080/rest/ng/dsc/platforms/overviews',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.get('http://localhost:8080/rest/ng/dsc/platforms/overviews')

print(r.json())

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','http://localhost:8080/rest/ng/dsc/platforms/overviews', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/platforms/overviews");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "http://localhost:8080/rest/ng/dsc/platforms/overviews", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /ng/dsc/platforms/overviews

Method used to fetch short overviews of all platforms

Responses

Status Meaning Description Schema
200 OK list of overviews of all platforms None

getById_3

Code samples

# You can also use wget
curl -X GET http://localhost:8080/rest/ng/dsc/platforms/{platformId}

GET http://localhost:8080/rest/ng/dsc/platforms/{platformId} HTTP/1.1
Host: localhost:8080


fetch('http://localhost:8080/rest/ng/dsc/platforms/{platformId}',
{
  method: 'GET'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.get 'http://localhost:8080/rest/ng/dsc/platforms/{platformId}',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.get('http://localhost:8080/rest/ng/dsc/platforms/{platformId}')

print(r.json())

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','http://localhost:8080/rest/ng/dsc/platforms/{platformId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/platforms/{platformId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "http://localhost:8080/rest/ng/dsc/platforms/{platformId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /ng/dsc/platforms/{platformId}

Method used to fetch certain platform by its id

Parameters

Name In Type Required Description
platformId path string true none

Responses

Status Meaning Description Schema
200 OK Platform DTO returned None
404 Not Found Returned in case platform with specified id not found None

update_3

Code samples

# You can also use wget
curl -X PUT http://localhost:8080/rest/ng/dsc/platforms/{platformId} \
  -H 'Content-Type: application/json'

PUT http://localhost:8080/rest/ng/dsc/platforms/{platformId} HTTP/1.1
Host: localhost:8080
Content-Type: application/json

const inputBody = '{
  "id": "string",
  "name": "string",
  "description": "string",
  "contacts": [
    {
      "name": "string",
      "email": "string",
      "role": "string"
    }
  ],
  "capacity": {
    "cpu": 0,
    "memory": 0,
    "storage": 0,
    "maxEnvironments": 0,
    "referenceCapacity": {}
  },
  "endpoints": [
    {
      "id": "string",
      "type": "VPN",
      "name": "string",
      "uri": "string",
      "credential": {
        "username": "string",
        "password": "string",
        "key": "string"
      },
      "parameters": [
        {
          "key": "string",
          "value": "string"
        }
      ]
    }
  ],
  "created": 0,
  "groupMappings": [
    {
      "role": "string",
      "value": "string"
    }
  ]
}';
const headers = {
  'Content-Type':'application/json'
};

fetch('http://localhost:8080/rest/ng/dsc/platforms/{platformId}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json'
}

result = RestClient.put 'http://localhost:8080/rest/ng/dsc/platforms/{platformId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json'
}

r = requests.put('http://localhost:8080/rest/ng/dsc/platforms/{platformId}', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','http://localhost:8080/rest/ng/dsc/platforms/{platformId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/platforms/{platformId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PUT", "http://localhost:8080/rest/ng/dsc/platforms/{platformId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

PUT /ng/dsc/platforms/{platformId}

Method used to update platform by id

Body parameter

{
  "id": "string",
  "name": "string",
  "description": "string",
  "contacts": [
    {
      "name": "string",
      "email": "string",
      "role": "string"
    }
  ],
  "capacity": {
    "cpu": 0,
    "memory": 0,
    "storage": 0,
    "maxEnvironments": 0,
    "referenceCapacity": {}
  },
  "endpoints": [
    {
      "id": "string",
      "type": "VPN",
      "name": "string",
      "uri": "string",
      "credential": {
        "username": "string",
        "password": "string",
        "key": "string"
      },
      "parameters": [
        {
          "key": "string",
          "value": "string"
        }
      ]
    }
  ],
  "created": 0,
  "groupMappings": [
    {
      "role": "string",
      "value": "string"
    }
  ]
}

Parameters

Name In Type Required Description
platformId path string true none
body body PlatformDTO false none

Responses

Status Meaning Description Schema
204 No Content No body returned None
400 Bad Request Returned in case platform could not be updated None

delete_3

Code samples

# You can also use wget
curl -X DELETE http://localhost:8080/rest/ng/dsc/platforms/{platformId}

DELETE http://localhost:8080/rest/ng/dsc/platforms/{platformId} HTTP/1.1
Host: localhost:8080


fetch('http://localhost:8080/rest/ng/dsc/platforms/{platformId}',
{
  method: 'DELETE'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.delete 'http://localhost:8080/rest/ng/dsc/platforms/{platformId}',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.delete('http://localhost:8080/rest/ng/dsc/platforms/{platformId}')

print(r.json())

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('DELETE','http://localhost:8080/rest/ng/dsc/platforms/{platformId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/platforms/{platformId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "http://localhost:8080/rest/ng/dsc/platforms/{platformId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

DELETE /ng/dsc/platforms/{platformId}

Method used to delete platform by id

Parameters

Name In Type Required Description
platformId path string true none

Responses

Status Meaning Description Schema
204 No Content No body returned None
400 Bad Request Returned in case platform could not be deleted None

getAll_3

Code samples

# You can also use wget
curl -X GET http://localhost:8080/rest/ng/dsc/platforms

GET http://localhost:8080/rest/ng/dsc/platforms HTTP/1.1
Host: localhost:8080


fetch('http://localhost:8080/rest/ng/dsc/platforms',
{
  method: 'GET'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.get 'http://localhost:8080/rest/ng/dsc/platforms',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.get('http://localhost:8080/rest/ng/dsc/platforms')

print(r.json())

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','http://localhost:8080/rest/ng/dsc/platforms', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/platforms");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "http://localhost:8080/rest/ng/dsc/platforms", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /ng/dsc/platforms

Method used to fetch all platforms

Responses

Status Meaning Description Schema
200 OK Returns list of all platforms None

create_3

Code samples

# You can also use wget
curl -X POST http://localhost:8080/rest/ng/dsc/platforms \
  -H 'Content-Type: application/json'

POST http://localhost:8080/rest/ng/dsc/platforms HTTP/1.1
Host: localhost:8080
Content-Type: application/json

const inputBody = '{
  "id": "string",
  "name": "string",
  "description": "string",
  "contacts": [
    {
      "name": "string",
      "email": "string",
      "role": "string"
    }
  ],
  "capacity": {
    "cpu": 0,
    "memory": 0,
    "storage": 0,
    "maxEnvironments": 0,
    "referenceCapacity": {}
  },
  "endpoints": [
    {
      "id": "string",
      "type": "VPN",
      "name": "string",
      "uri": "string",
      "credential": {
        "username": "string",
        "password": "string",
        "key": "string"
      },
      "parameters": [
        {
          "key": "string",
          "value": "string"
        }
      ]
    }
  ],
  "created": 0,
  "groupMappings": [
    {
      "role": "string",
      "value": "string"
    }
  ]
}';
const headers = {
  'Content-Type':'application/json'
};

fetch('http://localhost:8080/rest/ng/dsc/platforms',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json'
}

result = RestClient.post 'http://localhost:8080/rest/ng/dsc/platforms',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json'
}

r = requests.post('http://localhost:8080/rest/ng/dsc/platforms', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','http://localhost:8080/rest/ng/dsc/platforms', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/platforms");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "http://localhost:8080/rest/ng/dsc/platforms", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /ng/dsc/platforms

Method used to create platform

Body parameter

{
  "id": "string",
  "name": "string",
  "description": "string",
  "contacts": [
    {
      "name": "string",
      "email": "string",
      "role": "string"
    }
  ],
  "capacity": {
    "cpu": 0,
    "memory": 0,
    "storage": 0,
    "maxEnvironments": 0,
    "referenceCapacity": {}
  },
  "endpoints": [
    {
      "id": "string",
      "type": "VPN",
      "name": "string",
      "uri": "string",
      "credential": {
        "username": "string",
        "password": "string",
        "key": "string"
      },
      "parameters": [
        {
          "key": "string",
          "value": "string"
        }
      ]
    }
  ],
  "created": 0,
  "groupMappings": [
    {
      "role": "string",
      "value": "string"
    }
  ]
}

Parameters

Name In Type Required Description
body body PlatformDTO false none

Responses

Status Meaning Description Schema
201 Created No body returned None
400 Bad Request Returned when DTO could not be converted to model or created None

getNumberOfNewRequests

Code samples

# You can also use wget
curl -X GET http://localhost:8080/rest/ng/dsc/requests/new

GET http://localhost:8080/rest/ng/dsc/requests/new HTTP/1.1
Host: localhost:8080


fetch('http://localhost:8080/rest/ng/dsc/requests/new',
{
  method: 'GET'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.get 'http://localhost:8080/rest/ng/dsc/requests/new',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.get('http://localhost:8080/rest/ng/dsc/requests/new')

print(r.json())

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','http://localhost:8080/rest/ng/dsc/requests/new', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/requests/new");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "http://localhost:8080/rest/ng/dsc/requests/new", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /ng/dsc/requests/new

Method used to fetch the number of new requested items

Responses

Status Meaning Description Schema
200 OK Returns list of new requested items None

getAll_4

Code samples

# You can also use wget
curl -X GET http://localhost:8080/rest/ng/dsc/requests

GET http://localhost:8080/rest/ng/dsc/requests HTTP/1.1
Host: localhost:8080


fetch('http://localhost:8080/rest/ng/dsc/requests',
{
  method: 'GET'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.get 'http://localhost:8080/rest/ng/dsc/requests',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.get('http://localhost:8080/rest/ng/dsc/requests')

print(r.json())

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','http://localhost:8080/rest/ng/dsc/requests', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/requests");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "http://localhost:8080/rest/ng/dsc/requests", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /ng/dsc/requests

Method used to fetch all requested items

Responses

Status Meaning Description Schema
200 OK Returns list of all requestedItems None

getOverviews_1

Code samples

# You can also use wget
curl -X GET http://localhost:8080/rest/ng/dsc/scenarios/overviews

GET http://localhost:8080/rest/ng/dsc/scenarios/overviews HTTP/1.1
Host: localhost:8080


fetch('http://localhost:8080/rest/ng/dsc/scenarios/overviews',
{
  method: 'GET'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.get 'http://localhost:8080/rest/ng/dsc/scenarios/overviews',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.get('http://localhost:8080/rest/ng/dsc/scenarios/overviews')

print(r.json())

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','http://localhost:8080/rest/ng/dsc/scenarios/overviews', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/scenarios/overviews");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "http://localhost:8080/rest/ng/dsc/scenarios/overviews", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /ng/dsc/scenarios/overviews

Method used to fetch short overviews of all scenarios

Responses

Status Meaning Description Schema
200 OK list of overviews of all scenarios None

addSubnet

Code samples

# You can also use wget
curl -X POST http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/subnets \
  -H 'Content-Type: application/json'

POST http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/subnets HTTP/1.1
Host: localhost:8080
Content-Type: application/json

const inputBody = '{
  "id": "string",
  "name": "string",
  "description": "string",
  "subnetIPv4Address": "string",
  "subnetIPv6Address": "string",
  "gatewayIPv4": "string",
  "gatewayIPv6": "string",
  "dns1": "string",
  "dns2": "string",
  "deploymentModel": "DEDICATED",
  "systems": [
    {
      "id": "string",
      "systemDefinition": {
        "id": "string",
        "name": "string",
        "os": "ANDROID",
        "osVersion": "string",
        "version": "string",
        "platformIds": [
          "string"
        ],
        "status": "ARCHIVED"
      },
      "tags": [
        "string"
      ],
      "deploymentModel": "DEDICATED",
      "primaryHostname": "string",
      "configuration": {
        "networking": {
          "ipv4Gateway": "string",
          "ipv6Gateway": "string",
          "primaryDns": "string",
          "secondaryDns": "string",
          "interfaces": [
            {
              "id": "string",
              "subnetId": "string",
              "ipv4Address": "string",
              "ipv6Address": "string",
              "hostname": "string",
              "name": "string"
            }
          ]
        },
        "parameters": [
          {
            "key": "string",
            "value": "string"
          }
        ]
      }
    }
  ],
  "type": "NOT_CONNECTED"
}';
const headers = {
  'Content-Type':'application/json'
};

fetch('http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/subnets',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json'
}

result = RestClient.post 'http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/subnets',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json'
}

r = requests.post('http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/subnets', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/subnets', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/subnets");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/subnets", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /ng/dsc/scenarios/{scenarioId}/subnets

Method used to add subnet to specified scenario

Body parameter

{
  "id": "string",
  "name": "string",
  "description": "string",
  "subnetIPv4Address": "string",
  "subnetIPv6Address": "string",
  "gatewayIPv4": "string",
  "gatewayIPv6": "string",
  "dns1": "string",
  "dns2": "string",
  "deploymentModel": "DEDICATED",
  "systems": [
    {
      "id": "string",
      "systemDefinition": {
        "id": "string",
        "name": "string",
        "os": "ANDROID",
        "osVersion": "string",
        "version": "string",
        "platformIds": [
          "string"
        ],
        "status": "ARCHIVED"
      },
      "tags": [
        "string"
      ],
      "deploymentModel": "DEDICATED",
      "primaryHostname": "string",
      "configuration": {
        "networking": {
          "ipv4Gateway": "string",
          "ipv6Gateway": "string",
          "primaryDns": "string",
          "secondaryDns": "string",
          "interfaces": [
            {
              "id": "string",
              "subnetId": "string",
              "ipv4Address": "string",
              "ipv6Address": "string",
              "hostname": "string",
              "name": "string"
            }
          ]
        },
        "parameters": [
          {
            "key": "string",
            "value": "string"
          }
        ]
      }
    }
  ],
  "type": "NOT_CONNECTED"
}

Parameters

Name In Type Required Description
scenarioId path string true none
body body SubnetDTO false none

Responses

Status Meaning Description Schema
201 Created Entity with newly created subnet id None
400 Bad Request Returned in case subnet could not be added None

updateSubnet

Code samples

# You can also use wget
curl -X PUT http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/subnets/{subnetId} \
  -H 'Content-Type: application/json'

PUT http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/subnets/{subnetId} HTTP/1.1
Host: localhost:8080
Content-Type: application/json

const inputBody = '{
  "id": "string",
  "name": "string",
  "description": "string",
  "subnetIPv4Address": "string",
  "subnetIPv6Address": "string",
  "gatewayIPv4": "string",
  "gatewayIPv6": "string",
  "dns1": "string",
  "dns2": "string",
  "deploymentModel": "DEDICATED",
  "systems": [
    {
      "id": "string",
      "systemDefinition": {
        "id": "string",
        "name": "string",
        "os": "ANDROID",
        "osVersion": "string",
        "version": "string",
        "platformIds": [
          "string"
        ],
        "status": "ARCHIVED"
      },
      "tags": [
        "string"
      ],
      "deploymentModel": "DEDICATED",
      "primaryHostname": "string",
      "configuration": {
        "networking": {
          "ipv4Gateway": "string",
          "ipv6Gateway": "string",
          "primaryDns": "string",
          "secondaryDns": "string",
          "interfaces": [
            {
              "id": "string",
              "subnetId": "string",
              "ipv4Address": "string",
              "ipv6Address": "string",
              "hostname": "string",
              "name": "string"
            }
          ]
        },
        "parameters": [
          {
            "key": "string",
            "value": "string"
          }
        ]
      }
    }
  ],
  "type": "NOT_CONNECTED"
}';
const headers = {
  'Content-Type':'application/json'
};

fetch('http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/subnets/{subnetId}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json'
}

result = RestClient.put 'http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/subnets/{subnetId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json'
}

r = requests.put('http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/subnets/{subnetId}', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/subnets/{subnetId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/subnets/{subnetId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PUT", "http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/subnets/{subnetId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

PUT /ng/dsc/scenarios/{scenarioId}/subnets/{subnetId}

Method used to update scenario subnet by id

Body parameter

{
  "id": "string",
  "name": "string",
  "description": "string",
  "subnetIPv4Address": "string",
  "subnetIPv6Address": "string",
  "gatewayIPv4": "string",
  "gatewayIPv6": "string",
  "dns1": "string",
  "dns2": "string",
  "deploymentModel": "DEDICATED",
  "systems": [
    {
      "id": "string",
      "systemDefinition": {
        "id": "string",
        "name": "string",
        "os": "ANDROID",
        "osVersion": "string",
        "version": "string",
        "platformIds": [
          "string"
        ],
        "status": "ARCHIVED"
      },
      "tags": [
        "string"
      ],
      "deploymentModel": "DEDICATED",
      "primaryHostname": "string",
      "configuration": {
        "networking": {
          "ipv4Gateway": "string",
          "ipv6Gateway": "string",
          "primaryDns": "string",
          "secondaryDns": "string",
          "interfaces": [
            {
              "id": "string",
              "subnetId": "string",
              "ipv4Address": "string",
              "ipv6Address": "string",
              "hostname": "string",
              "name": "string"
            }
          ]
        },
        "parameters": [
          {
            "key": "string",
            "value": "string"
          }
        ]
      }
    }
  ],
  "type": "NOT_CONNECTED"
}

Parameters

Name In Type Required Description
scenarioId path string true none
subnetId path string true none
body body SubnetDTO false none

Responses

Status Meaning Description Schema
204 No Content No body returned None
400 Bad Request Returned in case subnet could not be updated None

deleteSubnet

Code samples

# You can also use wget
curl -X DELETE http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/subnets/{subnetId}

DELETE http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/subnets/{subnetId} HTTP/1.1
Host: localhost:8080


fetch('http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/subnets/{subnetId}',
{
  method: 'DELETE'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.delete 'http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/subnets/{subnetId}',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.delete('http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/subnets/{subnetId}')

print(r.json())

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('DELETE','http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/subnets/{subnetId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/subnets/{subnetId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/subnets/{subnetId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

DELETE /ng/dsc/scenarios/{scenarioId}/subnets/{subnetId}

Method used to delete scenario subnet by id

Parameters

Name In Type Required Description
scenarioId path string true none
subnetId path string true none

Responses

Status Meaning Description Schema
204 No Content No body returned None
400 Bad Request Returned in case subnet could not be deleted None

addSystemsToSubnet

Code samples

# You can also use wget
curl -X POST http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/subnets/{subnetId}/systems/batch \
  -H 'Content-Type: application/json'

POST http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/subnets/{subnetId}/systems/batch HTTP/1.1
Host: localhost:8080
Content-Type: application/json

const inputBody = '{
  "systemIds": [
    "string"
  ]
}';
const headers = {
  'Content-Type':'application/json'
};

fetch('http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/subnets/{subnetId}/systems/batch',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json'
}

result = RestClient.post 'http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/subnets/{subnetId}/systems/batch',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json'
}

r = requests.post('http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/subnets/{subnetId}/systems/batch', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/subnets/{subnetId}/systems/batch', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/subnets/{subnetId}/systems/batch");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/subnets/{subnetId}/systems/batch", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /ng/dsc/scenarios/{scenarioId}/subnets/{subnetId}/systems/batch

Method used to add systems to specified subnet

Body parameter

{
  "systemIds": [
    "string"
  ]
}

Parameters

Name In Type Required Description
scenarioId path string true none
subnetId path string true none
body body SubnetSystemsSaveDTO false none

Responses

Status Meaning Description Schema
204 No Content No body None
400 Bad Request Returned in case systems could not be added to subnet None

updateSubnetSystemConfiguration

Code samples

# You can also use wget
curl -X PUT http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/subnets/{subnetId}/systems/{subnetSystemId} \
  -H 'Content-Type: application/json'

PUT http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/subnets/{subnetId}/systems/{subnetSystemId} HTTP/1.1
Host: localhost:8080
Content-Type: application/json

const inputBody = '{
  "deploymentModel": "DEDICATED",
  "tags": [
    "string"
  ],
  "primaryHostname": "string",
  "ipv4Gateway": "string",
  "ipv6Gateway": "string",
  "primaryDns": "string",
  "secondaryDns": "string",
  "parameters": [
    {
      "key": "string",
      "value": "string"
    }
  ],
  "interfaces": [
    {
      "id": "string",
      "subnetId": "string",
      "ipv4Address": "string",
      "ipv6Address": "string",
      "hostname": "string",
      "name": "string"
    }
  ]
}';
const headers = {
  'Content-Type':'application/json'
};

fetch('http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/subnets/{subnetId}/systems/{subnetSystemId}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json'
}

result = RestClient.put 'http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/subnets/{subnetId}/systems/{subnetSystemId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json'
}

r = requests.put('http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/subnets/{subnetId}/systems/{subnetSystemId}', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/subnets/{subnetId}/systems/{subnetSystemId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/subnets/{subnetId}/systems/{subnetSystemId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PUT", "http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/subnets/{subnetId}/systems/{subnetSystemId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

PUT /ng/dsc/scenarios/{scenarioId}/subnets/{subnetId}/systems/{subnetSystemId}

Method used to update system configuration of specified subnet

Body parameter

{
  "deploymentModel": "DEDICATED",
  "tags": [
    "string"
  ],
  "primaryHostname": "string",
  "ipv4Gateway": "string",
  "ipv6Gateway": "string",
  "primaryDns": "string",
  "secondaryDns": "string",
  "parameters": [
    {
      "key": "string",
      "value": "string"
    }
  ],
  "interfaces": [
    {
      "id": "string",
      "subnetId": "string",
      "ipv4Address": "string",
      "ipv6Address": "string",
      "hostname": "string",
      "name": "string"
    }
  ]
}

Parameters

Name In Type Required Description
scenarioId path string true none
subnetId path string true none
subnetSystemId path string true none
body body SubnetSystemUpdateDTO false none

Responses

Status Meaning Description Schema
204 No Content No body None
400 Bad Request Returned in case system configuration could not be updated None

deleteSubnetSystemConfiguration

Code samples

# You can also use wget
curl -X DELETE http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/subnets/{subnetId}/systems/{subnetSystemId}

DELETE http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/subnets/{subnetId}/systems/{subnetSystemId} HTTP/1.1
Host: localhost:8080


fetch('http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/subnets/{subnetId}/systems/{subnetSystemId}',
{
  method: 'DELETE'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.delete 'http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/subnets/{subnetId}/systems/{subnetSystemId}',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.delete('http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/subnets/{subnetId}/systems/{subnetSystemId}')

print(r.json())

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('DELETE','http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/subnets/{subnetId}/systems/{subnetSystemId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/subnets/{subnetId}/systems/{subnetSystemId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/subnets/{subnetId}/systems/{subnetSystemId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

DELETE /ng/dsc/scenarios/{scenarioId}/subnets/{subnetId}/systems/{subnetSystemId}

Method used to delete system configuration of specified subnet

Parameters

Name In Type Required Description
scenarioId path string true none
subnetId path string true none
subnetSystemId path string true none

Responses

Status Meaning Description Schema
204 No Content No body None
400 Bad Request Returned in case system configuration could not be deleted None

getScenarioCampaigns

Code samples

# You can also use wget
curl -X GET http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/campaigns

GET http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/campaigns HTTP/1.1
Host: localhost:8080


fetch('http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/campaigns',
{
  method: 'GET'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.get 'http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/campaigns',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.get('http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/campaigns')

print(r.json())

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/campaigns', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/campaigns");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/campaigns", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /ng/dsc/scenarios/{scenarioId}/campaigns

Method used to fetch certain scenario campaigns

Parameters

Name In Type Required Description
scenarioId path string true none

Responses

Status Meaning Description Schema
200 OK Returns list of all campaings None
404 Not Found Returned in case scenario with specified id not found None

addCampaign

Code samples

# You can also use wget
curl -X POST http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/campaigns \
  -H 'Content-Type: application/json'

POST http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/campaigns HTTP/1.1
Host: localhost:8080
Content-Type: application/json

const inputBody = '{
  "id": "string",
  "name": "string",
  "description": "string",
  "objectives": [
    {
      "id": "string",
      "order": 0,
      "data": {
        "id": "string",
        "name": "string",
        "description": "string",
        "result": "string",
        "hints": [
          {
            "name": "string",
            "content": "string",
            "order": 0,
            "penalty": 0
          }
        ],
        "order": 0
      }
    }
  ],
  "injects": [
    {
      "id": "string",
      "order": 0,
      "data": {
        "id": "string",
        "name": "string",
        "description": "string",
        "content": "string",
        "parameters": [
          {
            "key": "string",
            "value": "string"
          }
        ],
        "script": {
          "source": "string",
          "exec": "string"
        },
        "trigger": {
          "type": "AUTOMATIC",
          "content": "string"
        },
        "order": 0
      }
    }
  ],
  "tasks": {
    "flags": [
      {
        "id": "string",
        "order": 0,
        "data": {
          "name": "string",
          "id": "string"
        }
      }
    ],
    "actions": [
      {
        "id": "string",
        "order": 0,
        "data": {
          "name": "string",
          "id": "string"
        }
      }
    ],
    "availabilities": [
      {
        "id": "string",
        "order": 0,
        "data": {
          "name": "string",
          "id": "string"
        }
      }
    ],
    "attacks": [
      {
        "id": "string",
        "order": 0,
        "data": {
          "name": "string",
          "id": "string"
        }
      }
    ]
  }
}';
const headers = {
  'Content-Type':'application/json'
};

fetch('http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/campaigns',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json'
}

result = RestClient.post 'http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/campaigns',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json'
}

r = requests.post('http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/campaigns', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/campaigns', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/campaigns");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/campaigns", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /ng/dsc/scenarios/{scenarioId}/campaigns

Method used to add campaign to specified scenario

Body parameter

{
  "id": "string",
  "name": "string",
  "description": "string",
  "objectives": [
    {
      "id": "string",
      "order": 0,
      "data": {
        "id": "string",
        "name": "string",
        "description": "string",
        "result": "string",
        "hints": [
          {
            "name": "string",
            "content": "string",
            "order": 0,
            "penalty": 0
          }
        ],
        "order": 0
      }
    }
  ],
  "injects": [
    {
      "id": "string",
      "order": 0,
      "data": {
        "id": "string",
        "name": "string",
        "description": "string",
        "content": "string",
        "parameters": [
          {
            "key": "string",
            "value": "string"
          }
        ],
        "script": {
          "source": "string",
          "exec": "string"
        },
        "trigger": {
          "type": "AUTOMATIC",
          "content": "string"
        },
        "order": 0
      }
    }
  ],
  "tasks": {
    "flags": [
      {
        "id": "string",
        "order": 0,
        "data": {
          "name": "string",
          "id": "string"
        }
      }
    ],
    "actions": [
      {
        "id": "string",
        "order": 0,
        "data": {
          "name": "string",
          "id": "string"
        }
      }
    ],
    "availabilities": [
      {
        "id": "string",
        "order": 0,
        "data": {
          "name": "string",
          "id": "string"
        }
      }
    ],
    "attacks": [
      {
        "id": "string",
        "order": 0,
        "data": {
          "name": "string",
          "id": "string"
        }
      }
    ]
  }
}

Parameters

Name In Type Required Description
scenarioId path string true none
body body CampaignDTO false none

Responses

Status Meaning Description Schema
201 Created Entity with newly created campaign id None
400 Bad Request Returned in case campaign could not be added None

getAllCampaigns

Code samples

# You can also use wget
curl -X GET http://localhost:8080/rest/ng/dsc/scenarios/campaigns

GET http://localhost:8080/rest/ng/dsc/scenarios/campaigns HTTP/1.1
Host: localhost:8080


fetch('http://localhost:8080/rest/ng/dsc/scenarios/campaigns',
{
  method: 'GET'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.get 'http://localhost:8080/rest/ng/dsc/scenarios/campaigns',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.get('http://localhost:8080/rest/ng/dsc/scenarios/campaigns')

print(r.json())

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','http://localhost:8080/rest/ng/dsc/scenarios/campaigns', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/scenarios/campaigns");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "http://localhost:8080/rest/ng/dsc/scenarios/campaigns", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /ng/dsc/scenarios/campaigns

Method used to fetch all campaigns

Responses

Status Meaning Description Schema
200 OK Returns list of all campaigns None

updateCampaign

Code samples

# You can also use wget
curl -X PUT http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/campaigns/{campaignId} \
  -H 'Content-Type: application/json'

PUT http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/campaigns/{campaignId} HTTP/1.1
Host: localhost:8080
Content-Type: application/json

const inputBody = '{
  "id": "string",
  "name": "string",
  "description": "string",
  "objectives": [
    {
      "id": "string",
      "order": 0,
      "data": {
        "id": "string",
        "name": "string",
        "description": "string",
        "result": "string",
        "hints": [
          {
            "name": "string",
            "content": "string",
            "order": 0,
            "penalty": 0
          }
        ],
        "order": 0
      }
    }
  ],
  "injects": [
    {
      "id": "string",
      "order": 0,
      "data": {
        "id": "string",
        "name": "string",
        "description": "string",
        "content": "string",
        "parameters": [
          {
            "key": "string",
            "value": "string"
          }
        ],
        "script": {
          "source": "string",
          "exec": "string"
        },
        "trigger": {
          "type": "AUTOMATIC",
          "content": "string"
        },
        "order": 0
      }
    }
  ],
  "tasks": {
    "flags": [
      {
        "id": "string",
        "order": 0,
        "data": {
          "name": "string",
          "id": "string"
        }
      }
    ],
    "actions": [
      {
        "id": "string",
        "order": 0,
        "data": {
          "name": "string",
          "id": "string"
        }
      }
    ],
    "availabilities": [
      {
        "id": "string",
        "order": 0,
        "data": {
          "name": "string",
          "id": "string"
        }
      }
    ],
    "attacks": [
      {
        "id": "string",
        "order": 0,
        "data": {
          "name": "string",
          "id": "string"
        }
      }
    ]
  }
}';
const headers = {
  'Content-Type':'application/json'
};

fetch('http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/campaigns/{campaignId}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json'
}

result = RestClient.put 'http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/campaigns/{campaignId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json'
}

r = requests.put('http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/campaigns/{campaignId}', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/campaigns/{campaignId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/campaigns/{campaignId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PUT", "http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/campaigns/{campaignId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

PUT /ng/dsc/scenarios/{scenarioId}/campaigns/{campaignId}

Method used to update scenario campaign by id

Body parameter

{
  "id": "string",
  "name": "string",
  "description": "string",
  "objectives": [
    {
      "id": "string",
      "order": 0,
      "data": {
        "id": "string",
        "name": "string",
        "description": "string",
        "result": "string",
        "hints": [
          {
            "name": "string",
            "content": "string",
            "order": 0,
            "penalty": 0
          }
        ],
        "order": 0
      }
    }
  ],
  "injects": [
    {
      "id": "string",
      "order": 0,
      "data": {
        "id": "string",
        "name": "string",
        "description": "string",
        "content": "string",
        "parameters": [
          {
            "key": "string",
            "value": "string"
          }
        ],
        "script": {
          "source": "string",
          "exec": "string"
        },
        "trigger": {
          "type": "AUTOMATIC",
          "content": "string"
        },
        "order": 0
      }
    }
  ],
  "tasks": {
    "flags": [
      {
        "id": "string",
        "order": 0,
        "data": {
          "name": "string",
          "id": "string"
        }
      }
    ],
    "actions": [
      {
        "id": "string",
        "order": 0,
        "data": {
          "name": "string",
          "id": "string"
        }
      }
    ],
    "availabilities": [
      {
        "id": "string",
        "order": 0,
        "data": {
          "name": "string",
          "id": "string"
        }
      }
    ],
    "attacks": [
      {
        "id": "string",
        "order": 0,
        "data": {
          "name": "string",
          "id": "string"
        }
      }
    ]
  }
}

Parameters

Name In Type Required Description
scenarioId path string true none
campaignId path string true none
body body CampaignDTO false none

Responses

Status Meaning Description Schema
204 No Content No body returned None
400 Bad Request Returned in case campaign could not be updated None

deleteCampaign

Code samples

# You can also use wget
curl -X DELETE http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/campaigns/{campaignId}

DELETE http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/campaigns/{campaignId} HTTP/1.1
Host: localhost:8080


fetch('http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/campaigns/{campaignId}',
{
  method: 'DELETE'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.delete 'http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/campaigns/{campaignId}',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.delete('http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/campaigns/{campaignId}')

print(r.json())

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('DELETE','http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/campaigns/{campaignId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/campaigns/{campaignId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/campaigns/{campaignId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

DELETE /ng/dsc/scenarios/{scenarioId}/campaigns/{campaignId}

Method used to delete scenario campaign by id

Parameters

Name In Type Required Description
scenarioId path string true none
campaignId path string true none

Responses

Status Meaning Description Schema
204 No Content No body returned None
400 Bad Request Returned in case campaign could not be deleted None

getTaskData

Code samples

# You can also use wget
curl -X GET http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/task-data

GET http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/task-data HTTP/1.1
Host: localhost:8080


fetch('http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/task-data',
{
  method: 'GET'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.get 'http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/task-data',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.get('http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/task-data')

print(r.json())

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/task-data', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/task-data");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/task-data", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /ng/dsc/scenarios/{scenarioId}/task-data

Method used to fetch all task data of certain scenario

Parameters

Name In Type Required Description
scenarioId path string true none

Responses

Status Meaning Description Schema
200 OK task data of the systems of the scenario None
404 Not Found Returned in case scenario with specified id was not found None

reorderCampaignItems

Code samples

# You can also use wget
curl -X POST http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/campaigns/{campaignId}/items/reorder \
  -H 'Content-Type: application/json'

POST http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/campaigns/{campaignId}/items/reorder HTTP/1.1
Host: localhost:8080
Content-Type: application/json

const inputBody = '{
  "itemIds": [
    "string"
  ]
}';
const headers = {
  'Content-Type':'application/json'
};

fetch('http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/campaigns/{campaignId}/items/reorder',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json'
}

result = RestClient.post 'http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/campaigns/{campaignId}/items/reorder',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json'
}

r = requests.post('http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/campaigns/{campaignId}/items/reorder', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/campaigns/{campaignId}/items/reorder', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/campaigns/{campaignId}/items/reorder");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/campaigns/{campaignId}/items/reorder", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /ng/dsc/scenarios/{scenarioId}/campaigns/{campaignId}/items/reorder

Method used to reorder items in campaign for specified scenario

Body parameter

{
  "itemIds": [
    "string"
  ]
}

Parameters

Name In Type Required Description
scenarioId path string true none
campaignId path string true none
body body ScenarioCampaignReorderedItemsDTO false none

Responses

Status Meaning Description Schema
204 No Content No body returned None
400 Bad Request Returned in case items could not be reordered None

getById_4

Code samples

# You can also use wget
curl -X GET http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}

GET http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId} HTTP/1.1
Host: localhost:8080


fetch('http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}',
{
  method: 'GET'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.get 'http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.get('http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}')

print(r.json())

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /ng/dsc/scenarios/{scenarioId}

Method used to fetch certain scenario by its id

Parameters

Name In Type Required Description
scenarioId path string true none

Responses

Status Meaning Description Schema
200 OK Scenario DTO returned None
404 Not Found Returned in case scenario with specified id not found None

update_4

Code samples

# You can also use wget
curl -X PUT http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId} \
  -H 'Content-Type: application/json'

PUT http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId} HTTP/1.1
Host: localhost:8080
Content-Type: application/json

const inputBody = '{
  "id": "string",
  "name": "string",
  "description": "string",
  "version": "string",
  "type": "CTF",
  "platformId": "string",
  "externalId": "string",
  "tags": [
    "string"
  ],
  "subnets": [
    {
      "id": "string",
      "name": "string",
      "description": "string",
      "subnetIPv4Address": "string",
      "subnetIPv6Address": "string",
      "gatewayIPv4": "string",
      "gatewayIPv6": "string",
      "dns1": "string",
      "dns2": "string",
      "deploymentModel": "DEDICATED",
      "systems": [
        {
          "id": "string",
          "systemDefinition": {
            "id": "string",
            "name": "string",
            "os": "ANDROID",
            "osVersion": "string",
            "version": "string",
            "platformIds": [
              "string"
            ],
            "status": "ARCHIVED"
          },
          "tags": [
            "string"
          ],
          "deploymentModel": "DEDICATED",
          "primaryHostname": "string",
          "configuration": {
            "networking": {
              "ipv4Gateway": "string",
              "ipv6Gateway": "string",
              "primaryDns": "string",
              "secondaryDns": "string",
              "interfaces": [
                {
                  "id": "string",
                  "subnetId": "string",
                  "ipv4Address": "string",
                  "ipv6Address": "string",
                  "hostname": "string",
                  "name": "string"
                }
              ]
            },
            "parameters": [
              {
                "key": "string",
                "value": "string"
              }
            ]
          }
        }
      ],
      "type": "NOT_CONNECTED"
    }
  ],
  "objectives": [
    {
      "id": "string",
      "name": "string",
      "description": "string",
      "result": "string",
      "hints": [
        {
          "name": "string",
          "content": "string",
          "order": 0,
          "penalty": 0
        }
      ],
      "order": 0
    }
  ],
  "injects": [
    {
      "id": "string",
      "name": "string",
      "description": "string",
      "content": "string",
      "parameters": [
        {
          "key": "string",
          "value": "string"
        }
      ],
      "script": {
        "source": "string",
        "exec": "string"
      },
      "trigger": {
        "type": "AUTOMATIC",
        "content": "string"
      },
      "order": 0
    }
  ],
  "campaigns": [
    {
      "id": "string",
      "name": "string",
      "description": "string",
      "objectives": [
        {
          "id": "string",
          "order": 0,
          "data": {
            "id": "string",
            "name": "string",
            "description": "string",
            "result": "string",
            "hints": [
              {
                "name": "string",
                "content": "string",
                "order": 0,
                "penalty": 0
              }
            ],
            "order": 0
          }
        }
      ],
      "injects": [
        {
          "id": "string",
          "order": 0,
          "data": {
            "id": "string",
            "name": "string",
            "description": "string",
            "content": "string",
            "parameters": [
              {
                "key": "string",
                "value": "string"
              }
            ],
            "script": {
              "source": "string",
              "exec": "string"
            },
            "trigger": {
              "type": "AUTOMATIC",
              "content": "string"
            },
            "order": 0
          }
        }
      ],
      "tasks": {
        "flags": [
          {
            "id": "string",
            "order": 0,
            "data": {
              "name": "string",
              "id": "string"
            }
          }
        ],
        "actions": [
          {
            "id": "string",
            "order": 0,
            "data": {
              "name": "string",
              "id": "string"
            }
          }
        ],
        "availabilities": [
          {
            "id": "string",
            "order": 0,
            "data": {
              "name": "string",
              "id": "string"
            }
          }
        ],
        "attacks": [
          {
            "id": "string",
            "order": 0,
            "data": {
              "name": "string",
              "id": "string"
            }
          }
        ]
      }
    }
  ],
  "status": "ARCHIVED",
  "capacity": {
    "cpu": 0,
    "memory": 0,
    "storage": 0,
    "maxEnvironments": 0,
    "referenceCapacity": {}
  },
  "contacts": [
    {
      "name": "string",
      "email": "string",
      "role": "string"
    }
  ]
}';
const headers = {
  'Content-Type':'application/json'
};

fetch('http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json'
}

result = RestClient.put 'http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json'
}

r = requests.put('http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PUT", "http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

PUT /ng/dsc/scenarios/{scenarioId}

Method used to update scenario by id

Body parameter

{
  "id": "string",
  "name": "string",
  "description": "string",
  "version": "string",
  "type": "CTF",
  "platformId": "string",
  "externalId": "string",
  "tags": [
    "string"
  ],
  "subnets": [
    {
      "id": "string",
      "name": "string",
      "description": "string",
      "subnetIPv4Address": "string",
      "subnetIPv6Address": "string",
      "gatewayIPv4": "string",
      "gatewayIPv6": "string",
      "dns1": "string",
      "dns2": "string",
      "deploymentModel": "DEDICATED",
      "systems": [
        {
          "id": "string",
          "systemDefinition": {
            "id": "string",
            "name": "string",
            "os": "ANDROID",
            "osVersion": "string",
            "version": "string",
            "platformIds": [
              "string"
            ],
            "status": "ARCHIVED"
          },
          "tags": [
            "string"
          ],
          "deploymentModel": "DEDICATED",
          "primaryHostname": "string",
          "configuration": {
            "networking": {
              "ipv4Gateway": "string",
              "ipv6Gateway": "string",
              "primaryDns": "string",
              "secondaryDns": "string",
              "interfaces": [
                {
                  "id": "string",
                  "subnetId": "string",
                  "ipv4Address": "string",
                  "ipv6Address": "string",
                  "hostname": "string",
                  "name": "string"
                }
              ]
            },
            "parameters": [
              {
                "key": "string",
                "value": "string"
              }
            ]
          }
        }
      ],
      "type": "NOT_CONNECTED"
    }
  ],
  "objectives": [
    {
      "id": "string",
      "name": "string",
      "description": "string",
      "result": "string",
      "hints": [
        {
          "name": "string",
          "content": "string",
          "order": 0,
          "penalty": 0
        }
      ],
      "order": 0
    }
  ],
  "injects": [
    {
      "id": "string",
      "name": "string",
      "description": "string",
      "content": "string",
      "parameters": [
        {
          "key": "string",
          "value": "string"
        }
      ],
      "script": {
        "source": "string",
        "exec": "string"
      },
      "trigger": {
        "type": "AUTOMATIC",
        "content": "string"
      },
      "order": 0
    }
  ],
  "campaigns": [
    {
      "id": "string",
      "name": "string",
      "description": "string",
      "objectives": [
        {
          "id": "string",
          "order": 0,
          "data": {
            "id": "string",
            "name": "string",
            "description": "string",
            "result": "string",
            "hints": [
              {
                "name": "string",
                "content": "string",
                "order": 0,
                "penalty": 0
              }
            ],
            "order": 0
          }
        }
      ],
      "injects": [
        {
          "id": "string",
          "order": 0,
          "data": {
            "id": "string",
            "name": "string",
            "description": "string",
            "content": "string",
            "parameters": [
              {
                "key": "string",
                "value": "string"
              }
            ],
            "script": {
              "source": "string",
              "exec": "string"
            },
            "trigger": {
              "type": "AUTOMATIC",
              "content": "string"
            },
            "order": 0
          }
        }
      ],
      "tasks": {
        "flags": [
          {
            "id": "string",
            "order": 0,
            "data": {
              "name": "string",
              "id": "string"
            }
          }
        ],
        "actions": [
          {
            "id": "string",
            "order": 0,
            "data": {
              "name": "string",
              "id": "string"
            }
          }
        ],
        "availabilities": [
          {
            "id": "string",
            "order": 0,
            "data": {
              "name": "string",
              "id": "string"
            }
          }
        ],
        "attacks": [
          {
            "id": "string",
            "order": 0,
            "data": {
              "name": "string",
              "id": "string"
            }
          }
        ]
      }
    }
  ],
  "status": "ARCHIVED",
  "capacity": {
    "cpu": 0,
    "memory": 0,
    "storage": 0,
    "maxEnvironments": 0,
    "referenceCapacity": {}
  },
  "contacts": [
    {
      "name": "string",
      "email": "string",
      "role": "string"
    }
  ]
}

Parameters

Name In Type Required Description
scenarioId path string true none
body body ScenarioDTO false none

Responses

Status Meaning Description Schema
204 No Content No body returned None
400 Bad Request Returned in case scenario could not be updated None

delete_4

Code samples

# You can also use wget
curl -X DELETE http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}

DELETE http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId} HTTP/1.1
Host: localhost:8080


fetch('http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}',
{
  method: 'DELETE'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.delete 'http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.delete('http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}')

print(r.json())

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('DELETE','http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

DELETE /ng/dsc/scenarios/{scenarioId}

Method used to delete scenario by id

Parameters

Name In Type Required Description
scenarioId path string true none

Responses

Status Meaning Description Schema
204 No Content No body returned None
400 Bad Request Returned in case scenario could not be deleted None

tag_1

Code samples

# You can also use wget
curl -X POST http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/tag

POST http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/tag HTTP/1.1
Host: localhost:8080


fetch('http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/tag',
{
  method: 'POST'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.post 'http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/tag',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.post('http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/tag')

print(r.json())

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/tag', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/tag");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/tag", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /ng/dsc/scenarios/{scenarioId}/tag

Method used to tag scenario by id

Parameters

Name In Type Required Description
scenarioId path string true none

Responses

Status Meaning Description Schema
200 OK Scenario with new version None
400 Bad Request Returned in case scenario could not be tagged None

submit_1

Code samples

# You can also use wget
curl -X POST http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/submit

POST http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/submit HTTP/1.1
Host: localhost:8080


fetch('http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/submit',
{
  method: 'POST'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.post 'http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/submit',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.post('http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/submit')

print(r.json())

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/submit', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/submit");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/submit", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /ng/dsc/scenarios/{scenarioId}/submit

Method used to submit scenario by id

Parameters

Name In Type Required Description
scenarioId path string true none

Responses

Status Meaning Description Schema
204 No Content No body returned None
400 Bad Request Returned in case scenario could not be submitted None

clone_1

Code samples

# You can also use wget
curl -X POST http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/clone

POST http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/clone HTTP/1.1
Host: localhost:8080


fetch('http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/clone',
{
  method: 'POST'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.post 'http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/clone',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.post('http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/clone')

print(r.json())

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/clone', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/clone");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "http://localhost:8080/rest/ng/dsc/scenarios/{scenarioId}/clone", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /ng/dsc/scenarios/{scenarioId}/clone

Method used to clone scenario by id

Parameters

Name In Type Required Description
scenarioId path string true none

Responses

Status Meaning Description Schema
200 OK Cloned scenario None
400 Bad Request Returned in case scenario could not be cloned None

getAll_5

Code samples

# You can also use wget
curl -X GET http://localhost:8080/rest/ng/dsc/scenarios

GET http://localhost:8080/rest/ng/dsc/scenarios HTTP/1.1
Host: localhost:8080


fetch('http://localhost:8080/rest/ng/dsc/scenarios',
{
  method: 'GET'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.get 'http://localhost:8080/rest/ng/dsc/scenarios',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.get('http://localhost:8080/rest/ng/dsc/scenarios')

print(r.json())

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','http://localhost:8080/rest/ng/dsc/scenarios', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/scenarios");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "http://localhost:8080/rest/ng/dsc/scenarios", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /ng/dsc/scenarios

Method used to fetch all scenarios

Responses

Status Meaning Description Schema
200 OK Returns list of all scenarios None

create_4

Code samples

# You can also use wget
curl -X POST http://localhost:8080/rest/ng/dsc/scenarios \
  -H 'Content-Type: application/json'

POST http://localhost:8080/rest/ng/dsc/scenarios HTTP/1.1
Host: localhost:8080
Content-Type: application/json

const inputBody = '{
  "id": "string",
  "name": "string",
  "description": "string",
  "version": "string",
  "type": "CTF",
  "platformId": "string",
  "externalId": "string",
  "tags": [
    "string"
  ],
  "subnets": [
    {
      "id": "string",
      "name": "string",
      "description": "string",
      "subnetIPv4Address": "string",
      "subnetIPv6Address": "string",
      "gatewayIPv4": "string",
      "gatewayIPv6": "string",
      "dns1": "string",
      "dns2": "string",
      "deploymentModel": "DEDICATED",
      "systems": [
        {
          "id": "string",
          "systemDefinition": {
            "id": "string",
            "name": "string",
            "os": "ANDROID",
            "osVersion": "string",
            "version": "string",
            "platformIds": [
              "string"
            ],
            "status": "ARCHIVED"
          },
          "tags": [
            "string"
          ],
          "deploymentModel": "DEDICATED",
          "primaryHostname": "string",
          "configuration": {
            "networking": {
              "ipv4Gateway": "string",
              "ipv6Gateway": "string",
              "primaryDns": "string",
              "secondaryDns": "string",
              "interfaces": [
                {
                  "id": "string",
                  "subnetId": "string",
                  "ipv4Address": "string",
                  "ipv6Address": "string",
                  "hostname": "string",
                  "name": "string"
                }
              ]
            },
            "parameters": [
              {
                "key": "string",
                "value": "string"
              }
            ]
          }
        }
      ],
      "type": "NOT_CONNECTED"
    }
  ],
  "objectives": [
    {
      "id": "string",
      "name": "string",
      "description": "string",
      "result": "string",
      "hints": [
        {
          "name": "string",
          "content": "string",
          "order": 0,
          "penalty": 0
        }
      ],
      "order": 0
    }
  ],
  "injects": [
    {
      "id": "string",
      "name": "string",
      "description": "string",
      "content": "string",
      "parameters": [
        {
          "key": "string",
          "value": "string"
        }
      ],
      "script": {
        "source": "string",
        "exec": "string"
      },
      "trigger": {
        "type": "AUTOMATIC",
        "content": "string"
      },
      "order": 0
    }
  ],
  "campaigns": [
    {
      "id": "string",
      "name": "string",
      "description": "string",
      "objectives": [
        {
          "id": "string",
          "order": 0,
          "data": {
            "id": "string",
            "name": "string",
            "description": "string",
            "result": "string",
            "hints": [
              {
                "name": "string",
                "content": "string",
                "order": 0,
                "penalty": 0
              }
            ],
            "order": 0
          }
        }
      ],
      "injects": [
        {
          "id": "string",
          "order": 0,
          "data": {
            "id": "string",
            "name": "string",
            "description": "string",
            "content": "string",
            "parameters": [
              {
                "key": "string",
                "value": "string"
              }
            ],
            "script": {
              "source": "string",
              "exec": "string"
            },
            "trigger": {
              "type": "AUTOMATIC",
              "content": "string"
            },
            "order": 0
          }
        }
      ],
      "tasks": {
        "flags": [
          {
            "id": "string",
            "order": 0,
            "data": {
              "name": "string",
              "id": "string"
            }
          }
        ],
        "actions": [
          {
            "id": "string",
            "order": 0,
            "data": {
              "name": "string",
              "id": "string"
            }
          }
        ],
        "availabilities": [
          {
            "id": "string",
            "order": 0,
            "data": {
              "name": "string",
              "id": "string"
            }
          }
        ],
        "attacks": [
          {
            "id": "string",
            "order": 0,
            "data": {
              "name": "string",
              "id": "string"
            }
          }
        ]
      }
    }
  ],
  "status": "ARCHIVED",
  "capacity": {
    "cpu": 0,
    "memory": 0,
    "storage": 0,
    "maxEnvironments": 0,
    "referenceCapacity": {}
  },
  "contacts": [
    {
      "name": "string",
      "email": "string",
      "role": "string"
    }
  ]
}';
const headers = {
  'Content-Type':'application/json'
};

fetch('http://localhost:8080/rest/ng/dsc/scenarios',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json'
}

result = RestClient.post 'http://localhost:8080/rest/ng/dsc/scenarios',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json'
}

r = requests.post('http://localhost:8080/rest/ng/dsc/scenarios', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','http://localhost:8080/rest/ng/dsc/scenarios', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/scenarios");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "http://localhost:8080/rest/ng/dsc/scenarios", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /ng/dsc/scenarios

Method used to create scenario

Body parameter

{
  "id": "string",
  "name": "string",
  "description": "string",
  "version": "string",
  "type": "CTF",
  "platformId": "string",
  "externalId": "string",
  "tags": [
    "string"
  ],
  "subnets": [
    {
      "id": "string",
      "name": "string",
      "description": "string",
      "subnetIPv4Address": "string",
      "subnetIPv6Address": "string",
      "gatewayIPv4": "string",
      "gatewayIPv6": "string",
      "dns1": "string",
      "dns2": "string",
      "deploymentModel": "DEDICATED",
      "systems": [
        {
          "id": "string",
          "systemDefinition": {
            "id": "string",
            "name": "string",
            "os": "ANDROID",
            "osVersion": "string",
            "version": "string",
            "platformIds": [
              "string"
            ],
            "status": "ARCHIVED"
          },
          "tags": [
            "string"
          ],
          "deploymentModel": "DEDICATED",
          "primaryHostname": "string",
          "configuration": {
            "networking": {
              "ipv4Gateway": "string",
              "ipv6Gateway": "string",
              "primaryDns": "string",
              "secondaryDns": "string",
              "interfaces": [
                {
                  "id": "string",
                  "subnetId": "string",
                  "ipv4Address": "string",
                  "ipv6Address": "string",
                  "hostname": "string",
                  "name": "string"
                }
              ]
            },
            "parameters": [
              {
                "key": "string",
                "value": "string"
              }
            ]
          }
        }
      ],
      "type": "NOT_CONNECTED"
    }
  ],
  "objectives": [
    {
      "id": "string",
      "name": "string",
      "description": "string",
      "result": "string",
      "hints": [
        {
          "name": "string",
          "content": "string",
          "order": 0,
          "penalty": 0
        }
      ],
      "order": 0
    }
  ],
  "injects": [
    {
      "id": "string",
      "name": "string",
      "description": "string",
      "content": "string",
      "parameters": [
        {
          "key": "string",
          "value": "string"
        }
      ],
      "script": {
        "source": "string",
        "exec": "string"
      },
      "trigger": {
        "type": "AUTOMATIC",
        "content": "string"
      },
      "order": 0
    }
  ],
  "campaigns": [
    {
      "id": "string",
      "name": "string",
      "description": "string",
      "objectives": [
        {
          "id": "string",
          "order": 0,
          "data": {
            "id": "string",
            "name": "string",
            "description": "string",
            "result": "string",
            "hints": [
              {
                "name": "string",
                "content": "string",
                "order": 0,
                "penalty": 0
              }
            ],
            "order": 0
          }
        }
      ],
      "injects": [
        {
          "id": "string",
          "order": 0,
          "data": {
            "id": "string",
            "name": "string",
            "description": "string",
            "content": "string",
            "parameters": [
              {
                "key": "string",
                "value": "string"
              }
            ],
            "script": {
              "source": "string",
              "exec": "string"
            },
            "trigger": {
              "type": "AUTOMATIC",
              "content": "string"
            },
            "order": 0
          }
        }
      ],
      "tasks": {
        "flags": [
          {
            "id": "string",
            "order": 0,
            "data": {
              "name": "string",
              "id": "string"
            }
          }
        ],
        "actions": [
          {
            "id": "string",
            "order": 0,
            "data": {
              "name": "string",
              "id": "string"
            }
          }
        ],
        "availabilities": [
          {
            "id": "string",
            "order": 0,
            "data": {
              "name": "string",
              "id": "string"
            }
          }
        ],
        "attacks": [
          {
            "id": "string",
            "order": 0,
            "data": {
              "name": "string",
              "id": "string"
            }
          }
        ]
      }
    }
  ],
  "status": "ARCHIVED",
  "capacity": {
    "cpu": 0,
    "memory": 0,
    "storage": 0,
    "maxEnvironments": 0,
    "referenceCapacity": {}
  },
  "contacts": [
    {
      "name": "string",
      "email": "string",
      "role": "string"
    }
  ]
}

Parameters

Name In Type Required Description
body body ScenarioDTO false none

Responses

Status Meaning Description Schema
201 Created Entity with newly created scenario id None

getVulnerabilities

Code samples

# You can also use wget
curl -X GET http://localhost:8080/rest/ng/dsc/systems/{systemId}/vulnerabilities

GET http://localhost:8080/rest/ng/dsc/systems/{systemId}/vulnerabilities HTTP/1.1
Host: localhost:8080


fetch('http://localhost:8080/rest/ng/dsc/systems/{systemId}/vulnerabilities',
{
  method: 'GET'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.get 'http://localhost:8080/rest/ng/dsc/systems/{systemId}/vulnerabilities',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.get('http://localhost:8080/rest/ng/dsc/systems/{systemId}/vulnerabilities')

print(r.json())

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','http://localhost:8080/rest/ng/dsc/systems/{systemId}/vulnerabilities', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/systems/{systemId}/vulnerabilities");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "http://localhost:8080/rest/ng/dsc/systems/{systemId}/vulnerabilities", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /ng/dsc/systems/{systemId}/vulnerabilities

Method used to fetch all vulnerabilities of certain system

Parameters

Name In Type Required Description
systemId path string true none

Responses

Status Meaning Description Schema
200 OK list of vulnerabilities of the system None
404 Not Found Returned in case system with specified id was not found None

addVulnerability

Code samples

# You can also use wget
curl -X POST http://localhost:8080/rest/ng/dsc/systems/{systemId}/vulnerabilities \
  -H 'Content-Type: application/json'

POST http://localhost:8080/rest/ng/dsc/systems/{systemId}/vulnerabilities HTTP/1.1
Host: localhost:8080
Content-Type: application/json

const inputBody = '{
  "id": "string",
  "name": "string",
  "type": "EXPLOIT",
  "cveId": "string",
  "description": "string",
  "script": {
    "source": "string",
    "exec": "string"
  }
}';
const headers = {
  'Content-Type':'application/json'
};

fetch('http://localhost:8080/rest/ng/dsc/systems/{systemId}/vulnerabilities',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json'
}

result = RestClient.post 'http://localhost:8080/rest/ng/dsc/systems/{systemId}/vulnerabilities',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json'
}

r = requests.post('http://localhost:8080/rest/ng/dsc/systems/{systemId}/vulnerabilities', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','http://localhost:8080/rest/ng/dsc/systems/{systemId}/vulnerabilities', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/systems/{systemId}/vulnerabilities");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "http://localhost:8080/rest/ng/dsc/systems/{systemId}/vulnerabilities", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /ng/dsc/systems/{systemId}/vulnerabilities

Method used to add vulnerability to specified system

Body parameter

{
  "id": "string",
  "name": "string",
  "type": "EXPLOIT",
  "cveId": "string",
  "description": "string",
  "script": {
    "source": "string",
    "exec": "string"
  }
}

Parameters

Name In Type Required Description
systemId path string true none
body body VulnerabilityDTO false none

Responses

Status Meaning Description Schema
201 Created Entity with newly created vulnerability id None
400 Bad Request Returned in case vulnerability could not be added None

updateVulnerability

Code samples

# You can also use wget
curl -X PUT http://localhost:8080/rest/ng/dsc/systems/{systemId}/vulnerabilities/{vulnerabilityId} \
  -H 'Content-Type: application/json'

PUT http://localhost:8080/rest/ng/dsc/systems/{systemId}/vulnerabilities/{vulnerabilityId} HTTP/1.1
Host: localhost:8080
Content-Type: application/json

const inputBody = '{
  "id": "string",
  "name": "string",
  "type": "EXPLOIT",
  "cveId": "string",
  "description": "string",
  "script": {
    "source": "string",
    "exec": "string"
  }
}';
const headers = {
  'Content-Type':'application/json'
};

fetch('http://localhost:8080/rest/ng/dsc/systems/{systemId}/vulnerabilities/{vulnerabilityId}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json'
}

result = RestClient.put 'http://localhost:8080/rest/ng/dsc/systems/{systemId}/vulnerabilities/{vulnerabilityId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json'
}

r = requests.put('http://localhost:8080/rest/ng/dsc/systems/{systemId}/vulnerabilities/{vulnerabilityId}', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','http://localhost:8080/rest/ng/dsc/systems/{systemId}/vulnerabilities/{vulnerabilityId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/systems/{systemId}/vulnerabilities/{vulnerabilityId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PUT", "http://localhost:8080/rest/ng/dsc/systems/{systemId}/vulnerabilities/{vulnerabilityId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

PUT /ng/dsc/systems/{systemId}/vulnerabilities/{vulnerabilityId}

Method used to update system vulnerability by id

Body parameter

{
  "id": "string",
  "name": "string",
  "type": "EXPLOIT",
  "cveId": "string",
  "description": "string",
  "script": {
    "source": "string",
    "exec": "string"
  }
}

Parameters

Name In Type Required Description
systemId path string true none
vulnerabilityId path string true none
body body VulnerabilityDTO false none

Responses

Status Meaning Description Schema
204 No Content No body returned None
400 Bad Request Returned in case vulnerability could not be updated None

deleteVulnerability

Code samples

# You can also use wget
curl -X DELETE http://localhost:8080/rest/ng/dsc/systems/{systemId}/vulnerabilities/{vulnerabilityId}

DELETE http://localhost:8080/rest/ng/dsc/systems/{systemId}/vulnerabilities/{vulnerabilityId} HTTP/1.1
Host: localhost:8080


fetch('http://localhost:8080/rest/ng/dsc/systems/{systemId}/vulnerabilities/{vulnerabilityId}',
{
  method: 'DELETE'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.delete 'http://localhost:8080/rest/ng/dsc/systems/{systemId}/vulnerabilities/{vulnerabilityId}',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.delete('http://localhost:8080/rest/ng/dsc/systems/{systemId}/vulnerabilities/{vulnerabilityId}')

print(r.json())

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('DELETE','http://localhost:8080/rest/ng/dsc/systems/{systemId}/vulnerabilities/{vulnerabilityId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/systems/{systemId}/vulnerabilities/{vulnerabilityId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "http://localhost:8080/rest/ng/dsc/systems/{systemId}/vulnerabilities/{vulnerabilityId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

DELETE /ng/dsc/systems/{systemId}/vulnerabilities/{vulnerabilityId}

Method used to delete system vulnerability by id

Parameters

Name In Type Required Description
systemId path string true none
vulnerabilityId path string true none

Responses

Status Meaning Description Schema
204 No Content No body returned None
400 Bad Request Returned in case vulnerability could not be deleted None

addTaskDataAction

Code samples

# You can also use wget
curl -X POST http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/actions \
  -H 'Content-Type: application/json'

POST http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/actions HTTP/1.1
Host: localhost:8080
Content-Type: application/json

const inputBody = '{
  "id": "string",
  "name": "string",
  "description": "string",
  "result": "string",
  "hints": [
    {
      "name": "string",
      "content": "string",
      "order": 0,
      "penalty": 0
    }
  ],
  "script": {
    "source": "string",
    "exec": "string",
    "type": "EXTERNAL"
  }
}';
const headers = {
  'Content-Type':'application/json'
};

fetch('http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/actions',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json'
}

result = RestClient.post 'http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/actions',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json'
}

r = requests.post('http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/actions', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/actions', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/actions");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/actions", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /ng/dsc/systems/{systemId}/task-data/actions

Method used to add action task data to specified system

Body parameter

{
  "id": "string",
  "name": "string",
  "description": "string",
  "result": "string",
  "hints": [
    {
      "name": "string",
      "content": "string",
      "order": 0,
      "penalty": 0
    }
  ],
  "script": {
    "source": "string",
    "exec": "string",
    "type": "EXTERNAL"
  }
}

Parameters

Name In Type Required Description
systemId path string true none
body body ActionDTO false none

Responses

Status Meaning Description Schema
201 Created Entity with newly created action id None
400 Bad Request Returned in case action could not be added None

updateTaskDataAction

Code samples

# You can also use wget
curl -X PUT http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/actions/{actionId} \
  -H 'Content-Type: application/json'

PUT http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/actions/{actionId} HTTP/1.1
Host: localhost:8080
Content-Type: application/json

const inputBody = '{
  "id": "string",
  "name": "string",
  "description": "string",
  "result": "string",
  "hints": [
    {
      "name": "string",
      "content": "string",
      "order": 0,
      "penalty": 0
    }
  ],
  "script": {
    "source": "string",
    "exec": "string",
    "type": "EXTERNAL"
  }
}';
const headers = {
  'Content-Type':'application/json'
};

fetch('http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/actions/{actionId}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json'
}

result = RestClient.put 'http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/actions/{actionId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json'
}

r = requests.put('http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/actions/{actionId}', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/actions/{actionId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/actions/{actionId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PUT", "http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/actions/{actionId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

PUT /ng/dsc/systems/{systemId}/task-data/actions/{actionId}

Method used to update system action task data by id

Body parameter

{
  "id": "string",
  "name": "string",
  "description": "string",
  "result": "string",
  "hints": [
    {
      "name": "string",
      "content": "string",
      "order": 0,
      "penalty": 0
    }
  ],
  "script": {
    "source": "string",
    "exec": "string",
    "type": "EXTERNAL"
  }
}

Parameters

Name In Type Required Description
systemId path string true none
actionId path string true none
body body ActionDTO false none

Responses

Status Meaning Description Schema
204 No Content No body returned None
400 Bad Request Returned in case action could not be updated None

deleteTaskDataAction

Code samples

# You can also use wget
curl -X DELETE http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/actions/{actionId}

DELETE http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/actions/{actionId} HTTP/1.1
Host: localhost:8080


fetch('http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/actions/{actionId}',
{
  method: 'DELETE'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.delete 'http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/actions/{actionId}',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.delete('http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/actions/{actionId}')

print(r.json())

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('DELETE','http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/actions/{actionId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/actions/{actionId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/actions/{actionId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

DELETE /ng/dsc/systems/{systemId}/task-data/actions/{actionId}

Method used to delete system action task data by id

Parameters

Name In Type Required Description
systemId path string true none
actionId path string true none

Responses

Status Meaning Description Schema
204 No Content No body returned None
400 Bad Request Returned in case action could not be deleted None

getOverviews_2

Code samples

# You can also use wget
curl -X GET http://localhost:8080/rest/ng/dsc/systems/overviews

GET http://localhost:8080/rest/ng/dsc/systems/overviews HTTP/1.1
Host: localhost:8080


fetch('http://localhost:8080/rest/ng/dsc/systems/overviews',
{
  method: 'GET'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.get 'http://localhost:8080/rest/ng/dsc/systems/overviews',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.get('http://localhost:8080/rest/ng/dsc/systems/overviews')

print(r.json())

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','http://localhost:8080/rest/ng/dsc/systems/overviews', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/systems/overviews");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "http://localhost:8080/rest/ng/dsc/systems/overviews", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /ng/dsc/systems/overviews

Method used to fetch short overviews of all systems

Parameters

Name In Type Required Description
platformId query string false none

Responses

Status Meaning Description Schema
200 OK list of overviews of all systems None

addTaskDataAttack

Code samples

# You can also use wget
curl -X POST http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/attacks \
  -H 'Content-Type: application/json'

POST http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/attacks HTTP/1.1
Host: localhost:8080
Content-Type: application/json

const inputBody = '{
  "id": "string",
  "name": "string",
  "description": "string",
  "type": "CLIENT",
  "mitreId": "string",
  "script": {
    "source": "string",
    "exec": "string",
    "type": "EXTERNAL"
  },
  "hints": [
    {
      "name": "string",
      "content": "string",
      "order": 0,
      "penalty": 0
    }
  ]
}';
const headers = {
  'Content-Type':'application/json'
};

fetch('http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/attacks',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json'
}

result = RestClient.post 'http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/attacks',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json'
}

r = requests.post('http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/attacks', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/attacks', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/attacks");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/attacks", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /ng/dsc/systems/{systemId}/task-data/attacks

Method used to add attack task data to specified system

Body parameter

{
  "id": "string",
  "name": "string",
  "description": "string",
  "type": "CLIENT",
  "mitreId": "string",
  "script": {
    "source": "string",
    "exec": "string",
    "type": "EXTERNAL"
  },
  "hints": [
    {
      "name": "string",
      "content": "string",
      "order": 0,
      "penalty": 0
    }
  ]
}

Parameters

Name In Type Required Description
systemId path string true none
body body AttackDTO false none

Responses

Status Meaning Description Schema
201 Created Entity with newly created attack id None
400 Bad Request Returned in case attack could not be added None

updateTaskDataAttack

Code samples

# You can also use wget
curl -X PUT http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/attacks/{attackId} \
  -H 'Content-Type: application/json'

PUT http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/attacks/{attackId} HTTP/1.1
Host: localhost:8080
Content-Type: application/json

const inputBody = '{
  "id": "string",
  "name": "string",
  "description": "string",
  "type": "CLIENT",
  "mitreId": "string",
  "script": {
    "source": "string",
    "exec": "string",
    "type": "EXTERNAL"
  },
  "hints": [
    {
      "name": "string",
      "content": "string",
      "order": 0,
      "penalty": 0
    }
  ]
}';
const headers = {
  'Content-Type':'application/json'
};

fetch('http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/attacks/{attackId}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json'
}

result = RestClient.put 'http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/attacks/{attackId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json'
}

r = requests.put('http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/attacks/{attackId}', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/attacks/{attackId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/attacks/{attackId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PUT", "http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/attacks/{attackId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

PUT /ng/dsc/systems/{systemId}/task-data/attacks/{attackId}

Method used to update system attack task data by id

Body parameter

{
  "id": "string",
  "name": "string",
  "description": "string",
  "type": "CLIENT",
  "mitreId": "string",
  "script": {
    "source": "string",
    "exec": "string",
    "type": "EXTERNAL"
  },
  "hints": [
    {
      "name": "string",
      "content": "string",
      "order": 0,
      "penalty": 0
    }
  ]
}

Parameters

Name In Type Required Description
systemId path string true none
attackId path string true none
body body AttackDTO false none

Responses

Status Meaning Description Schema
204 No Content No body returned None
400 Bad Request Returned in case attack could not be updated None

deleteTaskDataAttack

Code samples

# You can also use wget
curl -X DELETE http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/attacks/{attackId}

DELETE http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/attacks/{attackId} HTTP/1.1
Host: localhost:8080


fetch('http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/attacks/{attackId}',
{
  method: 'DELETE'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.delete 'http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/attacks/{attackId}',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.delete('http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/attacks/{attackId}')

print(r.json())

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('DELETE','http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/attacks/{attackId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/attacks/{attackId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/attacks/{attackId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

DELETE /ng/dsc/systems/{systemId}/task-data/attacks/{attackId}

Method used to delete system attack task data by id

Parameters

Name In Type Required Description
systemId path string true none
attackId path string true none

Responses

Status Meaning Description Schema
204 No Content No body returned None
400 Bad Request Returned in case attack could not be deleted None

addTaskDataAvailability

Code samples

# You can also use wget
curl -X POST http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/availabilities \
  -H 'Content-Type: application/json'

POST http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/availabilities HTTP/1.1
Host: localhost:8080
Content-Type: application/json

const inputBody = '{
  "id": "string",
  "name": "string",
  "protocol": "TCP",
  "port": 0,
  "result": "string",
  "script": {
    "source": "string",
    "exec": "string",
    "type": "EXTERNAL"
  }
}';
const headers = {
  'Content-Type':'application/json'
};

fetch('http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/availabilities',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json'
}

result = RestClient.post 'http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/availabilities',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json'
}

r = requests.post('http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/availabilities', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/availabilities', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/availabilities");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/availabilities", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /ng/dsc/systems/{systemId}/task-data/availabilities

Method used to add availability task data to specified system

Body parameter

{
  "id": "string",
  "name": "string",
  "protocol": "TCP",
  "port": 0,
  "result": "string",
  "script": {
    "source": "string",
    "exec": "string",
    "type": "EXTERNAL"
  }
}

Parameters

Name In Type Required Description
systemId path string true none
body body AvailabilityDTO false none

Responses

Status Meaning Description Schema
201 Created Entity with newly created availability id None
400 Bad Request Returned in case availability could not be added None

updateTaskDataAvailability

Code samples

# You can also use wget
curl -X PUT http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/availabilities/{availabilityId} \
  -H 'Content-Type: application/json'

PUT http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/availabilities/{availabilityId} HTTP/1.1
Host: localhost:8080
Content-Type: application/json

const inputBody = '{
  "id": "string",
  "name": "string",
  "protocol": "TCP",
  "port": 0,
  "result": "string",
  "script": {
    "source": "string",
    "exec": "string",
    "type": "EXTERNAL"
  }
}';
const headers = {
  'Content-Type':'application/json'
};

fetch('http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/availabilities/{availabilityId}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json'
}

result = RestClient.put 'http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/availabilities/{availabilityId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json'
}

r = requests.put('http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/availabilities/{availabilityId}', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/availabilities/{availabilityId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/availabilities/{availabilityId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PUT", "http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/availabilities/{availabilityId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

PUT /ng/dsc/systems/{systemId}/task-data/availabilities/{availabilityId}

Method used to update system availability task data by id

Body parameter

{
  "id": "string",
  "name": "string",
  "protocol": "TCP",
  "port": 0,
  "result": "string",
  "script": {
    "source": "string",
    "exec": "string",
    "type": "EXTERNAL"
  }
}

Parameters

Name In Type Required Description
systemId path string true none
availabilityId path string true none
body body AvailabilityDTO false none

Responses

Status Meaning Description Schema
204 No Content No body returned None
400 Bad Request Returned in case availability could not be updated None

deleteTaskDataAvailability

Code samples

# You can also use wget
curl -X DELETE http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/availabilities/{availabilityId}

DELETE http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/availabilities/{availabilityId} HTTP/1.1
Host: localhost:8080


fetch('http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/availabilities/{availabilityId}',
{
  method: 'DELETE'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.delete 'http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/availabilities/{availabilityId}',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.delete('http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/availabilities/{availabilityId}')

print(r.json())

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('DELETE','http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/availabilities/{availabilityId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/availabilities/{availabilityId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/availabilities/{availabilityId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

DELETE /ng/dsc/systems/{systemId}/task-data/availabilities/{availabilityId}

Method used to delete system availability task data by id

Parameters

Name In Type Required Description
systemId path string true none
availabilityId path string true none

Responses

Status Meaning Description Schema
204 No Content No body returned None
400 Bad Request Returned in case availability could not be deleted None

addTaskDataFlag

Code samples

# You can also use wget
curl -X POST http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/flags \
  -H 'Content-Type: application/json'

POST http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/flags HTTP/1.1
Host: localhost:8080
Content-Type: application/json

const inputBody = '{
  "id": "string",
  "name": "string",
  "result": "string",
  "location": "string",
  "type": "STATIC",
  "contentType": "EXECUTABLE",
  "taskDescription": {
    "question": "string",
    "description": "string",
    "hints": [
      {
        "name": "string",
        "content": "string",
        "order": 0,
        "penalty": 0
      }
    ]
  }
}';
const headers = {
  'Content-Type':'application/json'
};

fetch('http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/flags',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json'
}

result = RestClient.post 'http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/flags',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json'
}

r = requests.post('http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/flags', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/flags', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/flags");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/flags", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /ng/dsc/systems/{systemId}/task-data/flags

Method used to add flag task data to specified system

Body parameter

{
  "id": "string",
  "name": "string",
  "result": "string",
  "location": "string",
  "type": "STATIC",
  "contentType": "EXECUTABLE",
  "taskDescription": {
    "question": "string",
    "description": "string",
    "hints": [
      {
        "name": "string",
        "content": "string",
        "order": 0,
        "penalty": 0
      }
    ]
  }
}

Parameters

Name In Type Required Description
systemId path string true none
body body FlagDTO false none

Responses

Status Meaning Description Schema
201 Created Entity with newly created flag id None
400 Bad Request Returned in case flag could not be added None

updateTaskDataFlag

Code samples

# You can also use wget
curl -X PUT http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/flags/{flagId} \
  -H 'Content-Type: application/json'

PUT http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/flags/{flagId} HTTP/1.1
Host: localhost:8080
Content-Type: application/json

const inputBody = '{
  "id": "string",
  "name": "string",
  "result": "string",
  "location": "string",
  "type": "STATIC",
  "contentType": "EXECUTABLE",
  "taskDescription": {
    "question": "string",
    "description": "string",
    "hints": [
      {
        "name": "string",
        "content": "string",
        "order": 0,
        "penalty": 0
      }
    ]
  }
}';
const headers = {
  'Content-Type':'application/json'
};

fetch('http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/flags/{flagId}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json'
}

result = RestClient.put 'http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/flags/{flagId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json'
}

r = requests.put('http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/flags/{flagId}', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/flags/{flagId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/flags/{flagId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PUT", "http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/flags/{flagId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

PUT /ng/dsc/systems/{systemId}/task-data/flags/{flagId}

Method used to update system flag task data by id

Body parameter

{
  "id": "string",
  "name": "string",
  "result": "string",
  "location": "string",
  "type": "STATIC",
  "contentType": "EXECUTABLE",
  "taskDescription": {
    "question": "string",
    "description": "string",
    "hints": [
      {
        "name": "string",
        "content": "string",
        "order": 0,
        "penalty": 0
      }
    ]
  }
}

Parameters

Name In Type Required Description
systemId path string true none
flagId path string true none
body body FlagDTO false none

Responses

Status Meaning Description Schema
204 No Content No body returned None
400 Bad Request Returned in case flag could not be updated None

deleteTaskDataFlag

Code samples

# You can also use wget
curl -X DELETE http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/flags/{flagId}

DELETE http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/flags/{flagId} HTTP/1.1
Host: localhost:8080


fetch('http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/flags/{flagId}',
{
  method: 'DELETE'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.delete 'http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/flags/{flagId}',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.delete('http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/flags/{flagId}')

print(r.json())

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('DELETE','http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/flags/{flagId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/flags/{flagId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data/flags/{flagId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

DELETE /ng/dsc/systems/{systemId}/task-data/flags/{flagId}

Method used to delete system flag task data by id

Parameters

Name In Type Required Description
systemId path string true none
flagId path string true none

Responses

Status Meaning Description Schema
204 No Content No body returned None
400 Bad Request Returned in case flag could not be deleted None

getTaskData_1

Code samples

# You can also use wget
curl -X GET http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data

GET http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data HTTP/1.1
Host: localhost:8080


fetch('http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data',
{
  method: 'GET'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.get 'http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.get('http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data')

print(r.json())

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "http://localhost:8080/rest/ng/dsc/systems/{systemId}/task-data", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /ng/dsc/systems/{systemId}/task-data

Method used to fetch task data of certain system

Parameters

Name In Type Required Description
systemId path string true none

Responses

Status Meaning Description Schema
200 OK task data of the system None
404 Not Found Returned in case system with specified id was not found None

getById_5

Code samples

# You can also use wget
curl -X GET http://localhost:8080/rest/ng/dsc/systems/{systemId}

GET http://localhost:8080/rest/ng/dsc/systems/{systemId} HTTP/1.1
Host: localhost:8080


fetch('http://localhost:8080/rest/ng/dsc/systems/{systemId}',
{
  method: 'GET'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.get 'http://localhost:8080/rest/ng/dsc/systems/{systemId}',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.get('http://localhost:8080/rest/ng/dsc/systems/{systemId}')

print(r.json())

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','http://localhost:8080/rest/ng/dsc/systems/{systemId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/systems/{systemId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "http://localhost:8080/rest/ng/dsc/systems/{systemId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /ng/dsc/systems/{systemId}

Method used to fetch certain system by its id

Parameters

Name In Type Required Description
systemId path string true none

Responses

Status Meaning Description Schema
200 OK System DTO returned None
404 Not Found Returned in case system with specified id not found None

update_5

Code samples

# You can also use wget
curl -X PUT http://localhost:8080/rest/ng/dsc/systems/{systemId} \
  -H 'Content-Type: application/json'

PUT http://localhost:8080/rest/ng/dsc/systems/{systemId} HTTP/1.1
Host: localhost:8080
Content-Type: application/json

const inputBody = '{
  "id": "string",
  "type": "CONTAINER",
  "subType": "string",
  "name": "string",
  "description": "string",
  "version": "string",
  "platformIds": [
    "string"
  ],
  "dependencies": [
    {
      "id": "string",
      "name": "string",
      "os": "ANDROID",
      "osVersion": "string",
      "version": "string",
      "platformIds": [
        "string"
      ],
      "status": "ARCHIVED"
    }
  ],
  "externalId": "string",
  "contentType": "CTF",
  "systemRole": "NETWORKING",
  "configuration": {
    "capacity": {
      "cpu": 0,
      "memory": 0,
      "storage": 0,
      "maxEnvironments": 0,
      "referenceCapacity": {}
    },
    "systemInfo": {
      "os": "ANDROID",
      "osVersion": "string",
      "source": {
        "source": "string",
        "version": "string",
        "repository": "string"
      },
      "services": [
        {
          "name": "string",
          "version": "string",
          "ports": [
            {
              "portNumber": 0,
              "protocol": "TCP"
            }
          ]
        }
      ],
      "parameters": [
        {
          "key": "string",
          "value": "string"
        }
      ],
      "customizations": [
        {
          "source": "string",
          "uploadPath": "string",
          "exec": "string",
          "template": "string",
          "templatePath": "string",
          "type": "CLOUD_INIT"
        }
      ],
      "interfaces": [
        "string"
      ]
    }
  },
  "vulnerabilities": [
    {
      "id": "string",
      "name": "string",
      "type": "EXPLOIT",
      "cveId": "string",
      "description": "string",
      "script": {
        "source": "string",
        "exec": "string"
      }
    }
  ],
  "tasks": {
    "flags": [
      {
        "id": "string",
        "name": "string",
        "result": "string",
        "location": "string",
        "type": "STATIC",
        "contentType": "EXECUTABLE",
        "taskDescription": {
          "question": "string",
          "description": "string",
          "hints": [
            {
              "name": "string",
              "content": "string",
              "order": 0,
              "penalty": 0
            }
          ]
        }
      }
    ],
    "actions": [
      {
        "id": "string",
        "name": "string",
        "description": "string",
        "result": "string",
        "hints": [
          {
            "name": "string",
            "content": "string",
            "order": 0,
            "penalty": 0
          }
        ],
        "script": {
          "source": "string",
          "exec": "string",
          "type": "EXTERNAL"
        }
      }
    ],
    "availabilities": [
      {
        "id": "string",
        "name": "string",
        "protocol": "TCP",
        "port": 0,
        "result": "string",
        "script": {
          "source": "string",
          "exec": "string",
          "type": "EXTERNAL"
        }
      }
    ],
    "attacks": [
      {
        "id": "string",
        "name": "string",
        "description": "string",
        "type": "CLIENT",
        "mitreId": "string",
        "script": {
          "source": "string",
          "exec": "string",
          "type": "EXTERNAL"
        },
        "hints": [
          {
            "name": "string",
            "content": "string",
            "order": 0,
            "penalty": 0
          }
        ]
      }
    ]
  },
  "status": "ARCHIVED",
  "created": 0,
  "contacts": [
    {
      "name": "string",
      "email": "string",
      "role": "string"
    }
  ]
}';
const headers = {
  'Content-Type':'application/json'
};

fetch('http://localhost:8080/rest/ng/dsc/systems/{systemId}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json'
}

result = RestClient.put 'http://localhost:8080/rest/ng/dsc/systems/{systemId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json'
}

r = requests.put('http://localhost:8080/rest/ng/dsc/systems/{systemId}', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','http://localhost:8080/rest/ng/dsc/systems/{systemId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/systems/{systemId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PUT", "http://localhost:8080/rest/ng/dsc/systems/{systemId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

PUT /ng/dsc/systems/{systemId}

Method used to update system by id

Body parameter

{
  "id": "string",
  "type": "CONTAINER",
  "subType": "string",
  "name": "string",
  "description": "string",
  "version": "string",
  "platformIds": [
    "string"
  ],
  "dependencies": [
    {
      "id": "string",
      "name": "string",
      "os": "ANDROID",
      "osVersion": "string",
      "version": "string",
      "platformIds": [
        "string"
      ],
      "status": "ARCHIVED"
    }
  ],
  "externalId": "string",
  "contentType": "CTF",
  "systemRole": "NETWORKING",
  "configuration": {
    "capacity": {
      "cpu": 0,
      "memory": 0,
      "storage": 0,
      "maxEnvironments": 0,
      "referenceCapacity": {}
    },
    "systemInfo": {
      "os": "ANDROID",
      "osVersion": "string",
      "source": {
        "source": "string",
        "version": "string",
        "repository": "string"
      },
      "services": [
        {
          "name": "string",
          "version": "string",
          "ports": [
            {
              "portNumber": 0,
              "protocol": "TCP"
            }
          ]
        }
      ],
      "parameters": [
        {
          "key": "string",
          "value": "string"
        }
      ],
      "customizations": [
        {
          "source": "string",
          "uploadPath": "string",
          "exec": "string",
          "template": "string",
          "templatePath": "string",
          "type": "CLOUD_INIT"
        }
      ],
      "interfaces": [
        "string"
      ]
    }
  },
  "vulnerabilities": [
    {
      "id": "string",
      "name": "string",
      "type": "EXPLOIT",
      "cveId": "string",
      "description": "string",
      "script": {
        "source": "string",
        "exec": "string"
      }
    }
  ],
  "tasks": {
    "flags": [
      {
        "id": "string",
        "name": "string",
        "result": "string",
        "location": "string",
        "type": "STATIC",
        "contentType": "EXECUTABLE",
        "taskDescription": {
          "question": "string",
          "description": "string",
          "hints": [
            {
              "name": "string",
              "content": "string",
              "order": 0,
              "penalty": 0
            }
          ]
        }
      }
    ],
    "actions": [
      {
        "id": "string",
        "name": "string",
        "description": "string",
        "result": "string",
        "hints": [
          {
            "name": "string",
            "content": "string",
            "order": 0,
            "penalty": 0
          }
        ],
        "script": {
          "source": "string",
          "exec": "string",
          "type": "EXTERNAL"
        }
      }
    ],
    "availabilities": [
      {
        "id": "string",
        "name": "string",
        "protocol": "TCP",
        "port": 0,
        "result": "string",
        "script": {
          "source": "string",
          "exec": "string",
          "type": "EXTERNAL"
        }
      }
    ],
    "attacks": [
      {
        "id": "string",
        "name": "string",
        "description": "string",
        "type": "CLIENT",
        "mitreId": "string",
        "script": {
          "source": "string",
          "exec": "string",
          "type": "EXTERNAL"
        },
        "hints": [
          {
            "name": "string",
            "content": "string",
            "order": 0,
            "penalty": 0
          }
        ]
      }
    ]
  },
  "status": "ARCHIVED",
  "created": 0,
  "contacts": [
    {
      "name": "string",
      "email": "string",
      "role": "string"
    }
  ]
}

Parameters

Name In Type Required Description
systemId path string true none
body body DscSystemDTO false none

Responses

Status Meaning Description Schema
204 No Content No body returned None
400 Bad Request Returned in case system could not be updated None

delete_5

Code samples

# You can also use wget
curl -X DELETE http://localhost:8080/rest/ng/dsc/systems/{systemId}

DELETE http://localhost:8080/rest/ng/dsc/systems/{systemId} HTTP/1.1
Host: localhost:8080


fetch('http://localhost:8080/rest/ng/dsc/systems/{systemId}',
{
  method: 'DELETE'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.delete 'http://localhost:8080/rest/ng/dsc/systems/{systemId}',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.delete('http://localhost:8080/rest/ng/dsc/systems/{systemId}')

print(r.json())

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('DELETE','http://localhost:8080/rest/ng/dsc/systems/{systemId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/systems/{systemId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "http://localhost:8080/rest/ng/dsc/systems/{systemId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

DELETE /ng/dsc/systems/{systemId}

Method used to delete system by id

Parameters

Name In Type Required Description
systemId path string true none

Responses

Status Meaning Description Schema
204 No Content No body returned None
400 Bad Request Returned in case system could not be deleted None

tag_2

Code samples

# You can also use wget
curl -X POST http://localhost:8080/rest/ng/dsc/systems/{systemId}/tag

POST http://localhost:8080/rest/ng/dsc/systems/{systemId}/tag HTTP/1.1
Host: localhost:8080


fetch('http://localhost:8080/rest/ng/dsc/systems/{systemId}/tag',
{
  method: 'POST'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.post 'http://localhost:8080/rest/ng/dsc/systems/{systemId}/tag',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.post('http://localhost:8080/rest/ng/dsc/systems/{systemId}/tag')

print(r.json())

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','http://localhost:8080/rest/ng/dsc/systems/{systemId}/tag', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/systems/{systemId}/tag");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "http://localhost:8080/rest/ng/dsc/systems/{systemId}/tag", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /ng/dsc/systems/{systemId}/tag

Method used to tag system by id

Parameters

Name In Type Required Description
systemId path string true none

Responses

Status Meaning Description Schema
200 OK System with new version None
400 Bad Request Returned in case system could not be tagged None

submit_2

Code samples

# You can also use wget
curl -X POST http://localhost:8080/rest/ng/dsc/systems/{systemId}/submit

POST http://localhost:8080/rest/ng/dsc/systems/{systemId}/submit HTTP/1.1
Host: localhost:8080


fetch('http://localhost:8080/rest/ng/dsc/systems/{systemId}/submit',
{
  method: 'POST'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.post 'http://localhost:8080/rest/ng/dsc/systems/{systemId}/submit',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.post('http://localhost:8080/rest/ng/dsc/systems/{systemId}/submit')

print(r.json())

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','http://localhost:8080/rest/ng/dsc/systems/{systemId}/submit', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/systems/{systemId}/submit");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "http://localhost:8080/rest/ng/dsc/systems/{systemId}/submit", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /ng/dsc/systems/{systemId}/submit

Method used to submit system by id

Parameters

Name In Type Required Description
systemId path string true none

Responses

Status Meaning Description Schema
204 No Content No body returned None
400 Bad Request Returned in case system could not be submitted None

clone_2

Code samples

# You can also use wget
curl -X POST http://localhost:8080/rest/ng/dsc/systems/{systemId}/clone

POST http://localhost:8080/rest/ng/dsc/systems/{systemId}/clone HTTP/1.1
Host: localhost:8080


fetch('http://localhost:8080/rest/ng/dsc/systems/{systemId}/clone',
{
  method: 'POST'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.post 'http://localhost:8080/rest/ng/dsc/systems/{systemId}/clone',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.post('http://localhost:8080/rest/ng/dsc/systems/{systemId}/clone')

print(r.json())

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','http://localhost:8080/rest/ng/dsc/systems/{systemId}/clone', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/systems/{systemId}/clone");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "http://localhost:8080/rest/ng/dsc/systems/{systemId}/clone", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /ng/dsc/systems/{systemId}/clone

Method used to clone system by id

Parameters

Name In Type Required Description
systemId path string true none

Responses

Status Meaning Description Schema
200 OK Cloned system None
400 Bad Request Returned in case system could not be cloned None

getAll_6

Code samples

# You can also use wget
curl -X GET http://localhost:8080/rest/ng/dsc/systems

GET http://localhost:8080/rest/ng/dsc/systems HTTP/1.1
Host: localhost:8080


fetch('http://localhost:8080/rest/ng/dsc/systems',
{
  method: 'GET'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.get 'http://localhost:8080/rest/ng/dsc/systems',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.get('http://localhost:8080/rest/ng/dsc/systems')

print(r.json())

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','http://localhost:8080/rest/ng/dsc/systems', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/systems");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "http://localhost:8080/rest/ng/dsc/systems", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /ng/dsc/systems

Method used to fetch all systems

Responses

Status Meaning Description Schema
200 OK Returns list of all systems None

create_5

Code samples

# You can also use wget
curl -X POST http://localhost:8080/rest/ng/dsc/systems \
  -H 'Content-Type: application/json'

POST http://localhost:8080/rest/ng/dsc/systems HTTP/1.1
Host: localhost:8080
Content-Type: application/json

const inputBody = '{
  "id": "string",
  "type": "CONTAINER",
  "subType": "string",
  "name": "string",
  "description": "string",
  "version": "string",
  "platformIds": [
    "string"
  ],
  "dependencies": [
    {
      "id": "string",
      "name": "string",
      "os": "ANDROID",
      "osVersion": "string",
      "version": "string",
      "platformIds": [
        "string"
      ],
      "status": "ARCHIVED"
    }
  ],
  "externalId": "string",
  "contentType": "CTF",
  "systemRole": "NETWORKING",
  "configuration": {
    "capacity": {
      "cpu": 0,
      "memory": 0,
      "storage": 0,
      "maxEnvironments": 0,
      "referenceCapacity": {}
    },
    "systemInfo": {
      "os": "ANDROID",
      "osVersion": "string",
      "source": {
        "source": "string",
        "version": "string",
        "repository": "string"
      },
      "services": [
        {
          "name": "string",
          "version": "string",
          "ports": [
            {
              "portNumber": 0,
              "protocol": "TCP"
            }
          ]
        }
      ],
      "parameters": [
        {
          "key": "string",
          "value": "string"
        }
      ],
      "customizations": [
        {
          "source": "string",
          "uploadPath": "string",
          "exec": "string",
          "template": "string",
          "templatePath": "string",
          "type": "CLOUD_INIT"
        }
      ],
      "interfaces": [
        "string"
      ]
    }
  },
  "vulnerabilities": [
    {
      "id": "string",
      "name": "string",
      "type": "EXPLOIT",
      "cveId": "string",
      "description": "string",
      "script": {
        "source": "string",
        "exec": "string"
      }
    }
  ],
  "tasks": {
    "flags": [
      {
        "id": "string",
        "name": "string",
        "result": "string",
        "location": "string",
        "type": "STATIC",
        "contentType": "EXECUTABLE",
        "taskDescription": {
          "question": "string",
          "description": "string",
          "hints": [
            {
              "name": "string",
              "content": "string",
              "order": 0,
              "penalty": 0
            }
          ]
        }
      }
    ],
    "actions": [
      {
        "id": "string",
        "name": "string",
        "description": "string",
        "result": "string",
        "hints": [
          {
            "name": "string",
            "content": "string",
            "order": 0,
            "penalty": 0
          }
        ],
        "script": {
          "source": "string",
          "exec": "string",
          "type": "EXTERNAL"
        }
      }
    ],
    "availabilities": [
      {
        "id": "string",
        "name": "string",
        "protocol": "TCP",
        "port": 0,
        "result": "string",
        "script": {
          "source": "string",
          "exec": "string",
          "type": "EXTERNAL"
        }
      }
    ],
    "attacks": [
      {
        "id": "string",
        "name": "string",
        "description": "string",
        "type": "CLIENT",
        "mitreId": "string",
        "script": {
          "source": "string",
          "exec": "string",
          "type": "EXTERNAL"
        },
        "hints": [
          {
            "name": "string",
            "content": "string",
            "order": 0,
            "penalty": 0
          }
        ]
      }
    ]
  },
  "status": "ARCHIVED",
  "created": 0,
  "contacts": [
    {
      "name": "string",
      "email": "string",
      "role": "string"
    }
  ]
}';
const headers = {
  'Content-Type':'application/json'
};

fetch('http://localhost:8080/rest/ng/dsc/systems',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json'
}

result = RestClient.post 'http://localhost:8080/rest/ng/dsc/systems',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json'
}

r = requests.post('http://localhost:8080/rest/ng/dsc/systems', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','http://localhost:8080/rest/ng/dsc/systems', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/systems");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "http://localhost:8080/rest/ng/dsc/systems", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /ng/dsc/systems

Method used to create system

Body parameter

{
  "id": "string",
  "type": "CONTAINER",
  "subType": "string",
  "name": "string",
  "description": "string",
  "version": "string",
  "platformIds": [
    "string"
  ],
  "dependencies": [
    {
      "id": "string",
      "name": "string",
      "os": "ANDROID",
      "osVersion": "string",
      "version": "string",
      "platformIds": [
        "string"
      ],
      "status": "ARCHIVED"
    }
  ],
  "externalId": "string",
  "contentType": "CTF",
  "systemRole": "NETWORKING",
  "configuration": {
    "capacity": {
      "cpu": 0,
      "memory": 0,
      "storage": 0,
      "maxEnvironments": 0,
      "referenceCapacity": {}
    },
    "systemInfo": {
      "os": "ANDROID",
      "osVersion": "string",
      "source": {
        "source": "string",
        "version": "string",
        "repository": "string"
      },
      "services": [
        {
          "name": "string",
          "version": "string",
          "ports": [
            {
              "portNumber": 0,
              "protocol": "TCP"
            }
          ]
        }
      ],
      "parameters": [
        {
          "key": "string",
          "value": "string"
        }
      ],
      "customizations": [
        {
          "source": "string",
          "uploadPath": "string",
          "exec": "string",
          "template": "string",
          "templatePath": "string",
          "type": "CLOUD_INIT"
        }
      ],
      "interfaces": [
        "string"
      ]
    }
  },
  "vulnerabilities": [
    {
      "id": "string",
      "name": "string",
      "type": "EXPLOIT",
      "cveId": "string",
      "description": "string",
      "script": {
        "source": "string",
        "exec": "string"
      }
    }
  ],
  "tasks": {
    "flags": [
      {
        "id": "string",
        "name": "string",
        "result": "string",
        "location": "string",
        "type": "STATIC",
        "contentType": "EXECUTABLE",
        "taskDescription": {
          "question": "string",
          "description": "string",
          "hints": [
            {
              "name": "string",
              "content": "string",
              "order": 0,
              "penalty": 0
            }
          ]
        }
      }
    ],
    "actions": [
      {
        "id": "string",
        "name": "string",
        "description": "string",
        "result": "string",
        "hints": [
          {
            "name": "string",
            "content": "string",
            "order": 0,
            "penalty": 0
          }
        ],
        "script": {
          "source": "string",
          "exec": "string",
          "type": "EXTERNAL"
        }
      }
    ],
    "availabilities": [
      {
        "id": "string",
        "name": "string",
        "protocol": "TCP",
        "port": 0,
        "result": "string",
        "script": {
          "source": "string",
          "exec": "string",
          "type": "EXTERNAL"
        }
      }
    ],
    "attacks": [
      {
        "id": "string",
        "name": "string",
        "description": "string",
        "type": "CLIENT",
        "mitreId": "string",
        "script": {
          "source": "string",
          "exec": "string",
          "type": "EXTERNAL"
        },
        "hints": [
          {
            "name": "string",
            "content": "string",
            "order": 0,
            "penalty": 0
          }
        ]
      }
    ]
  },
  "status": "ARCHIVED",
  "created": 0,
  "contacts": [
    {
      "name": "string",
      "email": "string",
      "role": "string"
    }
  ]
}

Parameters

Name In Type Required Description
body body DscSystemDTO false none

Responses

Status Meaning Description Schema
201 Created Entity with newly created system id None

updateLastSeenRequestsTimestamp

Code samples

# You can also use wget
curl -X PUT http://localhost:8080/rest/ng/dsc/user-settings/current/last-seen-requests

PUT http://localhost:8080/rest/ng/dsc/user-settings/current/last-seen-requests HTTP/1.1
Host: localhost:8080


fetch('http://localhost:8080/rest/ng/dsc/user-settings/current/last-seen-requests',
{
  method: 'PUT'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

result = RestClient.put 'http://localhost:8080/rest/ng/dsc/user-settings/current/last-seen-requests',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.put('http://localhost:8080/rest/ng/dsc/user-settings/current/last-seen-requests')

print(r.json())

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','http://localhost:8080/rest/ng/dsc/user-settings/current/last-seen-requests', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("http://localhost:8080/rest/ng/dsc/user-settings/current/last-seen-requests");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PUT", "http://localhost:8080/rest/ng/dsc/user-settings/current/last-seen-requests", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

PUT /ng/dsc/user-settings/current/last-seen-requests

Changes the requests last seen timestamp of the current user

'current' in path refers to the currently logged in user of the request

Responses

Status Meaning Description Schema
default Default successful operation None

Schemas

AuthDTO

{
  "username": "string",
  "loginOrigin": "LDAP",
  "roles": [
    "string"
  ],
  "isAdmin": true
}

Properties

Name Type Required Restrictions Description
username string false none none
loginOrigin string false none none
roles [string] false none none
isAdmin boolean false read-only none

Enumerated Values

Property Value
loginOrigin LDAP
loginOrigin LOCAL
loginOrigin UNKNOWN

CapacityDTO

{
  "cpu": 0,
  "memory": 0,
  "storage": 0,
  "maxEnvironments": 0,
  "referenceCapacity": {
    "cpu": 0,
    "memory": 0,
    "storage": 0,
    "maxEnvironments": 0,
    "referenceCapacity": {}
  }
}

Properties

Name Type Required Restrictions Description
cpu integer(int32) false none none
memory integer(int32) false none none
storage integer(int32) false none none
maxEnvironments integer(int32) false none none
referenceCapacity CapacityDTO false none none

ContactDTO

{
  "name": "string",
  "email": "string",
  "role": "string"
}

Properties

Name Type Required Restrictions Description
name string false none none
email string false none none
role string false none none

DeploymentCapacityDTO

{
  "cpu": 0,
  "memory": 0,
  "storage": 0,
  "networks": 0,
  "maxEnvironments": 0,
  "referenceCapacity": {
    "cpu": 0,
    "memory": 0,
    "storage": 0,
    "maxEnvironments": 0,
    "referenceCapacity": {}
  }
}

Properties

Name Type Required Restrictions Description
cpu integer(int32) false none none
memory integer(int32) false none none
storage integer(int32) false none none
networks integer(int32) false none none
maxEnvironments integer(int32) false none none
referenceCapacity CapacityDTO false none none

DeploymentDTO

{
  "id": "string",
  "name": "string",
  "deployedBy": "string",
  "description": "string",
  "platformId": "string",
  "platform": "string",
  "environments": [
    {
      "id": "string",
      "environmentNumber": 0,
      "userCount": 0,
      "roleMappings": [
        {
          "roleId": "string",
          "scenarioRole": "string"
        }
      ],
      "resourceMappings": [
        {
          "key": "string",
          "value": "string"
        }
      ]
    }
  ],
  "scenario": "string",
  "scenarioId": "string",
  "timeslot": {
    "startTime": "string",
    "duration": 0
  },
  "results": "string",
  "campaigns": [
    "string"
  ],
  "status": "REQUESTED",
  "capacity": {
    "cpu": 0,
    "memory": 0,
    "storage": 0,
    "networks": 0,
    "maxEnvironments": 0,
    "referenceCapacity": {
      "cpu": 0,
      "memory": 0,
      "storage": 0,
      "maxEnvironments": 0,
      "referenceCapacity": {}
    }
  },
  "contacts": [
    {
      "name": "string",
      "email": "string",
      "role": "string"
    }
  ]
}

Properties

Name Type Required Restrictions Description
id string false none none
name string false none none
deployedBy string false none none
description string false none none
platformId string false none none
platform string false none none
environments [DeploymentEnvironmentDTO] false none none
scenario string false none none
scenarioId string false none none
timeslot TimeSlotDTO false none none
results string false none none
campaigns [string] false none none
status string false none none
capacity DeploymentCapacityDTO false none none
contacts [ContactDTO] false none none

Enumerated Values

Property Value
status REQUESTED
status ACCEPTED
status DEPLOYED
status PARTIALLY_DEPLOYED
status COMPLETED
status REJECTED

DeploymentEnvironmentDTO

{
  "id": "string",
  "environmentNumber": 0,
  "userCount": 0,
  "roleMappings": [
    {
      "roleId": "string",
      "scenarioRole": "string"
    }
  ],
  "resourceMappings": [
    {
      "key": "string",
      "value": "string"
    }
  ]
}

Properties

Name Type Required Restrictions Description
id string false none none
environmentNumber integer(int32) false none none
userCount integer(int32) false none none
roleMappings [DeploymentRoleMappingDTO] false none none
resourceMappings [DeploymentResourceMappingDTO] false none none

DeploymentResourceMappingDTO

{
  "key": "string",
  "value": "string"
}

Properties

Name Type Required Restrictions Description
key string false none none
value string false none none

DeploymentRoleMappingDTO

{
  "roleId": "string",
  "scenarioRole": "string"
}

Properties

Name Type Required Restrictions Description
roleId string false none none
scenarioRole string false none none

TimeSlotDTO

{
  "startTime": "string",
  "duration": 0
}

Properties

Name Type Required Restrictions Description
startTime string false none none
duration integer(int32) false none none

DeploymentReferenceDTO

{
  "id": "string",
  "priority": 0
}

Properties

Name Type Required Restrictions Description
id string false none none
priority integer(int32) false none none

InterConnectDTO

{
  "id": "string",
  "description": "string",
  "platformId": "string",
  "endPointId": "string",
  "endPoint": {
    "id": "string",
    "name": "string",
    "uri": "string"
  }
}

Properties

Name Type Required Restrictions Description
id string false none none
description string false none none
platformId string false none none
endPointId string false none none
endPoint PlatformEndPointOverviewDTO false none none

MetaDeploymentDTO

{
  "id": "string",
  "name": "string",
  "deployedBy": "string",
  "description": "string",
  "deployments": [
    {
      "id": "string",
      "priority": 0
    }
  ],
  "interconnects": [
    {
      "id": "string",
      "description": "string",
      "platformId": "string",
      "endPointId": "string",
      "endPoint": {
        "id": "string",
        "name": "string",
        "uri": "string"
      }
    }
  ],
  "metaScenario": "string",
  "metaScenarioName": "string",
  "timeslot": {
    "startTime": "string",
    "duration": 0
  },
  "results": "string",
  "status": "REQUESTED",
  "capacity": {
    "cpu": 0,
    "memory": 0,
    "storage": 0,
    "networks": 0,
    "maxEnvironments": 0,
    "referenceCapacity": {
      "cpu": 0,
      "memory": 0,
      "storage": 0,
      "maxEnvironments": 0,
      "referenceCapacity": {}
    }
  },
  "contacts": [
    {
      "name": "string",
      "email": "string",
      "role": "string"
    }
  ]
}

Properties

Name Type Required Restrictions Description
id string false none none
name string false none none
deployedBy string false none none
description string false none none
deployments [DeploymentReferenceDTO] false none none
interconnects [InterConnectDTO] false none none
metaScenario string false none none
metaScenarioName string false none none
timeslot TimeSlotDTO false none none
results string false none none
status string false none none
capacity DeploymentCapacityDTO false none none
contacts [ContactDTO] false none none

Enumerated Values

Property Value
status REQUESTED
status ACCEPTED
status DEPLOYED
status PARTIALLY_DEPLOYED
status COMPLETED
status REJECTED

PlatformEndPointOverviewDTO

{
  "id": "string",
  "name": "string",
  "uri": "string"
}

Properties

Name Type Required Restrictions Description
id string false none none
name string false none none
uri string false none none

ChildScenarioDTO

{
  "scenarioId": "string",
  "priority": 0,
  "interconnects": [
    {
      "id": "string",
      "description": "string",
      "platformId": "string",
      "endPointId": "string",
      "endPoint": {
        "id": "string",
        "name": "string",
        "uri": "string"
      }
    }
  ],
  "name": "string",
  "platformName": "string"
}

Properties

Name Type Required Restrictions Description
scenarioId string false none none
priority integer(int32) false none none
interconnects [InterConnectDTO] false none none
name string false none none
platformName string false none none

MetaScenarioDTO

{
  "id": "string",
  "name": "string",
  "description": "string",
  "version": "string",
  "type": "CTF",
  "scenarios": [
    {
      "scenarioId": "string",
      "priority": 0,
      "interconnects": [
        {
          "id": "string",
          "description": "string",
          "platformId": "string",
          "endPointId": "string",
          "endPoint": {
            "id": "string",
            "name": "string",
            "uri": "string"
          }
        }
      ],
      "name": "string",
      "platformName": "string"
    }
  ],
  "contacts": [
    {
      "name": "string",
      "email": "string",
      "role": "string"
    }
  ],
  "status": "ARCHIVED",
  "isLocked": true
}

Properties

Name Type Required Restrictions Description
id string false none none
name string false none none
description string false none none
version string false none none
type string false none none
scenarios [ChildScenarioDTO] false none none
contacts [ContactDTO] false none none
status string false none none
isLocked boolean false read-only none

Enumerated Values

Property Value
type CTF
type LIVE_FIRE
type TRAINING
status ARCHIVED
status ACCEPTED
status AVAILABLE
status IN_PROGRESS
status REJECTED
status SUBMITTED

PlatformOverviewDTO

{
  "id": "string",
  "name": "string",
  "endpoints": [
    {
      "id": "string",
      "name": "string",
      "uri": "string"
    }
  ]
}

Properties

Name Type Required Restrictions Description
id string false none none
name string false none none
endpoints [PlatformEndPointOverviewDTO] false none none

DscParameterDTO

{
  "key": "string",
  "value": "string"
}

Properties

Name Type Required Restrictions Description
key string false none none
value string false none none

GroupMappingDTO

{
  "role": "string",
  "value": "string"
}

Properties

Name Type Required Restrictions Description
role string false none none
value string false none none

PlatformDTO

{
  "id": "string",
  "name": "string",
  "description": "string",
  "contacts": [
    {
      "name": "string",
      "email": "string",
      "role": "string"
    }
  ],
  "capacity": {
    "cpu": 0,
    "memory": 0,
    "storage": 0,
    "maxEnvironments": 0,
    "referenceCapacity": {}
  },
  "endpoints": [
    {
      "id": "string",
      "type": "VPN",
      "name": "string",
      "uri": "string",
      "credential": {
        "username": "string",
        "password": "string",
        "key": "string"
      },
      "parameters": [
        {
          "key": "string",
          "value": "string"
        }
      ],
      "isPublic": true
    }
  ],
  "created": 0,
  "groupMappings": [
    {
      "role": "string",
      "value": "string"
    }
  ]
}

Properties

Name Type Required Restrictions Description
id string false none none
name string false none none
description string false none none
contacts [ContactDTO] false none none
capacity CapacityDTO false none none
endpoints [PlatformEndPointDTO] false none none
created integer(int64) false none none
groupMappings [GroupMappingDTO] false none none

PlatformEndPointCredentialDTO

{
  "username": "string",
  "password": "string",
  "key": "string"
}

Properties

Name Type Required Restrictions Description
username string false none none
password string false none none
key string false none none

PlatformEndPointDTO

{
  "id": "string",
  "type": "VPN",
  "name": "string",
  "uri": "string",
  "credential": {
    "username": "string",
    "password": "string",
    "key": "string"
  },
  "parameters": [
    {
      "key": "string",
      "value": "string"
    }
  ],
  "isPublic": true
}

Properties

Name Type Required Restrictions Description
id string false none none
type string false none none
name string false none none
uri string false none none
credential PlatformEndPointCredentialDTO false none none
parameters [DscParameterDTO] false none none
isPublic boolean false read-only none

Enumerated Values

Property Value
type VPN
type PUBLIC_WEB
type SCORING
type INTER_CONNECT
type OTHER

DscRequest

{
  "id": "string",
  "type": "META_DEPLOYMENT",
  "name": "string",
  "requested": 0,
  "isNew": true
}

Properties

Name Type Required Restrictions Description
id string false none none
type string false none none
name string false none none
requested integer(int64) false none none
isNew boolean false read-only none

Enumerated Values

Property Value
type META_DEPLOYMENT
type META_SCENARIO
type DEPLOYMENT
type SCENARIO
type SYSTEM
type PLATFORM

ScenarioOverviewDTO

{
  "id": "string",
  "name": "string",
  "version": "string",
  "description": "string",
  "type": "CTF",
  "platformId": "string",
  "networks": 0,
  "cpu": 0,
  "memory": 0,
  "storage": 0,
  "status": "ARCHIVED",
  "maxEnvironments": 0,
  "contacts": [
    {
      "name": "string",
      "email": "string",
      "role": "string"
    }
  ],
  "isLocked": true
}

Properties

Name Type Required Restrictions Description
id string false none none
name string false none none
version string false none none
description string false none none
type string false none none
platformId string false none none
networks integer(int32) false none none
cpu integer(int32) false none none
memory integer(int32) false none none
storage integer(int32) false none none
status string false none none
maxEnvironments integer(int32) false none none
contacts [ContactDTO] false none none
isLocked boolean false read-only none

Enumerated Values

Property Value
type CTF
type LIVE_FIRE
type TRAINING
status ARCHIVED
status ACCEPTED
status AVAILABLE
status IN_PROGRESS
status REJECTED
status SUBMITTED

NetworkingDTO

{
  "ipv4Gateway": "string",
  "ipv6Gateway": "string",
  "primaryDns": "string",
  "secondaryDns": "string",
  "interfaces": [
    {
      "id": "string",
      "subnetId": "string",
      "ipv4Address": "string",
      "ipv6Address": "string",
      "hostname": "string",
      "name": "string"
    }
  ]
}

Properties

Name Type Required Restrictions Description
ipv4Gateway string false none none
ipv6Gateway string false none none
primaryDns string false none none
secondaryDns string false none none
interfaces [ScenarioSystemInterfaceDTO] false none none

ScenarioSubnetSystemDTO

{
  "id": "string",
  "systemDefinition": {
    "id": "string",
    "name": "string",
    "os": "ANDROID",
    "osVersion": "string",
    "version": "string",
    "platformIds": [
      "string"
    ],
    "status": "ARCHIVED"
  },
  "tags": [
    "string"
  ],
  "deploymentModel": "DEDICATED",
  "primaryHostname": "string",
  "configuration": {
    "networking": {
      "ipv4Gateway": "string",
      "ipv6Gateway": "string",
      "primaryDns": "string",
      "secondaryDns": "string",
      "interfaces": [
        {
          "id": "string",
          "subnetId": "string",
          "ipv4Address": "string",
          "ipv6Address": "string",
          "hostname": "string",
          "name": "string"
        }
      ]
    },
    "parameters": [
      {
        "key": "string",
        "value": "string"
      }
    ]
  }
}

Properties

Name Type Required Restrictions Description
id string false none none
systemDefinition SystemOverviewDTO false none none
tags [string] false none none
deploymentModel string false none none
primaryHostname string false none none
configuration ScenarioSystemConfigurationDTO false none none

Enumerated Values

Property Value
deploymentModel DEDICATED
deploymentModel PRESENT
deploymentModel SHARED

ScenarioSystemConfigurationDTO

{
  "networking": {
    "ipv4Gateway": "string",
    "ipv6Gateway": "string",
    "primaryDns": "string",
    "secondaryDns": "string",
    "interfaces": [
      {
        "id": "string",
        "subnetId": "string",
        "ipv4Address": "string",
        "ipv6Address": "string",
        "hostname": "string",
        "name": "string"
      }
    ]
  },
  "parameters": [
    {
      "key": "string",
      "value": "string"
    }
  ]
}

Properties

Name Type Required Restrictions Description
networking NetworkingDTO false none none
parameters [DscParameterDTO] false none none

ScenarioSystemInterfaceDTO

{
  "id": "string",
  "subnetId": "string",
  "ipv4Address": "string",
  "ipv6Address": "string",
  "hostname": "string",
  "name": "string"
}

Properties

Name Type Required Restrictions Description
id string false none none
subnetId string false none none
ipv4Address string false none none
ipv6Address string false none none
hostname string false none none
name string false none none

SubnetDTO

{
  "id": "string",
  "name": "string",
  "description": "string",
  "subnetIPv4Address": "string",
  "subnetIPv6Address": "string",
  "gatewayIPv4": "string",
  "gatewayIPv6": "string",
  "dns1": "string",
  "dns2": "string",
  "deploymentModel": "DEDICATED",
  "systems": [
    {
      "id": "string",
      "systemDefinition": {
        "id": "string",
        "name": "string",
        "os": "ANDROID",
        "osVersion": "string",
        "version": "string",
        "platformIds": [
          "string"
        ],
        "status": "ARCHIVED"
      },
      "tags": [
        "string"
      ],
      "deploymentModel": "DEDICATED",
      "primaryHostname": "string",
      "configuration": {
        "networking": {
          "ipv4Gateway": "string",
          "ipv6Gateway": "string",
          "primaryDns": "string",
          "secondaryDns": "string",
          "interfaces": [
            {
              "id": "string",
              "subnetId": "string",
              "ipv4Address": "string",
              "ipv6Address": "string",
              "hostname": "string",
              "name": "string"
            }
          ]
        },
        "parameters": [
          {
            "key": "string",
            "value": "string"
          }
        ]
      }
    }
  ],
  "type": "NOT_CONNECTED"
}

Properties

Name Type Required Restrictions Description
id string false none none
name string false none none
description string false none none
subnetIPv4Address string false none none
subnetIPv6Address string false none none
gatewayIPv4 string false none none
gatewayIPv6 string false none none
dns1 string false none none
dns2 string false none none
deploymentModel string false none none
systems [ScenarioSubnetSystemDTO] false none none
type string false none none

Enumerated Values

Property Value
deploymentModel DEDICATED
deploymentModel PRESENT
deploymentModel SHARED
type NOT_CONNECTED
type WAN
type STANDARD

SystemOverviewDTO

{
  "id": "string",
  "name": "string",
  "os": "ANDROID",
  "osVersion": "string",
  "version": "string",
  "platformIds": [
    "string"
  ],
  "status": "ARCHIVED"
}

Properties

Name Type Required Restrictions Description
id string false none none
name string false none none
os string false none none
osVersion string false none none
version string false none none
platformIds [string] false none none
status string false none none

Enumerated Values

Property Value
os ANDROID
os APPLE
os LINUX
os WINDOWS
os OTHER
os UNKNOWN
status ARCHIVED
status ACCEPTED
status AVAILABLE
status IN_PROGRESS
status REJECTED
status SUBMITTED

SubnetSystemsSaveDTO

{
  "systemIds": [
    "string"
  ]
}

Properties

Name Type Required Restrictions Description
systemIds [string] false none none

SubnetSystemUpdateDTO

{
  "deploymentModel": "DEDICATED",
  "tags": [
    "string"
  ],
  "primaryHostname": "string",
  "ipv4Gateway": "string",
  "ipv6Gateway": "string",
  "primaryDns": "string",
  "secondaryDns": "string",
  "parameters": [
    {
      "key": "string",
      "value": "string"
    }
  ],
  "interfaces": [
    {
      "id": "string",
      "subnetId": "string",
      "ipv4Address": "string",
      "ipv6Address": "string",
      "hostname": "string",
      "name": "string"
    }
  ]
}

Properties

Name Type Required Restrictions Description
deploymentModel string false none none
tags [string] false none none
primaryHostname string false none none
ipv4Gateway string false none none
ipv6Gateway string false none none
primaryDns string false none none
secondaryDns string false none none
parameters [DscParameterDTO] false none none
interfaces [ScenarioSystemInterfaceDTO] false none none

Enumerated Values

Property Value
deploymentModel DEDICATED
deploymentModel PRESENT
deploymentModel SHARED

CampaignDTO

{
  "id": "string",
  "name": "string",
  "description": "string",
  "objectives": [
    {
      "id": "string",
      "order": 0,
      "data": {
        "id": "string",
        "name": "string",
        "description": "string",
        "result": "string",
        "hints": [
          {
            "name": "string",
            "content": "string",
            "order": 0,
            "penalty": 0
          }
        ],
        "order": 0
      }
    }
  ],
  "injects": [
    {
      "id": "string",
      "order": 0,
      "data": {
        "id": "string",
        "name": "string",
        "description": "string",
        "content": "string",
        "parameters": [
          {
            "key": "string",
            "value": "string"
          }
        ],
        "script": {
          "source": "string",
          "exec": "string"
        },
        "trigger": {
          "type": "AUTOMATIC",
          "content": "string"
        },
        "order": 0
      }
    }
  ],
  "tasks": {
    "flags": [
      {
        "id": "string",
        "order": 0,
        "data": {
          "name": "string",
          "id": "string"
        }
      }
    ],
    "actions": [
      {
        "id": "string",
        "order": 0,
        "data": {
          "name": "string",
          "id": "string"
        }
      }
    ],
    "availabilities": [
      {
        "id": "string",
        "order": 0,
        "data": {
          "name": "string",
          "id": "string"
        }
      }
    ],
    "attacks": [
      {
        "id": "string",
        "order": 0,
        "data": {
          "name": "string",
          "id": "string"
        }
      }
    ]
  }
}

Properties

Name Type Required Restrictions Description
id string false none none
name string false none none
description string false none none
objectives [CampaignObjectiveReferenceDTO] false none none
injects [CampaignInjectReferenceDTO] false none none
tasks TaskDataReferenceDTO false none none

CampaignInjectReferenceDTO

{
  "id": "string",
  "order": 0,
  "data": {
    "id": "string",
    "name": "string",
    "description": "string",
    "content": "string",
    "parameters": [
      {
        "key": "string",
        "value": "string"
      }
    ],
    "script": {
      "source": "string",
      "exec": "string"
    },
    "trigger": {
      "type": "AUTOMATIC",
      "content": "string"
    },
    "order": 0
  }
}

Properties

Name Type Required Restrictions Description
id string false none none
order integer(int32) false none none
data ScenarioInjectDTO false none none

CampaignObjectiveReferenceDTO

{
  "id": "string",
  "order": 0,
  "data": {
    "id": "string",
    "name": "string",
    "description": "string",
    "result": "string",
    "hints": [
      {
        "name": "string",
        "content": "string",
        "order": 0,
        "penalty": 0
      }
    ],
    "order": 0
  }
}

Properties

Name Type Required Restrictions Description
id string false none none
order integer(int32) false none none
data ScenarioObjectiveDTO false none none

HintDTO

{
  "name": "string",
  "content": "string",
  "order": 0,
  "penalty": 0
}

Properties

Name Type Required Restrictions Description
name string false none none
content string false none none
order integer(int32) false none none
penalty integer(int32) false none none

ISystemTaskDTO

{
  "name": "string",
  "id": "string"
}

Properties

Name Type Required Restrictions Description
name string false none none
id string false none none

ScenarioInjectDTO

{
  "id": "string",
  "name": "string",
  "description": "string",
  "content": "string",
  "parameters": [
    {
      "key": "string",
      "value": "string"
    }
  ],
  "script": {
    "source": "string",
    "exec": "string"
  },
  "trigger": {
    "type": "AUTOMATIC",
    "content": "string"
  },
  "order": 0
}

Properties

Name Type Required Restrictions Description
id string false none none
name string false none none
description string false none none
content string false none none
parameters [DscParameterDTO] false none none
script SystemScriptDTO false none none
trigger TriggerDTO false none none
order integer(int32) false none none

ScenarioObjectiveDTO

{
  "id": "string",
  "name": "string",
  "description": "string",
  "result": "string",
  "hints": [
    {
      "name": "string",
      "content": "string",
      "order": 0,
      "penalty": 0
    }
  ],
  "order": 0
}

Properties

Name Type Required Restrictions Description
id string false none none
name string false none none
description string false none none
result string false none none
hints [HintDTO] false none none
order integer(int32) false none none

SystemScriptDTO

{
  "source": "string",
  "exec": "string"
}

Properties

Name Type Required Restrictions Description
source string false none none
exec string false none none

TaskDataReferenceDTO

{
  "flags": [
    {
      "id": "string",
      "order": 0,
      "data": {
        "name": "string",
        "id": "string"
      }
    }
  ],
  "actions": [
    {
      "id": "string",
      "order": 0,
      "data": {
        "name": "string",
        "id": "string"
      }
    }
  ],
  "availabilities": [
    {
      "id": "string",
      "order": 0,
      "data": {
        "name": "string",
        "id": "string"
      }
    }
  ],
  "attacks": [
    {
      "id": "string",
      "order": 0,
      "data": {
        "name": "string",
        "id": "string"
      }
    }
  ]
}

Properties

Name Type Required Restrictions Description
flags [TaskReferenceDTO] false none none
actions [TaskReferenceDTO] false none none
availabilities [TaskReferenceDTO] false none none
attacks [TaskReferenceDTO] false none none

TaskReferenceDTO

{
  "id": "string",
  "order": 0,
  "data": {
    "name": "string",
    "id": "string"
  }
}

Properties

Name Type Required Restrictions Description
id string false none none
order integer(int32) false none none
data ISystemTaskDTO false none none

TriggerDTO

{
  "type": "AUTOMATIC",
  "content": "string"
}

Properties

Name Type Required Restrictions Description
type string false none none
content string false none none

Enumerated Values

Property Value
type AUTOMATIC
type MANUAL

TaskDataOverviewDTO

{
  "flags": [
    {
      "id": "string",
      "systemId": "string",
      "systemName": "string",
      "systemHostnames": "string",
      "name": "string",
      "data": {
        "name": "string",
        "id": "string"
      }
    }
  ],
  "actions": [
    {
      "id": "string",
      "systemId": "string",
      "systemName": "string",
      "systemHostnames": "string",
      "name": "string",
      "data": {
        "name": "string",
        "id": "string"
      }
    }
  ],
  "availabilities": [
    {
      "id": "string",
      "systemId": "string",
      "systemName": "string",
      "systemHostnames": "string",
      "name": "string",
      "data": {
        "name": "string",
        "id": "string"
      }
    }
  ],
  "attacks": [
    {
      "id": "string",
      "systemId": "string",
      "systemName": "string",
      "systemHostnames": "string",
      "name": "string",
      "data": {
        "name": "string",
        "id": "string"
      }
    }
  ]
}

Properties

Name Type Required Restrictions Description
flags [TaskOverviewDTO] false none none
actions [TaskOverviewDTO] false none none
availabilities [TaskOverviewDTO] false none none
attacks [TaskOverviewDTO] false none none

TaskOverviewDTO

{
  "id": "string",
  "systemId": "string",
  "systemName": "string",
  "systemHostnames": "string",
  "name": "string",
  "data": {
    "name": "string",
    "id": "string"
  }
}

Properties

Name Type Required Restrictions Description
id string false none none
systemId string false none none
systemName string false none none
systemHostnames string false none none
name string false none none
data ISystemTaskDTO false none none

ScenarioCampaignReorderedItemsDTO

{
  "itemIds": [
    "string"
  ]
}

Properties

Name Type Required Restrictions Description
itemIds [string] false none none

ScenarioDTO

{
  "id": "string",
  "name": "string",
  "description": "string",
  "version": "string",
  "type": "CTF",
  "platformId": "string",
  "externalId": "string",
  "tags": [
    "string"
  ],
  "subnets": [
    {
      "id": "string",
      "name": "string",
      "description": "string",
      "subnetIPv4Address": "string",
      "subnetIPv6Address": "string",
      "gatewayIPv4": "string",
      "gatewayIPv6": "string",
      "dns1": "string",
      "dns2": "string",
      "deploymentModel": "DEDICATED",
      "systems": [
        {
          "id": "string",
          "systemDefinition": {
            "id": "string",
            "name": "string",
            "os": "ANDROID",
            "osVersion": "string",
            "version": "string",
            "platformIds": [
              "string"
            ],
            "status": "ARCHIVED"
          },
          "tags": [
            "string"
          ],
          "deploymentModel": "DEDICATED",
          "primaryHostname": "string",
          "configuration": {
            "networking": {
              "ipv4Gateway": "string",
              "ipv6Gateway": "string",
              "primaryDns": "string",
              "secondaryDns": "string",
              "interfaces": [
                {
                  "id": "string",
                  "subnetId": "string",
                  "ipv4Address": "string",
                  "ipv6Address": "string",
                  "hostname": "string",
                  "name": "string"
                }
              ]
            },
            "parameters": [
              {
                "key": "string",
                "value": "string"
              }
            ]
          }
        }
      ],
      "type": "NOT_CONNECTED"
    }
  ],
  "objectives": [
    {
      "id": "string",
      "name": "string",
      "description": "string",
      "result": "string",
      "hints": [
        {
          "name": "string",
          "content": "string",
          "order": 0,
          "penalty": 0
        }
      ],
      "order": 0
    }
  ],
  "injects": [
    {
      "id": "string",
      "name": "string",
      "description": "string",
      "content": "string",
      "parameters": [
        {
          "key": "string",
          "value": "string"
        }
      ],
      "script": {
        "source": "string",
        "exec": "string"
      },
      "trigger": {
        "type": "AUTOMATIC",
        "content": "string"
      },
      "order": 0
    }
  ],
  "campaigns": [
    {
      "id": "string",
      "name": "string",
      "description": "string",
      "objectives": [
        {
          "id": "string",
          "order": 0,
          "data": {
            "id": "string",
            "name": "string",
            "description": "string",
            "result": "string",
            "hints": [
              {
                "name": "string",
                "content": "string",
                "order": 0,
                "penalty": 0
              }
            ],
            "order": 0
          }
        }
      ],
      "injects": [
        {
          "id": "string",
          "order": 0,
          "data": {
            "id": "string",
            "name": "string",
            "description": "string",
            "content": "string",
            "parameters": [
              {
                "key": "string",
                "value": "string"
              }
            ],
            "script": {
              "source": "string",
              "exec": "string"
            },
            "trigger": {
              "type": "AUTOMATIC",
              "content": "string"
            },
            "order": 0
          }
        }
      ],
      "tasks": {
        "flags": [
          {
            "id": "string",
            "order": 0,
            "data": {
              "name": "string",
              "id": "string"
            }
          }
        ],
        "actions": [
          {
            "id": "string",
            "order": 0,
            "data": {
              "name": "string",
              "id": "string"
            }
          }
        ],
        "availabilities": [
          {
            "id": "string",
            "order": 0,
            "data": {
              "name": "string",
              "id": "string"
            }
          }
        ],
        "attacks": [
          {
            "id": "string",
            "order": 0,
            "data": {
              "name": "string",
              "id": "string"
            }
          }
        ]
      }
    }
  ],
  "status": "ARCHIVED",
  "capacity": {
    "cpu": 0,
    "memory": 0,
    "storage": 0,
    "maxEnvironments": 0,
    "referenceCapacity": {}
  },
  "contacts": [
    {
      "name": "string",
      "email": "string",
      "role": "string"
    }
  ],
  "isLocked": true
}

Properties

Name Type Required Restrictions Description
id string false none none
name string false none none
description string false none none
version string false none none
type string false none none
platformId string false none none
externalId string false none none
tags [string] false none none
subnets [SubnetDTO] false none none
objectives [ScenarioObjectiveDTO] false none none
injects [ScenarioInjectDTO] false none none
campaigns [CampaignDTO] false none none
status string false none none
capacity CapacityDTO false none none
contacts [ContactDTO] false none none
isLocked boolean false read-only none

Enumerated Values

Property Value
type CTF
type LIVE_FIRE
type TRAINING
status ARCHIVED
status ACCEPTED
status AVAILABLE
status IN_PROGRESS
status REJECTED
status SUBMITTED

VulnerabilityDTO

{
  "id": "string",
  "name": "string",
  "type": "EXPLOIT",
  "cveId": "string",
  "description": "string",
  "script": {
    "source": "string",
    "exec": "string"
  }
}

Properties

Name Type Required Restrictions Description
id string false none none
name string false none none
type string false none none
cveId string false none none
description string false none none
script SystemScriptDTO false none none

Enumerated Values

Property Value
type EXPLOIT
type MISCONFIGURATION
type VULNERABILITY

ActionDTO

{
  "id": "string",
  "name": "string",
  "description": "string",
  "result": "string",
  "hints": [
    {
      "name": "string",
      "content": "string",
      "order": 0,
      "penalty": 0
    }
  ],
  "script": {
    "source": "string",
    "exec": "string",
    "type": "EXTERNAL"
  }
}

Properties

Name Type Required Restrictions Description
id string false none none
name string false none none
description string false none none
result string false none none
hints [HintDTO] false none none
script TaskScriptDTO false none none

TaskScriptDTO

{
  "source": "string",
  "exec": "string",
  "type": "EXTERNAL"
}

Properties

Name Type Required Restrictions Description
source string false none none
exec string false none none
type string false none none

Enumerated Values

Property Value
type EXTERNAL
type INTERNAL

AttackDTO

{
  "id": "string",
  "name": "string",
  "description": "string",
  "type": "CLIENT",
  "mitreId": "string",
  "script": {
    "source": "string",
    "exec": "string",
    "type": "EXTERNAL"
  },
  "hints": [
    {
      "name": "string",
      "content": "string",
      "order": 0,
      "penalty": 0
    }
  ]
}

Properties

Name Type Required Restrictions Description
id string false none none
name string false none none
description string false none none
type string false none none
mitreId string false none none
script TaskScriptDTO false none none
hints [HintDTO] false none none

Enumerated Values

Property Value
type CLIENT
type NET
type WEB

AvailabilityDTO

{
  "id": "string",
  "name": "string",
  "protocol": "TCP",
  "port": 0,
  "result": "string",
  "script": {
    "source": "string",
    "exec": "string",
    "type": "EXTERNAL"
  }
}

Properties

Name Type Required Restrictions Description
id string false none none
name string false none none
protocol string false none none
port integer(int32) false none none
result string false none none
script TaskScriptDTO false none none

Enumerated Values

Property Value
protocol TCP
protocol UDP
protocol SCTP
protocol ICMP

FlagDTO

{
  "id": "string",
  "name": "string",
  "result": "string",
  "location": "string",
  "type": "STATIC",
  "contentType": "EXECUTABLE",
  "taskDescription": {
    "question": "string",
    "description": "string",
    "hints": [
      {
        "name": "string",
        "content": "string",
        "order": 0,
        "penalty": 0
      }
    ]
  }
}

Properties

Name Type Required Restrictions Description
id string false none none
name string false none none
result string false none none
location string false none none
type string false none none
contentType string false none none
taskDescription FlagTaskDescriptionDTO false none none

Enumerated Values

Property Value
type STATIC
type DYNAMIC
contentType EXECUTABLE
contentType TEXT
contentType PARAMETER

FlagTaskDescriptionDTO

{
  "question": "string",
  "description": "string",
  "hints": [
    {
      "name": "string",
      "content": "string",
      "order": 0,
      "penalty": 0
    }
  ]
}

Properties

Name Type Required Restrictions Description
question string false none none
description string false none none
hints [HintDTO] false none none

TaskDataDTO

{
  "flags": [
    {
      "id": "string",
      "name": "string",
      "result": "string",
      "location": "string",
      "type": "STATIC",
      "contentType": "EXECUTABLE",
      "taskDescription": {
        "question": "string",
        "description": "string",
        "hints": [
          {
            "name": "string",
            "content": "string",
            "order": 0,
            "penalty": 0
          }
        ]
      }
    }
  ],
  "actions": [
    {
      "id": "string",
      "name": "string",
      "description": "string",
      "result": "string",
      "hints": [
        {
          "name": "string",
          "content": "string",
          "order": 0,
          "penalty": 0
        }
      ],
      "script": {
        "source": "string",
        "exec": "string",
        "type": "EXTERNAL"
      }
    }
  ],
  "availabilities": [
    {
      "id": "string",
      "name": "string",
      "protocol": "TCP",
      "port": 0,
      "result": "string",
      "script": {
        "source": "string",
        "exec": "string",
        "type": "EXTERNAL"
      }
    }
  ],
  "attacks": [
    {
      "id": "string",
      "name": "string",
      "description": "string",
      "type": "CLIENT",
      "mitreId": "string",
      "script": {
        "source": "string",
        "exec": "string",
        "type": "EXTERNAL"
      },
      "hints": [
        {
          "name": "string",
          "content": "string",
          "order": 0,
          "penalty": 0
        }
      ]
    }
  ]
}

Properties

Name Type Required Restrictions Description
flags [FlagDTO] false none none
actions [ActionDTO] false none none
availabilities [AvailabilityDTO] false none none
attacks [AttackDTO] false none none

DscSystemDTO

{
  "id": "string",
  "type": "CONTAINER",
  "subType": "string",
  "name": "string",
  "description": "string",
  "version": "string",
  "platformIds": [
    "string"
  ],
  "dependencies": [
    {
      "id": "string",
      "name": "string",
      "os": "ANDROID",
      "osVersion": "string",
      "version": "string",
      "platformIds": [
        "string"
      ],
      "status": "ARCHIVED"
    }
  ],
  "externalId": "string",
  "contentType": "CTF",
  "systemRole": "NETWORKING",
  "configuration": {
    "capacity": {
      "cpu": 0,
      "memory": 0,
      "storage": 0,
      "maxEnvironments": 0,
      "referenceCapacity": {}
    },
    "systemInfo": {
      "os": "ANDROID",
      "osVersion": "string",
      "source": {
        "source": "string",
        "version": "string",
        "repository": "string"
      },
      "services": [
        {
          "name": "string",
          "version": "string",
          "ports": [
            {
              "portNumber": 0,
              "protocol": "TCP"
            }
          ]
        }
      ],
      "parameters": [
        {
          "key": "string",
          "value": "string"
        }
      ],
      "customizations": [
        {
          "source": "string",
          "uploadPath": "string",
          "exec": "string",
          "template": "string",
          "templatePath": "string",
          "type": "CLOUD_INIT"
        }
      ],
      "interfaces": [
        "string"
      ]
    }
  },
  "vulnerabilities": [
    {
      "id": "string",
      "name": "string",
      "type": "EXPLOIT",
      "cveId": "string",
      "description": "string",
      "script": {
        "source": "string",
        "exec": "string"
      }
    }
  ],
  "tasks": {
    "flags": [
      {
        "id": "string",
        "name": "string",
        "result": "string",
        "location": "string",
        "type": "STATIC",
        "contentType": "EXECUTABLE",
        "taskDescription": {
          "question": "string",
          "description": "string",
          "hints": [
            {
              "name": "string",
              "content": "string",
              "order": 0,
              "penalty": 0
            }
          ]
        }
      }
    ],
    "actions": [
      {
        "id": "string",
        "name": "string",
        "description": "string",
        "result": "string",
        "hints": [
          {
            "name": "string",
            "content": "string",
            "order": 0,
            "penalty": 0
          }
        ],
        "script": {
          "source": "string",
          "exec": "string",
          "type": "EXTERNAL"
        }
      }
    ],
    "availabilities": [
      {
        "id": "string",
        "name": "string",
        "protocol": "TCP",
        "port": 0,
        "result": "string",
        "script": {
          "source": "string",
          "exec": "string",
          "type": "EXTERNAL"
        }
      }
    ],
    "attacks": [
      {
        "id": "string",
        "name": "string",
        "description": "string",
        "type": "CLIENT",
        "mitreId": "string",
        "script": {
          "source": "string",
          "exec": "string",
          "type": "EXTERNAL"
        },
        "hints": [
          {
            "name": "string",
            "content": "string",
            "order": 0,
            "penalty": 0
          }
        ]
      }
    ]
  },
  "status": "ARCHIVED",
  "created": 0,
  "contacts": [
    {
      "name": "string",
      "email": "string",
      "role": "string"
    }
  ],
  "isLocked": true
}

Properties

Name Type Required Restrictions Description
id string false none none
type string false none none
subType string false none none
name string false none none
description string false none none
version string false none none
platformIds [string] false none none
dependencies [SystemOverviewDTO] false none none
externalId string false none none
contentType string false none none
systemRole string false none none
configuration SystemConfigurationDTO false none none
vulnerabilities [VulnerabilityDTO] false none none
tasks TaskDataDTO false none none
status string false none none
created integer(int64) false none none
contacts [ContactDTO] false none none
isLocked boolean false read-only none

Enumerated Values

Property Value
type CONTAINER
type HARDWARE
type VM
contentType CTF
contentType LIVE_FIRE
contentType TRAINING
systemRole NETWORKING
systemRole SECURITY_TOOL
systemRole SERVER
systemRole SUPPORT
systemRole WORKSTATION
systemRole OTHER
status ARCHIVED
status ACCEPTED
status AVAILABLE
status IN_PROGRESS
status REJECTED
status SUBMITTED

PortInfoDTO

{
  "portNumber": 0,
  "protocol": "TCP"
}

Properties

Name Type Required Restrictions Description
portNumber integer(int32) false none none
protocol string false none none

Enumerated Values

Property Value
protocol TCP
protocol UDP
protocol SCTP
protocol ICMP

SystemConfigurationDTO

{
  "capacity": {
    "cpu": 0,
    "memory": 0,
    "storage": 0,
    "maxEnvironments": 0,
    "referenceCapacity": {}
  },
  "systemInfo": {
    "os": "ANDROID",
    "osVersion": "string",
    "source": {
      "source": "string",
      "version": "string",
      "repository": "string"
    },
    "services": [
      {
        "name": "string",
        "version": "string",
        "ports": [
          {
            "portNumber": 0,
            "protocol": "TCP"
          }
        ]
      }
    ],
    "parameters": [
      {
        "key": "string",
        "value": "string"
      }
    ],
    "customizations": [
      {
        "source": "string",
        "uploadPath": "string",
        "exec": "string",
        "template": "string",
        "templatePath": "string",
        "type": "CLOUD_INIT"
      }
    ],
    "interfaces": [
      "string"
    ]
  }
}

Properties

Name Type Required Restrictions Description
capacity CapacityDTO false none none
systemInfo SystemInfoDTO false none none

SystemCustomizationInfoDTO

{
  "source": "string",
  "uploadPath": "string",
  "exec": "string",
  "template": "string",
  "templatePath": "string",
  "type": "CLOUD_INIT"
}

Properties

Name Type Required Restrictions Description
source string false none none
uploadPath string false none none
exec string false none none
template string false none none
templatePath string false none none
type string false none none

Enumerated Values

Property Value
type CLOUD_INIT
type SCRIPT
type SSH

SystemInfoDTO

{
  "os": "ANDROID",
  "osVersion": "string",
  "source": {
    "source": "string",
    "version": "string",
    "repository": "string"
  },
  "services": [
    {
      "name": "string",
      "version": "string",
      "ports": [
        {
          "portNumber": 0,
          "protocol": "TCP"
        }
      ]
    }
  ],
  "parameters": [
    {
      "key": "string",
      "value": "string"
    }
  ],
  "customizations": [
    {
      "source": "string",
      "uploadPath": "string",
      "exec": "string",
      "template": "string",
      "templatePath": "string",
      "type": "CLOUD_INIT"
    }
  ],
  "interfaces": [
    "string"
  ]
}

Properties

Name Type Required Restrictions Description
os string false none none
osVersion string false none none
source SystemSourceInfoDTO false none none
services [SystemServiceInfoDTO] false none none
parameters [DscParameterDTO] false none none
customizations [SystemCustomizationInfoDTO] false none none
interfaces [string] false none none

Enumerated Values

Property Value
os ANDROID
os APPLE
os LINUX
os WINDOWS
os OTHER
os UNKNOWN

SystemServiceInfoDTO

{
  "name": "string",
  "version": "string",
  "ports": [
    {
      "portNumber": 0,
      "protocol": "TCP"
    }
  ]
}

Properties

Name Type Required Restrictions Description
name string false none none
version string false none none
ports [PortInfoDTO] false none none

SystemSourceInfoDTO

{
  "source": "string",
  "version": "string",
  "repository": "string"
}

Properties

Name Type Required Restrictions Description
source string false none none
version string false none none
repository string false none none