Publish Server Frontend API (0.1.0)

Download OpenAPI specification:

Upload a Dataset

Upload a dataset

Upload a dataset file .zip to the backend

Authorizations:
HTTPBase
query Parameters
filename
required
string (Filename)
groups
Array of strings (Groups)
Default: ""

Responses

Response samples

Content type
application/json
{
  • "property1": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "property2": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}

Get an update on the uploading of the dataset

path Parameters
dataset_id
required
string <uuid> (Dataset Id)

Responses

Response samples

Content type
application/json
{ }

Get Datasets

Get component version

Get component version

Responses

Response samples

Content type
application/json
"string"

List all available datasets: scenarios and unit attacks

List all available datasets

Returns a JSON containing a dictionary indexed by the type of the dataset. Each dataset type has its datasets indexed by the UUID of each dataset. For each dataset, basic information is returned (title, dates, topology url, ...)

There is three kind of datasets:

  • scenario : when multiple attacks are performed on a topology
  • unit_attack: when only one attack is performed against a topology
  • only_topology: when the dataset is issued directly from a topology

To get detailed information on a specific dataset, use the corresponding API endpoint.

Authorizations:
HTTPBase
query Parameters
partial_manifests
boolean (Partial Manifests)
Default: true

Responses

Response samples

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

Return a filtered list of available datasets

Return a filtered list of available datasets

Returns a JSON containing a dictionary indexed by the UUID of dataset. For each dataset, basic information is returned (title, dates, topology url, ...)

The list of dataset returned is filtered based on the filters parameter.

To get detailed information on a specific dataset, use the corresponding API endpoint.

  • filters: specifies the datasets that must be returned. Must be a publish.models.dataset_model.DatasetFilters object (encoded in JSON)
Authorizations:
HTTPBase
query Parameters
partial_manifests
boolean (Partial Manifests)
Default: true
Request Body schema: application/json
required
Array of Manifest Version (strings) or Manifest Version (null) (Manifest Version)
Array of Simu Id (integers) or Simu Id (null) (Simu Id)
Array of Name (strings) or Name (null) (Name)
Array of Topology (strings) or Topology (null) (Topology)
Array of Tags (strings) or Tags (null) (Tags)
Array of Mitre Tags (objects) or Mitre Tags (null) (Mitre Tags)
Date Dataset Created Before (string) or Date Dataset Created Before (null) (Date Dataset Created Before)
Date Dataset Created After (string) or Date Dataset Created After (null) (Date Dataset Created After)
Date Dataset Modified Before (string) or Date Dataset Modified Before (null) (Date Dataset Modified Before)
Date Dataset Modified After (string) or Date Dataset Modified After (null) (Date Dataset Modified After)
Logs (boolean) or Logs (null) (Logs)
Pcaps (boolean) or Pcaps (null) (Pcaps)
Memory Dumps (boolean) or Memory Dumps (null) (Memory Dumps)
Redteam Reports (boolean) or Redteam Reports (null) (Redteam Reports)
Life Reports (boolean) or Life Reports (null) (Life Reports)
Assets Reports (boolean) or Assets Reports (null) (Assets Reports)
Scenario Name (string) or Scenario Name (null) (Scenario Name)
Unit Attack Played (string) or Unit Attack Played (null) (Unit Attack Played)

Responses

Request samples

Content type
application/json
{
  • "manifest_version": [
    ],
  • "simu_id": [
    ],
  • "name": [
    ],
  • "topology": [
    ],
  • "tags": [
    ],
  • "mitre_tags": [
    ],
  • "date_dataset_created_before": "2019-08-24T14:15:22Z",
  • "date_dataset_created_after": "2019-08-24T14:15:22Z",
  • "date_dataset_modified_before": "2019-08-24T14:15:22Z",
  • "date_dataset_modified_after": "2019-08-24T14:15:22Z",
  • "logs": true,
  • "pcaps": true,
  • "memory_dumps": true,
  • "redteam_reports": true,
  • "life_reports": true,
  • "assets_reports": true,
  • "scenario_name": "string",
  • "unit_attack_played": "string"
}

Response samples

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

Get the full manifest of a specific dataset

Get the manifest of a specific dataset

  • partial_dataset_id: the id of the dataset the resource belongs to, or a prefix of it that uniquely identifies the dataset

Returns the manifest of the dataset, giving full information on the dataset, including the download URLs of all resources.

Authorizations:
HTTPBase
path Parameters
partial_dataset_id
required
string (Partial Dataset Id)

Responses

Response samples

Content type
application/json
{
  • "manifest_version": "0.5",
  • "simu_id": 0,
  • "topology": "string",
  • "name": "string",
  • "description": "string",
  • "tags": [ ],
  • "mitre_tags": [ ],
  • "date_dataset_created": "2019-08-24T14:15:22Z",
  • "date_dataset_modified": "2019-08-24T14:15:22Z",
  • "logs": { },
  • "pcaps": { },
  • "memory_dumps": { },
  • "redteam_reports": { },
  • "life_reports": { },
  • "assets_reports": { },
  • "scenario": {
    },
  • "forensics": { },
  • "unit_attacks_played": [ ],
  • "scenario_profile": ""
}

Get information about the generated archive for a specific dataset

Gets existence and size information for an archive generated for a dataset UUID

  • partial_dataset_id: the id of the dataset the resource belongs to, or a prefix of it that uniquely identifies the dataset

Returns both existence information, url and size of the .zip archive in json format

Authorizations:
HTTPBase
path Parameters
partial_dataset_id
required
string (Partial Dataset Id)

Responses

Response samples

Content type
application/json
{ }

Get the description of a specific resource

Get the description of a specific resource

  • partial_dataset_id: the id of the dataset the resource belongs to, or a prefix of it that uniquely identifies the dataset
  • resource_type: the type of the resource (e.g. pcap, log, etc.)
  • resource_id: the id of the resource to fetch

Returns the description of the resource, giving notably the the size and URL of each file contained in the resource.

Authorizations:
HTTPBase
path Parameters
partial_dataset_id
required
string (Partial Dataset Id)
resource_type_str
required
string (Resource Type Str)
resource_id
required
string <uuid> (Resource Id)

Responses

Response samples

Content type
application/json
{
  • "type": "log",
  • "files": [
    ]
}