{
  "consumes": [
    "application/json"
  ],
  "produces": [
    "application/json"
  ],
  "schemes": [
    "https"
  ],
  "swagger": "2.0",
  "info": {
    "description": "<p class=\"body-1\">You can access the simulation raw data using the Rest API. Scope of the API includes; Simulation list, Simulation Details, Threat/Objective/Action Results, Results mapped to MITRE ATTC&K and Unified Kill Chain frameworks, Detection Analysis Results, Validated Logs & Alerts with SIEM & EDR integration.</p>\n<p class=\"body-1\">OAuth2 protocol is used to authorize Refresh/Access tokens. To obtain the API, you should generate a refresh token and then request an access token using the /v1/auth/token endpoint. The refresh token will be valid for 6 months, whereas the access token will be available for 2 hours. After getting the access token, add Authorization: Bearer {accessToken} to the header to request access to the below endpoints.</p>\n<p class=\"body-1\">Endpoints returning data with a lot of load works with the pagination method. You can use the offset and limit parameters to get the correct page.</p>\n\n<i class=\"body-1\">Your usage will be limited with your Picus license.</i>",
    "title": "Picus Rest API",
    "version": "1.0"
  },
  "host": "api.picussecurity.com",
  "basePath": "/",
  "paths": {
    "/v1/activity-logs": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "This endpoint return activity logs.",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Activity-Logs"
        ],
        "summary": "# Get activity logs",
        "operationId": "activityLogsFilterParams",
        "parameters": [
          {
            "type": "integer",
            "format": "int64",
            "x-go-name": "Limit",
            "name": "limit",
            "in": "query"
          },
          {
            "type": "integer",
            "format": "int64",
            "x-go-name": "Offset",
            "name": "offset",
            "in": "query"
          },
          {
            "type": "integer",
            "format": "uint64",
            "x-go-name": "DateStart",
            "description": "Date start in epoch",
            "name": "date_start",
            "in": "query"
          },
          {
            "type": "integer",
            "format": "uint64",
            "x-go-name": "DateEnd",
            "description": "Date end in epoch",
            "name": "date_end",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/GetActivityLogsInputResponse"
          },
          "401": {
            "$ref": "#/responses/unauthorizedErrorSwagger"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/agents": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Agents; Agent Name, Agent Status, Agent Type, Agent Created Time, Agent Platform",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Agents"
        ],
        "summary": "# Agent List",
        "operationId": "Result",
        "responses": {
          "200": {
            "$ref": "#/responses/AgentsReturnSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/agents/download-link": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Returns the download link for the given agent type and variant. Variants can be portable or installable for windows agent type,\n32bit or 64bit for linux agent type and apple or intel for macos agent type.",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Agents"
        ],
        "summary": "# Download Link",
        "operationId": "downloadLinkParams",
        "parameters": [
          {
            "type": "string",
            "x-go-name": "AgentType",
            "name": "agent_type",
            "in": "query",
            "required": true
          },
          {
            "type": "string",
            "x-go-name": "Variant",
            "name": "variant",
            "in": "query",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/GetSimAgentDownloadLinkResponse"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/agents/install-token": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Returns the install token for the given agent type and variant. Variants can be portable or installable for windows agent type,\n32bit or 64bit for linux agent type and apple or intel for macos agent type. If agent type is kubernetes, variant is not required.",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Agents"
        ],
        "summary": "# Install Token",
        "operationId": "installTokenParams",
        "parameters": [
          {
            "type": "string",
            "x-go-name": "AgentType",
            "name": "agent_type",
            "in": "query",
            "required": true
          },
          {
            "type": "string",
            "x-go-name": "Variant",
            "name": "variant",
            "in": "query"
          }
        ],
        "responses": {
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/agents/kubernetes/download-yaml": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Downloads the Kubernetes agent YAML file for the given agent name and agent ID.",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/octet-stream"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Agents"
        ],
        "summary": "# Download Kubernetes agent YAML",
        "operationId": "downloadK8sAgentYamlParams",
        "parameters": [
          {
            "type": "string",
            "x-go-name": "AgentName",
            "name": "agent_name",
            "in": "query",
            "required": true
          },
          {
            "type": "integer",
            "format": "uint64",
            "x-go-name": "AgentID",
            "name": "agent_id",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/fileResponse"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/agents/reinstall-token": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Returns the reinstall token for the given agent type and variant. Variants can be portable or installable for windows agent type,\n32bit or 64bit for linux agent type and apple or intel for macos agent type.",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Agents"
        ],
        "summary": "# Reinstall Token",
        "operationId": "reinstallTokenParams",
        "parameters": [
          {
            "type": "integer",
            "format": "uint64",
            "x-go-name": "AgentID",
            "name": "agent_id",
            "in": "query",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/GetSimAgentInstallTokenResponse"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/agents/{Id}": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Agent Detail; Agent Name, Agent Status, Agent Type, Agent Created Time, Agent Platform,\nAgent Mitigation Devices, Agent Execution Users, Agent Custom Attacker and\nAgent Attack Modules with their enabled state and configuration",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Agents"
        ],
        "summary": "# Agent Detail",
        "operationId": "agentParams",
        "parameters": [
          {
            "type": "integer",
            "format": "uint64",
            "description": "Agent ID (URI parameter)",
            "name": "Id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/AgentDetailReturnSwagger"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/auth/refresh": {
      "post": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "This endpoint regenerates refresh token.\nInvalidates previous refresh/access token.\nWhen provided refresh token is expired, a new refresh token should be created from the application itself",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Authentication"
        ],
        "summary": "# Regenerating refresh token",
        "operationId": "RegenerateRefreshTokenParam",
        "parameters": [
          {
            "name": "Body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "refresh_token": {
                  "type": "string",
                  "x-go-name": "RefreshToken",
                  "example": "access_token (Getting from Settings / API Token / Generate Token)"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/GenerateRefreshTokenInternalResponse"
          },
          "401": {
            "$ref": "#/responses/unauthorizedErrorSwagger"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/auth/token": {
      "post": {
        "description": "OAuth2 protocol is used to authorize Refresh/Access tokens.\nTo obtain the API, you should generate a refresh token and then request an access token using the /v1/auth/token endpoint.\nThe refresh token will be valid for 6 months, whereas the access token will be available for 2 hours.\nAfter getting the access token, add Authorization: Bearer {accessToken} to the header to request access to the below endpoints.",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Authentication"
        ],
        "summary": "# Getting access token for endpoints",
        "operationId": "AuthTokenParam",
        "parameters": [
          {
            "name": "Body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "refresh_token": {
                  "type": "string",
                  "x-go-name": "RefreshToken",
                  "example": "access_token (Getting from Settings / API Token / Generate Token)"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/AuthTokenResponse"
          },
          "401": {
            "$ref": "#/responses/unauthorizedErrorSwagger"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        },
        "security": []
      }
    },
    "/v1/exposures/instances/scores": {
      "post": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Returns exposure instance scores for the specified host-exposure pairs.\nDuplicate pairs are deduplicated server-side. Unmatched pairs are omitted from the response.",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Instances"
        ],
        "summary": "# List Instance Scores",
        "operationId": "listInstanceScoresParams",
        "parameters": [
          {
            "name": "Body",
            "in": "body",
            "schema": {
              "type": "object",
              "required": [
                "filters"
              ],
              "properties": {
                "filters": {
                  "type": "object",
                  "required": [
                    "host_exposure_pairs"
                  ],
                  "properties": {
                    "host_exposure_pairs": {
                      "description": "List of host-exposure pairs to query.",
                      "type": "array",
                      "maxItems": 250,
                      "minItems": 1,
                      "items": {
                        "$ref": "#/definitions/HostExposurePairSwagger"
                      },
                      "x-go-name": "HostExposurePairs",
                      "example": [
                        {
                          "exposure_id": "CVE-2022-21903",
                          "hostname": "asset-001"
                        }
                      ]
                    }
                  },
                  "x-go-name": "Filters"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/ScoresResponse"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/integrations": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Integration List; Integration ID, Integration Name, Created At, Updated At, Health Status, Integration Agent ID, Integration Agent Name (If Available)",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Integrations"
        ],
        "summary": "# Integrations",
        "operationId": "integrationList",
        "responses": {
          "200": {
            "$ref": "#/responses/IntegrationsReturnSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/integrations/agents": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Integration Agent List; Integration Agent ID, Integration Agent Name, Created At, Updated At, Status (Alive | Dead), Is Installed, Is Token Expired",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Integrations"
        ],
        "summary": "# Integration Agents",
        "operationId": "integrationAgent",
        "responses": {
          "200": {
            "$ref": "#/responses/IntegrationAgentsReturnSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/mitigation/detection-content/custom": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Lists custom detection content items for the account.",
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Mitigation"
        ],
        "summary": "# List Custom Detection Content",
        "operationId": "getCustomDetectionContentParams",
        "parameters": [
          {
            "type": "integer",
            "format": "uint64",
            "default": "10",
            "description": "Maximum number of items to return per page.",
            "name": "Limit",
            "in": "query"
          },
          {
            "type": "integer",
            "format": "uint64",
            "default": "0",
            "description": "Number of items to skip before starting to return results.",
            "name": "Offset",
            "in": "query"
          },
          {
            "type": "string",
            "description": "Filter by content name (case-insensitive substring match).",
            "name": "Search",
            "in": "query"
          },
          {
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": "high,medium",
            "description": "Filter by severity level. Comma-separated list. Available values: critical, high, medium, low.",
            "name": "RuleSeverity",
            "in": "query"
          },
          {
            "type": "string",
            "description": "Field to sort results by. Available values: release_date, update_date.",
            "name": "OrderBy",
            "in": "query"
          },
          {
            "type": "boolean",
            "default": false,
            "description": "Whether sort order is ascending. Set to false for descending.",
            "name": "IsAscending",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/GetCustomDetectionContentResponse"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      },
      "post": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Creates custom detection content items for the account.",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Mitigation"
        ],
        "summary": "# Create Custom Detection Content",
        "operationId": "createCustomDetectionContentParams",
        "parameters": [
          {
            "name": "Body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "required": [
                "items"
              ],
              "properties": {
                "items": {
                  "description": "List of custom detection content items to create.\nMinimum 1 item, maximum 20 items per request.",
                  "type": "array",
                  "maxItems": 20,
                  "minItems": 1,
                  "items": {
                    "$ref": "#/definitions/CustomDetectionContentParams"
                  },
                  "x-go-name": "Items"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/CreateCustomDetectionContentResponse"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/mitigation/detection-content/custom/{content_id}": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Returns a custom detection content item by its ID.",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Mitigation"
        ],
        "summary": "# Get Custom Detection Content By ID",
        "operationId": "getCustomDetectionContentByIdParams",
        "parameters": [
          {
            "type": "string",
            "x-go-name": "ContentID",
            "description": "Unique identifier (UUID) of the custom detection content item.",
            "name": "content_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/GetCustomDetectionContentByIdResponse"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      },
      "put": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Updates a custom detection content item by ID.",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Mitigation"
        ],
        "summary": "# Update Custom Detection Content",
        "operationId": "updateCustomDetectionContentParams",
        "parameters": [
          {
            "type": "string",
            "x-go-name": "ContentID",
            "description": "Unique identifier (UUID) of the custom detection content item to update.",
            "name": "content_id",
            "in": "path",
            "required": true
          },
          {
            "name": "Body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CustomDetectionContentParams"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/UpdateCustomDetectionContentResponse"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      },
      "delete": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Deletes a custom detection content item by ID.",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Mitigation"
        ],
        "summary": "# Delete Custom Detection Content",
        "operationId": "deleteCustomDetectionContentParams",
        "parameters": [
          {
            "type": "string",
            "x-go-name": "ContentID",
            "description": "Unique identifier (UUID) of the custom detection content item to delete.",
            "name": "content_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/DeleteCustomDetectionContentResponse"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/mitigation/detection-content/devices": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Returns all available detection content devices (e.g. Splunk, QRadar). Used to populate device selection when creating custom detection content.",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Mitigation"
        ],
        "summary": "# Get Detection Content Devices",
        "operationId": "getDetectionDevicesParams",
        "responses": {
          "200": {
            "$ref": "#/responses/DetectionDevicesResponse"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/mitigation/detection-content/mitre/sub-techniques": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Returns all available MITRE ATT&CK sub-techniques with their parent technique reference. Used to populate sub-technique selection when creating custom detection content.",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Mitigation"
        ],
        "summary": "# Get MITRE ATT&CK Sub-Techniques",
        "operationId": "getMitreSubTechniquesParams",
        "responses": {
          "200": {
            "$ref": "#/responses/MitreSubTechniquesResponse"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/mitigation/detection-content/mitre/tactics": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Returns all available MITRE ATT&CK tactics. Used to populate tactic selection when creating custom detection content.",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Mitigation"
        ],
        "summary": "# Get MITRE ATT&CK Tactics",
        "operationId": "getMitreTacticsParams",
        "responses": {
          "200": {
            "$ref": "#/responses/MitreTacticsResponse"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/mitigation/detection-content/mitre/techniques": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Returns all available MITRE ATT&CK techniques. Used to populate technique selection when creating custom detection content.",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Mitigation"
        ],
        "summary": "# Get MITRE ATT&CK Techniques",
        "operationId": "getMitreTechniquesParams",
        "responses": {
          "200": {
            "$ref": "#/responses/MitreTechniquesResponse"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/mitigation/detection-content/sources": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Returns the detection content sources associated with the account.",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Mitigation"
        ],
        "summary": "# Detection Content Sources",
        "operationId": "contentSources",
        "responses": {
          "200": {
            "$ref": "#/responses/SourcesResponse"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/mitigation/detection-content/{source}/log-sources": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Returns the log sources of the account for the provided content source.",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Mitigation"
        ],
        "summary": "# Detection Content Log Sources",
        "operationId": "contentSourceNameUriParam",
        "parameters": [
          {
            "type": "string",
            "x-go-name": "Source",
            "description": "Source (URI parameter)",
            "name": "source",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/LogSourcesResponse"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/mitigation/detection-content/{source}/rules": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Returns the rules of the account for the provided content source.",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Mitigation"
        ],
        "summary": "# Detection Content Rules",
        "operationId": "detectionContentRulesParams",
        "parameters": [
          {
            "type": "string",
            "x-go-name": "ContentSourceName",
            "description": "Content Source Name",
            "name": "source",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "uint64",
            "x-go-name": "Limit",
            "description": "Limit",
            "name": "limit",
            "in": "query"
          },
          {
            "type": "integer",
            "format": "uint64",
            "x-go-name": "Offset",
            "description": "Offset",
            "name": "offset",
            "in": "query"
          },
          {
            "type": "string",
            "x-go-name": "Search",
            "description": "Search key",
            "name": "search",
            "in": "query"
          },
          {
            "type": "string",
            "x-go-name": "OrderBy",
            "description": "Order by key. One of 'release_date' 'update_date'",
            "name": "orderBy",
            "in": "query"
          },
          {
            "type": "boolean",
            "x-go-name": "IsAscending",
            "description": "Whether ordering should be ascending or descending",
            "name": "asc",
            "in": "query"
          },
          {
            "type": "array",
            "items": {
              "type": "string"
            },
            "x-go-name": "RuleSeverity",
            "description": "Rule severity filter (comma-separated). Available options: critical, high, medium, low. ex: low,medium",
            "name": "ruleSeverity",
            "in": "query"
          },
          {
            "type": "array",
            "items": {
              "type": "string"
            },
            "x-go-name": "LogSources",
            "description": "Log source filter (comma-separated). Available options can be obtained from log sources endpoint. ex: Sysmon,Splunk",
            "name": "logSources",
            "in": "query"
          },
          {
            "type": "boolean",
            "x-go-name": "Alerted",
            "description": "If true, only actions with \"not alerted\" results in the simulations and their contents are displayed",
            "name": "alerted",
            "in": "query"
          },
          {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "x-go-name": "Threats",
            "description": "Threat filter (comma-separated). Available options can be obtained from threats endpoint. ex: 123,124",
            "name": "threats",
            "in": "query"
          },
          {
            "type": "string",
            "default": "predefined",
            "x-go-name": "Type",
            "name": "type",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/RulesResponse"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/mitigation/detection-content/{source}/rules/{ruleId}": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Returns the details of the detection content rule for the given ruleId and content source.",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Mitigation"
        ],
        "summary": "# Detection Content Rule Details",
        "operationId": "contentSourceNameAndRuleIdUriParam",
        "parameters": [
          {
            "type": "string",
            "x-go-name": "Source",
            "description": "Source (URI parameter)",
            "name": "source",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "x-go-name": "RuleId",
            "description": "RuleId (URI parameter)",
            "name": "ruleId",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/RuleDetailResponse"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/mitigation/devices": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Deprecated: This endpoint has been deprecated and is no longer available.\nPlease migrate to the V2 endpoints:\n`GET /v2/mitigation/devices` - Returns device list\n`GET /v2/mitigation/devices/{DeviceId}` - Returns stats for a specific device",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Mitigation"
        ],
        "summary": "# Devices' Stats List (deprecated)",
        "operationId": "deviceListParams",
        "deprecated": true,
        "parameters": [
          {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "x-go-name": "SimulationIds",
            "description": "Filter with Simulation id. (Max 20 ids)",
            "name": "simulation_ids",
            "in": "query"
          }
        ],
        "responses": {
          "410": {
            "$ref": "#/responses/genericErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/mitigation/devices/{DeviceId}/signatures": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Description. Reference, Product Platform, Product Version",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Mitigation"
        ],
        "summary": "Signature List; Signature Id, Signature Name, Vendor Severity, Signature Category, Signature Version,",
        "operationId": "signatureListParams",
        "parameters": [
          {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "x-go-name": "ActionIds",
            "description": "Filter with Action ids. (Max 10 ids)",
            "name": "action_ids",
            "in": "query",
            "required": true
          },
          {
            "type": "integer",
            "format": "int64",
            "description": "Device ID (URI parameter)",
            "name": "DeviceId",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/SignatureListSwagger"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/mitigation/generic/not-blocked-actions": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Returns a list of not blocked actions for generic mitigations with their associated signatures and recommendations.\nThe response includes action details, attack module, category, and mitigation information.",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Mitigation"
        ],
        "summary": "# Generic Not Blocked Actions List",
        "operationId": "genericNotBlockedActionsParams",
        "parameters": [
          {
            "type": "integer",
            "format": "int64",
            "x-go-name": "Limit",
            "name": "limit",
            "in": "query"
          },
          {
            "type": "integer",
            "format": "int64",
            "x-go-name": "Offset",
            "name": "offset",
            "in": "query"
          },
          {
            "type": "string",
            "x-go-name": "ThreatOrActionName",
            "name": "threat_or_action_name",
            "in": "query"
          },
          {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint64"
            },
            "x-go-name": "ThreatIds",
            "name": "threat_ids",
            "in": "query"
          },
          {
            "type": "array",
            "items": {
              "type": "string"
            },
            "x-go-name": "ThreatSeverities",
            "name": "threat_severities",
            "in": "query"
          },
          {
            "type": "array",
            "items": {
              "type": "string"
            },
            "x-go-name": "AttackModules",
            "name": "attack_modules",
            "in": "query"
          },
          {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint64"
            },
            "x-go-name": "AssessmentIdList",
            "name": "assessment_id_list",
            "in": "query"
          },
          {
            "type": "boolean",
            "x-go-name": "IsAllAssessments",
            "name": "is_all_assessments",
            "in": "query"
          },
          {
            "type": "integer",
            "format": "uint64",
            "x-go-name": "RunID",
            "name": "run_id",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/NotBlockedActionsListSwagger"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/simulations": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Simulation List; Simulation ID, Simulation Name, Simulation Agent (with status), Enrichment Status, Last Prevention Result, Last Detection Result (if Available)\nDefault limit: 25, Default offset: 0\nMax limit: 50",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Simulations"
        ],
        "summary": "# Simulation List",
        "operationId": "simulationListParams",
        "parameters": [
          {
            "type": "integer",
            "format": "int64",
            "x-go-name": "Limit",
            "name": "limit",
            "in": "query"
          },
          {
            "type": "integer",
            "format": "int64",
            "x-go-name": "Offset",
            "name": "offset",
            "in": "query"
          },
          {
            "type": "array",
            "items": {
              "type": "string"
            },
            "x-go-name": "Status",
            "description": "Filter with Status (one or more status): RUNNING | STOPPED | WAITING FOR THE FIRST RUN | NOT STARTED | COMPLETED",
            "name": "status",
            "in": "query"
          },
          {
            "type": "string",
            "x-go-name": "SimulationName",
            "description": "Filter with Simulation name.",
            "name": "simulation_name",
            "in": "query"
          },
          {
            "type": "string",
            "x-go-name": "AgentName",
            "description": "Filter with Agent name.",
            "name": "agent_name",
            "in": "query"
          },
          {
            "type": "integer",
            "format": "uint64",
            "x-go-name": "AgentId",
            "description": "Filter with Agent id.",
            "name": "agent_id",
            "in": "query"
          },
          {
            "type": "string",
            "x-go-name": "TemplateName",
            "description": "Filter with Template name.",
            "name": "template_name",
            "in": "query"
          },
          {
            "type": "integer",
            "format": "uint64",
            "x-go-name": "TemplateId",
            "description": "Filter with Template id.",
            "name": "template_id",
            "in": "query"
          },
          {
            "maximum": 100,
            "minimum": -1,
            "type": "integer",
            "format": "int64",
            "x-go-name": "PreventionResultLte",
            "description": "Filter with Prevention Result Less Than or Equals",
            "name": "prevention_result_lte",
            "in": "query"
          },
          {
            "maximum": 100,
            "minimum": -1,
            "type": "integer",
            "format": "int64",
            "x-go-name": "PreventionResultGte",
            "description": "Filter with Prevention Result Greater Than or Equals",
            "name": "prevention_result_gte",
            "in": "query"
          },
          {
            "maximum": 100,
            "minimum": -1,
            "type": "integer",
            "format": "int64",
            "x-go-name": "DetectionResultLte",
            "description": "Filter with Detection Result Less Than or Equals",
            "name": "detection_result_lte",
            "in": "query"
          },
          {
            "maximum": 100,
            "minimum": -1,
            "type": "integer",
            "format": "int64",
            "x-go-name": "DetectionResultGte",
            "description": "Filter with Detection Result Greater Than or Equals",
            "name": "detection_result_gte",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/SimulationsResponse"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      },
      "post": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Creates the simulation with given information",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Simulations"
        ],
        "summary": "# Create Simulation",
        "operationId": "createSimulationParams",
        "parameters": [
          {
            "name": "Body",
            "in": "body",
            "schema": {
              "type": "object",
              "required": [
                "name",
                "template_id"
              ],
              "properties": {
                "agent_id": {
                  "description": "id of the agent",
                  "type": "integer",
                  "format": "uint64",
                  "maximum": 1000000,
                  "minimum": 1,
                  "x-go-name": "AgentID",
                  "example": 3
                },
                "agent_user_ids": {
                  "description": "agent user ids for installable agent execution users",
                  "type": "array",
                  "maxItems": 2,
                  "items": {
                    "type": "integer",
                    "format": "uint64"
                  },
                  "x-go-name": "AgentUserIDs",
                  "example": [
                    1,
                    2
                  ]
                },
                "auto_resume": {
                  "description": "auto resume feature of the simulation, if set auto resume will be enabled for simulation",
                  "type": "boolean",
                  "x-go-name": "AutoResume"
                },
                "description": {
                  "description": "description of the simulation",
                  "type": "string",
                  "maximum": 1000,
                  "x-go-name": "Description",
                  "example": "This simulation rocks!"
                },
                "force": {
                  "description": "force (option to create identical simulation)\navailable values are true and false",
                  "type": "boolean",
                  "x-go-name": "Force"
                },
                "integrations": {
                  "description": "integration ids",
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint64"
                  },
                  "x-go-name": "Integrations",
                  "example": [
                    1,
                    2,
                    3
                  ]
                },
                "name": {
                  "description": "name of the simulation",
                  "type": "string",
                  "maximum": 500,
                  "minimum": 1,
                  "x-go-name": "Name",
                  "example": "simulation - 1"
                },
                "obfuscation_methods": {
                  "description": "TODO : add max\nobfuscation methods",
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "x-go-name": "ObfuscationMethods",
                  "example": "Base64 Encoding, XOR Encryption"
                },
                "protocols": {
                  "description": "protocols",
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/SimulationProtocol"
                  },
                  "x-go-name": "Protocols"
                },
                "schedule": {
                  "$ref": "#/definitions/ScheduleInput"
                },
                "schedule_now": {
                  "type": "boolean",
                  "x-go-name": "ScheduleNow"
                },
                "template_id": {
                  "description": "id of the scope",
                  "type": "integer",
                  "format": "uint64",
                  "maximum": 10000,
                  "minimum": 1,
                  "x-go-name": "TemplateId",
                  "example": 1
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/SimulationCreateReturnSwagger"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/simulations/{Id}": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Simulation Detail; Simulation Name, Simulation Agent (with status), Enrichment Status, Last Prevention Result,\nLast Detection Result (if Available), Simulation Run List",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Simulations"
        ],
        "summary": "# Simulation Detail",
        "operationId": "simulationParams",
        "parameters": [
          {
            "type": "integer",
            "format": "uint64",
            "description": "Simulation ID (URI parameter)",
            "name": "Id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/SimulationDetailReturnSwagger"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      },
      "put": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Updates the simulation with given information",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Simulations"
        ],
        "summary": "# Update Simulation",
        "operationId": "updateSimulationParams",
        "parameters": [
          {
            "type": "integer",
            "format": "uint64",
            "description": "Simulation ID (URI parameter)",
            "name": "Id",
            "in": "path",
            "required": true
          },
          {
            "name": "Body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "schedule": {
                  "$ref": "#/definitions/ScheduleInput"
                },
                "schedule_now": {
                  "type": "boolean",
                  "x-go-name": "ScheduleNow"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/SimulationUpdateReturnSwagger"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      },
      "delete": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Deletes simulation with given id",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Simulations"
        ],
        "summary": "# Delete Simulation",
        "operationId": "simulationDeleteParams",
        "parameters": [
          {
            "type": "integer",
            "format": "uint64",
            "description": "Simulation ID (URI parameter)",
            "name": "Id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/SimulationDeleteReturnSwagger"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorWithSuccessSwagger"
          }
        }
      }
    },
    "/v1/simulations/{Id}/cancel": {
      "put": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Cancels simulation with given id if it is running",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Simulations"
        ],
        "summary": "# Cancel Simulation",
        "operationId": "simulationCancelParams",
        "parameters": [
          {
            "type": "integer",
            "format": "uint64",
            "description": "Simulation ID (URI parameter)",
            "name": "Id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/SimulationCancelReturnSwagger"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorWithSuccessSwagger"
          }
        }
      }
    },
    "/v1/simulations/{Id}/run/latest": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Includes Prevention and Detection result details\nPrevention Result: Total Threats, Blocked/Not Blocked, Attackers Objective, UnAchieved/Achieved Count\nDetection Result: Logged/Not Logged, Alerted/Not Alerted Count",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Simulation-Latest-Result"
        ],
        "summary": "# Latest Simulation Run Result",
        "operationId": "latestRunParams",
        "parameters": [
          {
            "type": "integer",
            "format": "uint64",
            "description": "Simulation ID (URI parameter)",
            "name": "Id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/SimulationRunDetailResponse"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/simulations/{Id}/run/latest/frameworks": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Latest Simulation Run Result with Mitre ATT&CK and Unified Kill Chain framework",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Simulation-Latest-Result"
        ],
        "summary": "Latest Simulation Run Result with Mitre ATT&CK and Unified Kill Chain framework",
        "operationId": "latestRunDetailParams",
        "parameters": [
          {
            "type": "integer",
            "format": "uint64",
            "description": "Simulation ID (URI parameter)",
            "name": "Id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/RunDetailResultsReturnSwagger"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/simulations/{Id}/run/latest/threats": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Includes Threat, Attacker's Objective, Action results for Prevention and Threat, Action results for Detection.\nDefault limit: 10, Default offset: 0\nMax limit: 50",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Simulation-Latest-Result"
        ],
        "summary": "# Threats - Objectives - Actions",
        "operationId": "latestRunThreatParams",
        "parameters": [
          {
            "type": "integer",
            "format": "int64",
            "x-go-name": "Limit",
            "name": "limit",
            "in": "query"
          },
          {
            "type": "integer",
            "format": "int64",
            "x-go-name": "Offset",
            "name": "offset",
            "in": "query"
          },
          {
            "type": "integer",
            "format": "uint64",
            "description": "Simulation ID (URI parameter)",
            "name": "Id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/ThreatResultsReturnSwagger"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/simulations/{Id}/run/latest/threats/{ThreatId}/actions": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Includes detailed action result with attack start & end time, log & alert time and attack module based details (payloads, terminal log, file name, sha256, md5, sha1).\nProtocol based results are also available.",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Simulation-Latest-Result"
        ],
        "summary": "# Action Details List",
        "operationId": "latestActionDetailsListParams",
        "parameters": [
          {
            "type": "integer",
            "format": "int64",
            "x-go-name": "Limit",
            "name": "limit",
            "in": "query"
          },
          {
            "type": "integer",
            "format": "int64",
            "x-go-name": "Offset",
            "name": "offset",
            "in": "query"
          },
          {
            "type": "integer",
            "format": "uint64",
            "description": "Simulation ID (URI parameter)",
            "name": "Id",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "uint64",
            "description": "Threat ID (URI parameter)",
            "name": "ThreatId",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/ActionDetailsListReturnSwagger"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/simulations/{Id}/run/latest/threats/{ThreatId}/actions/{ActionId}": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Includes detailed action result with attack start & end time, log & alert time and attack module based details (payloads, terminal log, file name, sha256, md5, sha1).\nProtocol based results are also available.",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Simulation-Latest-Result"
        ],
        "summary": "# Action Details",
        "operationId": "latestActionDetailsParams",
        "parameters": [
          {
            "type": "integer",
            "format": "uint64",
            "description": "Simulation ID (URI parameter)",
            "name": "Id",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "uint64",
            "description": "Threat ID (URI parameter)",
            "name": "ThreatId",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "uint64",
            "description": "Action ID (URI parameter)",
            "name": "ActionId",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "int64",
            "x-go-name": "NodeId",
            "name": "node_id",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/ActionDetailsReturnSwagger"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/simulations/{Id}/run/latest/threats/{ThreatId}/actions/{ActionId}/integrations/{IntegrationId}/alerts": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Includes Action Name, Log Source and Alert Time.\nDefault limit: 100, Default offset: 0\nMax limit: 1000\nSame action can be used multiple times under the scope of threat where these actions are distinguished by node_id\nnode_id parameter can be used optionally. For the case it is not provided, first node is returned.",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Simulation-Latest-Result"
        ],
        "summary": "# Integration based Alert Details for Actions",
        "operationId": "latestActionAlertsParams",
        "parameters": [
          {
            "type": "integer",
            "format": "int64",
            "x-go-name": "Limit",
            "name": "limit",
            "in": "query"
          },
          {
            "type": "integer",
            "format": "int64",
            "x-go-name": "Offset",
            "name": "offset",
            "in": "query"
          },
          {
            "type": "integer",
            "format": "uint64",
            "description": "Simulation ID (URI parameter)",
            "name": "Id",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "uint64",
            "description": "Threat ID (URI parameter)",
            "name": "ThreatId",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "uint64",
            "description": "Action ID (URI parameter)",
            "name": "ActionId",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "uint64",
            "description": "Integration ID (URI parameter)",
            "name": "IntegrationId",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "int64",
            "x-go-name": "NodeId",
            "name": "node_id",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/ActionAlertsReturnSwagger"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/simulations/{Id}/run/latest/threats/{ThreatId}/actions/{ActionId}/integrations/{IntegrationId}/logs": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Includes Action Name, Log Source and Alert Time.\nDefault limit: 100, Default offset: 0\nMax limit: 1000\nSame action can be used multiple times under the scope of threat where these actions are distinguished by node_id\nnode_id parameter can be used optionally. For the case it is not provided, first node is returned.",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Simulation-Latest-Result"
        ],
        "summary": "# Integration based Log Details for Actions",
        "operationId": "latestActionLogsParams",
        "parameters": [
          {
            "type": "integer",
            "format": "int64",
            "x-go-name": "Limit",
            "name": "limit",
            "in": "query"
          },
          {
            "type": "integer",
            "format": "int64",
            "x-go-name": "Offset",
            "name": "offset",
            "in": "query"
          },
          {
            "type": "integer",
            "format": "uint64",
            "description": "Simulation ID (URI parameter)",
            "name": "Id",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "uint64",
            "description": "Threat ID (URI parameter)",
            "name": "ThreatId",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "uint64",
            "description": "Action ID (URI parameter)",
            "name": "ActionId",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "uint64",
            "description": "Integration ID (URI parameter)",
            "name": "IntegrationId",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "int64",
            "x-go-name": "NodeId",
            "name": "node_id",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/ActionLogsReturnSwagger"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/simulations/{Id}/run/{RunId}": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Includes Prevention and Detection result details\nPrevention Result: Total Threats, Blocked/Not Blocked, Attackers Objective, UnAchieved/Achieved Count\nDetection Result: Logged/Not Logged, Alerted/Not Alerted Count",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Simulation-Result"
        ],
        "summary": "# Simulation Run Result",
        "operationId": "simulationRunParams",
        "parameters": [
          {
            "type": "integer",
            "format": "uint64",
            "description": "Simulation ID (URI parameter)",
            "name": "Id",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "uint64",
            "description": "Simulation Run ID (URI parameter)",
            "name": "RunId",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/SimulationRunDetailResponse"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/simulations/{Id}/run/{RunId}/frameworks": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Simulation Run Result with Mitre ATT&CK and Unified Kill Chain framework",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Simulation-Result"
        ],
        "summary": "Simulation Run Result with Mitre ATT&CK and Unified Kill Chain framework",
        "operationId": "runDetailParams",
        "parameters": [
          {
            "type": "integer",
            "format": "uint64",
            "description": "Simulation ID (URI parameter)",
            "name": "Id",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "uint64",
            "description": "Simulation Run ID (URI parameter)",
            "name": "RunId",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/RunDetailResultsReturnSwagger"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/simulations/{Id}/run/{RunId}/rerun-detection": {
      "post": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Triggers detection analysis for a finished simulation run against the SIEM/EDR integrations you\nspecify, enriching the run with detection results. Works in two modes, chosen automatically:\n\nFirst analysis — the run has no detection results yet. Picus analyses it and enriches the run\nwith detection results for the given integrations.\nRe-analysis — the run already has detection results. Picus discards them and analyses the run\nagain against the given integrations.\n\nThe attack simulation itself is never re-executed, so prevention results are untouched — only the\ndetection half is computed. Use this when detection was never run for a completed run, or when an\nintegration was down, unlicensed or misconfigured while the run was first analysed.\n\nRequires the write:simulations scope. Rate limited to 50 requests per minute.\n\nAsynchronous: a 200 response means the analysis has started, not that it finished. Poll\nGET /v1/simulations/{Id}/run/{RunId} to observe the new detection status and scores.\n\nImportant — in re-analysis mode the run's existing detection data is replaced: its detection\nresults, previously generated reports and cached run comparison are deleted before the new\nanalysis is written. Export anything you need to keep before calling. First-analysis mode deletes\nnothing.\n\nintegrations is required and must list at least one integration id; there is no default-to-all.\nGet ids from GET /v1/integrations, and agent liveness from GET /v1/integrations/agents. Every\nlisted integration must be eligible: configured, currently healthy, and reachable through a\nconnected agent whose status is Alive. Any ineligible integration rejects the whole request — an\nanalysis against an unreachable integration yields no usable result, so an eligible subset is\nnever run silently. When update_assessment is true, the parent simulation is also updated so\nfuture runs inherit the given integrations.\n\nErrors:\n\n422 — integrations is missing, null or empty, has more than 64 items, or the path ids are invalid.\n\n400 with no error_code — a requested integration is not eligible; the message names each offending\nintegration and the reason (unknown, not configured, unhealthy, or its connected agent is not\nalive). An integration that is unlicensed, or not on the account, is also rejected here.\n\n400 error_code 1149 — the run cannot be analysed: not finished yet, an analysis is already in\nprogress, it is a quick-threat run, or it has no completed prevention results.\n\n400 error_code 1109 — run not found.\n\n400 error_code 1108 — simulation not found.\n\n400 error_code 1111 — no licensed integration device is available on the account.\n\n423 — another operation holds the account lock; retry after it completes.",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Simulations"
        ],
        "summary": "# Rerun Detection",
        "operationId": "rerunDetectionParams",
        "parameters": [
          {
            "type": "integer",
            "format": "uint64",
            "description": "Simulation ID (URI parameter)",
            "name": "Id",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "uint64",
            "description": "Simulation Run ID (URI parameter)",
            "name": "RunId",
            "in": "path",
            "required": true
          },
          {
            "description": "Detection analysis options. The body is required and integrations must\nlist at least one integration id.",
            "name": "Body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/RerunDetectionBody"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/RerunDetectionReturnSwagger"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/simulations/{Id}/run/{RunId}/threats": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Includes Threat, Attacker's Objective, Action results for Prevention and Threat, Action results for Detection\nDefault limit: 10, Default offset: 0\nMax limit: 50",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Simulation-Result"
        ],
        "summary": "# Threats - Objectives - Actions",
        "operationId": "runThreatParams",
        "parameters": [
          {
            "type": "integer",
            "format": "int64",
            "x-go-name": "Limit",
            "name": "limit",
            "in": "query"
          },
          {
            "type": "integer",
            "format": "int64",
            "x-go-name": "Offset",
            "name": "offset",
            "in": "query"
          },
          {
            "type": "integer",
            "format": "uint64",
            "description": "Simulation ID (URI parameter)",
            "name": "Id",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "uint64",
            "description": "Simulation Run ID (URI parameter)",
            "name": "RunId",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/ThreatResultsReturnSwagger"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/simulations/{Id}/run/{RunId}/threats/{ThreatId}/actions": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Includes detailed action result with attack start & end time, log & alert time and attack module based details (payloads, terminal log, file name, sha256, md5, sha1) for the actions of the given threat.\nProtocol based results are also available.",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Simulation-Result"
        ],
        "summary": "# Action Details List",
        "operationId": "actionDetailsListParams",
        "parameters": [
          {
            "type": "integer",
            "format": "int64",
            "x-go-name": "Limit",
            "name": "limit",
            "in": "query"
          },
          {
            "type": "integer",
            "format": "int64",
            "x-go-name": "Offset",
            "name": "offset",
            "in": "query"
          },
          {
            "type": "integer",
            "format": "uint64",
            "description": "Simulation ID (URI parameter)",
            "name": "Id",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "uint64",
            "description": "Simulation Run ID (URI parameter)",
            "name": "RunId",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "uint64",
            "description": "Threat ID (URI parameter)",
            "name": "ThreatId",
            "in": "path",
            "required": true
          },
          {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint64"
            },
            "x-go-name": "ActionIDs",
            "description": "List Action Details With Action ID List. (Max 100 ids)",
            "name": "action_ids",
            "in": "query"
          },
          {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint64"
            },
            "x-go-name": "ActionDisplayIDs",
            "description": "List Action Details With Action Display ID List. (Max 100 display ids)",
            "name": "action_display_ids",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/ActionDetailsListReturnSwagger"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/simulations/{Id}/run/{RunId}/threats/{ThreatId}/actions/{ActionId}": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Includes detailed action result with attack start & end time, log & alert time and attack module based details (payloads, terminal log, file name, sha256, md5, sha1).\nProtocol based results are also available.",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Simulation-Result"
        ],
        "summary": "# Action Details",
        "operationId": "actionDetailsParams",
        "parameters": [
          {
            "type": "integer",
            "format": "uint64",
            "description": "Simulation Run ID (URI parameter)",
            "name": "RunId",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "uint64",
            "description": "Action ID (URI parameter)",
            "name": "ActionId",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "uint64",
            "description": "Simulation ID (URI parameter)",
            "name": "Id",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "uint64",
            "description": "Threat ID (URI parameter)",
            "name": "ThreatId",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "int64",
            "x-go-name": "NodeId",
            "name": "node_id",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/ActionDetailsReturnSwagger"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/simulations/{Id}/run/{RunId}/threats/{ThreatId}/actions/{ActionId}/integrations/{IntegrationId}/alerts": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Includes Action Name, Log Source and Alert Time.\nDefault limit: 100, Default offset: 0\nMax limit: 1000\nSame action can be used multiple times under the scope of threat where these actions are distinguished by node_id\nnode_id parameter can be used optionally. For the case it is not provided, first node is returned.",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Simulation-Result"
        ],
        "summary": "# Integration based Alert Details for Actions",
        "operationId": "actionAlertsParams",
        "parameters": [
          {
            "type": "integer",
            "format": "int64",
            "x-go-name": "Limit",
            "name": "limit",
            "in": "query"
          },
          {
            "type": "integer",
            "format": "int64",
            "x-go-name": "Offset",
            "name": "offset",
            "in": "query"
          },
          {
            "type": "integer",
            "format": "uint64",
            "description": "Simulation Run ID (URI parameter)",
            "name": "RunId",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "uint64",
            "description": "Simulation ID (URI parameter)",
            "name": "Id",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "uint64",
            "description": "Threat ID (URI parameter)",
            "name": "ThreatId",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "uint64",
            "description": "Action ID (URI parameter)",
            "name": "ActionId",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "uint64",
            "description": "Integration ID (URI parameter)",
            "name": "IntegrationId",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "int64",
            "x-go-name": "NodeId",
            "name": "node_id",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/ActionAlertsReturnSwagger"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/simulations/{Id}/run/{RunId}/threats/{ThreatId}/actions/{ActionId}/integrations/{IntegrationId}/logs": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Includes Action Name, Log Source and Log Time.\nDefault limit: 100, Default offset: 0\nMax limit: 1000\nSame action can be used multiple times under the scope of threat where these actions are distinguished by node_id\nnode_id parameter can be used optionally. For the case it is not provided, first node is returned.",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Simulation-Result"
        ],
        "summary": "# Integration based Log Details for Actions",
        "operationId": "actionLogsParams",
        "parameters": [
          {
            "type": "integer",
            "format": "int64",
            "x-go-name": "Limit",
            "name": "limit",
            "in": "query"
          },
          {
            "type": "integer",
            "format": "int64",
            "x-go-name": "Offset",
            "name": "offset",
            "in": "query"
          },
          {
            "type": "integer",
            "format": "uint64",
            "description": "Simulation Run ID (URI parameter)",
            "name": "RunId",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "uint64",
            "description": "Simulation ID (URI parameter)",
            "name": "Id",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "uint64",
            "description": "Threat ID (URI parameter)",
            "name": "ThreatId",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "uint64",
            "description": "Action ID (URI parameter)",
            "name": "ActionId",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "uint64",
            "description": "Integration ID (URI parameter)",
            "name": "IntegrationId",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "int64",
            "x-go-name": "NodeId",
            "name": "node_id",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/ActionLogsReturnSwagger"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/simulations/{Id}/simulate-now": {
      "post": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "ReRuns simulation with given id",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Simulations"
        ],
        "summary": "# Simulate Now",
        "operationId": "simulateNowParams",
        "parameters": [
          {
            "type": "integer",
            "format": "uint64",
            "description": "Simulation ID (URI parameter)",
            "name": "Id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/SimulateNowReturnSwagger"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/simulations/{SimulationId}/run/{RunId}/threats/{ThreatId}/peers/{PeerId}/integrations/{IntegrationId}/raw-logs": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Retrieves raw log file download links for a specific threat, peer, and integration combination.\nReturns an array of URLs pointing to raw log files that can be downloaded.",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Simulation-Result"
        ],
        "summary": "# Raw Log File Links",
        "operationId": "rawLogsParams",
        "parameters": [
          {
            "type": "integer",
            "format": "uint64",
            "description": "Simulation ID (URI parameter)",
            "name": "SimulationId",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "uint64",
            "description": "Run ID (URI parameter)",
            "name": "RunId",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "uint64",
            "description": "Threat ID (URI parameter)",
            "name": "ThreatId",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "uint64",
            "description": "Peer ID (URI parameter)",
            "name": "PeerId",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "uint64",
            "description": "Integration ID (URI parameter)",
            "name": "IntegrationId",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "uint64",
            "x-go-name": "ActionId",
            "description": "Action ID (Query parameter)",
            "name": "actionId",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/RawLogsReturnSwagger"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/summary/overall": {
      "post": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "This endpoint is used to get the overall summary of the account.",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Summary"
        ],
        "summary": "# Summary Overall",
        "operationId": "summaryOverallParams",
        "parameters": [
          {
            "name": "Body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "periodType": {
                  "description": "period type",
                  "type": "string",
                  "x-go-name": "PeriodType",
                  "example": "WEEK | MONTH | QUARTER"
                },
                "simulationIds": {
                  "description": "simulation ids",
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "int64"
                  },
                  "x-go-name": "SimulationIds",
                  "example": [
                    1,
                    2,
                    3
                  ]
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/SummaryResponse"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/templates": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Templates; Template Name, Description, Id, Threat Count, Content Type, Category Name, Subcategory Name",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Templates"
        ],
        "summary": "# Template List",
        "operationId": "templateListParams",
        "parameters": [
          {
            "type": "integer",
            "format": "int64",
            "x-go-name": "Limit",
            "name": "limit",
            "in": "query"
          },
          {
            "type": "integer",
            "format": "int64",
            "x-go-name": "Offset",
            "name": "offset",
            "in": "query"
          },
          {
            "type": "string",
            "x-go-name": "CategoryName",
            "description": "Filter by Predefined Category Names or My Templates",
            "name": "category_name",
            "in": "query"
          },
          {
            "type": "string",
            "x-go-name": "ContentType",
            "description": "Filter by content type Static or Dynamic",
            "name": "content_type",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/TemplatesReturnSwagger"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      },
      "post": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Creates the dynamic/static templates with given threats or rule content",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Templates"
        ],
        "summary": "# Create Template",
        "operationId": "createTemplateParams",
        "parameters": [
          {
            "name": "Body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "content": {
                  "$ref": "#/definitions/TemplateThreatParams"
                },
                "description": {
                  "description": "description of the template",
                  "type": "string",
                  "maximum": 1000,
                  "x-go-name": "Description",
                  "example": "This template rocks!"
                },
                "name": {
                  "description": "Template Name (Example Template)",
                  "type": "string",
                  "x-go-name": "Name",
                  "example": "Example Template"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/TemplateCreateReturnSwagger"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/templates/{Id}": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Template Detail; Template Name, Description, Id, Content Type, Category Name, Subcategory Name\nApplicable Agent Types, Rules For Dynamic Templates, Threat List",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Templates"
        ],
        "summary": "# Template Detail",
        "operationId": "templateParams",
        "parameters": [
          {
            "type": "integer",
            "format": "uint64",
            "description": "Template ID (URI parameter)",
            "name": "Id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/TemplateDetailReturnSwagger"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/threat-library/action-parameters": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "This endpoint returns all available parameters required to create an action. It provides the complete configuration schema, including supported fields, available option values, and related metadata necessary for action creation.",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Threats"
        ],
        "summary": "# Action Parameters",
        "operationId": "actionParametersParams",
        "parameters": [
          {
            "type": "string",
            "x-go-name": "ModuleName",
            "description": "List Action Parameters with Module Name",
            "name": "module_name",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/ActionParametersResponse"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/threat-library/actions": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Action Details; Action Id, Action Display Id, Action Name, Action Release Date, Action Description, Action Affected Os, Action Affected Products, Action Affected Platforms, Action Category, Attack Module, Mitres, Unified Kill Chains, Module Based Details, Owasp, Reference Links, Keyword Queries",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Threats"
        ],
        "summary": "# Action Details List",
        "operationId": "actionDetailsList",
        "parameters": [
          {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint64"
            },
            "x-go-name": "ActionIDs",
            "description": "List Action Details With Action ID List. (Max 100 ids)",
            "name": "action_ids",
            "in": "query"
          },
          {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint64"
            },
            "x-go-name": "ActionDisplayIDs",
            "description": "List Action Details With Action Display ID List. (Max 100 display ids)",
            "name": "action_display_ids",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/ActionDetailListReturnResponse"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      },
      "post": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Creates custom actions with given arguments",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Threats"
        ],
        "summary": "# CreateAction",
        "operationId": "createActionParams",
        "parameters": [
          {
            "name": "Body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "action_result": {
                  "type": "string",
                  "x-go-name": "ActionResult",
                  "example": "unblocked"
                },
                "affected_os": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "x-go-name": "AffectedOs",
                  "example": [
                    "Windows"
                  ]
                },
                "affected_platform_ids": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "int64"
                  },
                  "x-go-name": "AffectedPlatformIds",
                  "example": [
                    1
                  ]
                },
                "attack_module": {
                  "type": "string",
                  "x-go-name": "AttackModule",
                  "example": "Endpoint Scenario"
                },
                "category": {
                  "type": "string",
                  "x-go-name": "Category",
                  "example": "Attack Scenario"
                },
                "description": {
                  "type": "string",
                  "x-go-name": "Description",
                  "example": "Stops the Defender service using sc.exe"
                },
                "is_privileged": {
                  "type": "boolean",
                  "x-go-name": "IsPrivileged",
                  "example": false
                },
                "is_sensitive_content": {
                  "type": "boolean",
                  "x-go-name": "IsSensitiveContent",
                  "example": false
                },
                "keyword": {
                  "type": "string",
                  "x-go-name": "Keyword",
                  "example": "\"((\\\"process_name\\\" AND \\\"argument\\\") OR (\\\"log_source\\\")) AND NOT ((\\\"PICUS_REWIND\\\") OR (\\\"File created:\\\" AND (\\\"Scenarios\\\" OR \\\"Simulation\\\")))\""
                },
                "name": {
                  "type": "string",
                  "x-go-name": "Name",
                  "example": "Stop Windows Defender service"
                },
                "play_processes": {
                  "description": "in: body",
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/ProcessActionParams"
                  },
                  "x-go-name": "PlayProcesses"
                },
                "process_result": {
                  "type": "string",
                  "x-go-name": "ProcessResult",
                  "example": "P1"
                },
                "remote_file_ids": {
                  "description": "Remote file ids (from the file upload endpoint) to attach to the action",
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint64"
                  },
                  "x-go-name": "RemoteFileIds",
                  "example": [
                    1000001
                  ]
                },
                "rewind_processes": {
                  "description": "in: body",
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/ProcessActionParams"
                  },
                  "x-go-name": "RewindProcesses"
                },
                "sources": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "x-go-name": "Sources",
                  "example": [
                    "EDR"
                  ]
                },
                "tactic_id": {
                  "type": "integer",
                  "format": "int64",
                  "x-go-name": "TacticId",
                  "example": 6
                },
                "tags": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "x-go-name": "Tags",
                  "example": [
                    "APT 10"
                  ]
                },
                "technique_id": {
                  "type": "integer",
                  "format": "int64",
                  "x-go-name": "TechniqueId",
                  "example": 25
                },
                "title": {
                  "description": "in: body",
                  "type": "string",
                  "x-go-name": "Title"
                },
                "ukc_phase_id": {
                  "type": "integer",
                  "format": "int64",
                  "x-go-name": "UkcPhaseId",
                  "example": 7
                },
                "url": {
                  "description": "in: body",
                  "type": "string",
                  "x-go-name": "Url"
                },
                "url_category": {
                  "type": "string",
                  "x-go-name": "UrlCategory",
                  "example": "Ads"
                },
                "use_case": {
                  "type": "string",
                  "x-go-name": "UseCase",
                  "example": "Sensitive Data Exposure"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/ActionCreateReturnResponse"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/threat-library/actions/custom-keyword": {
      "post": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Generates the detection keyword (query) for a custom action based on the given attack module\nand its related fields (file hashes, file name, play process ids, url or action id).\nThe returned keyword can then be passed to the Create Action endpoint.",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Threats"
        ],
        "summary": "# Custom Action Keyword",
        "operationId": "customActionKeywordParams",
        "parameters": [
          {
            "name": "Body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "action_id": {
                  "description": "Action id (data exfiltration / email modules)",
                  "type": "integer",
                  "format": "uint64",
                  "x-go-name": "ActionID"
                },
                "file_name": {
                  "description": "File name (file-based modules)",
                  "type": "string",
                  "x-go-name": "FileName"
                },
                "md5": {
                  "description": "MD5 hash of the file",
                  "type": "string",
                  "x-go-name": "MD5"
                },
                "module": {
                  "description": "Attack module the action belongs to",
                  "type": "string",
                  "x-go-name": "Module"
                },
                "play_process": {
                  "description": "Play process ids (endpoint modules)",
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint64"
                  },
                  "x-go-name": "PlayProcess"
                },
                "sha1": {
                  "description": "SHA1 hash of the file",
                  "type": "string",
                  "x-go-name": "SHA1"
                },
                "sha256": {
                  "description": "SHA256 hash of the file",
                  "type": "string",
                  "x-go-name": "SHA256"
                },
                "url": {
                  "description": "URL (URL Filtering module)",
                  "type": "string",
                  "x-go-name": "URL"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/CustomActionKeywordReturnResponse"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/threat-library/actions/{ActionId}": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Action Details; Action Id, Action Display Id, Action Name, Action Release Date, Action Description, Action Affected Os, Action Affected Products, Action Affected Platforms, Action Category, Attack Module, Mitres, Unified Kill Chains, Module Based Details, Owasp, Reference Links, Keyword Queries",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Threats"
        ],
        "summary": "# Action Details",
        "operationId": "actionDetails",
        "parameters": [
          {
            "type": "integer",
            "format": "uint64",
            "description": "Action ID (URI parameter)",
            "name": "ActionId",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/ActionDetailReturnResponse"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/threat-library/files": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Files List;\nDefault limit: 100, Default offset: 0\nMax limit: 100",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Threats"
        ],
        "summary": "# Files List",
        "operationId": "filesListParams",
        "parameters": [
          {
            "type": "integer",
            "format": "int64",
            "x-go-name": "Limit",
            "name": "limit",
            "in": "query"
          },
          {
            "type": "integer",
            "format": "int64",
            "x-go-name": "Offset",
            "name": "offset",
            "in": "query"
          },
          {
            "type": "string",
            "x-go-name": "Type",
            "description": "File Type can be local or remote",
            "name": "type",
            "in": "query"
          },
          {
            "type": "string",
            "x-go-name": "NameLike",
            "description": "name like can be someFileName",
            "name": "nameLike",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/FileListReturnResponse"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      },
      "post": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Uploads a file that can later be referenced when creating custom actions or processes.\nThe file must be sent as multipart/form-data under the \"file\" field.",
        "consumes": [
          "multipart/form-data"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Threats"
        ],
        "summary": "# Upload File",
        "operationId": "fileUploadParams",
        "parameters": [
          {
            "type": "file",
            "x-go-name": "File",
            "description": "The file to upload, sent as multipart/form-data under the \"file\" field",
            "name": "file",
            "in": "formData"
          },
          {
            "type": "string",
            "x-go-name": "FileType",
            "description": "File type (e.g. exe, dll, log). If empty it is derived from the file name.",
            "name": "file_type",
            "in": "formData"
          },
          {
            "type": "string",
            "x-go-name": "Type",
            "description": "Whether the file is stored locally or referenced remotely: local or remote",
            "name": "type",
            "in": "formData"
          },
          {
            "type": "string",
            "x-go-name": "DownloadPath",
            "description": "Download path, used when the file is referenced remotely",
            "name": "download_path",
            "in": "formData"
          },
          {
            "type": "boolean",
            "x-go-name": "IsExecutable",
            "description": "Whether the uploaded file is executable",
            "name": "is_executable",
            "in": "formData"
          },
          {
            "type": "boolean",
            "x-go-name": "SkipZipExtract",
            "description": "Whether to skip extracting the uploaded zip archive",
            "name": "skip_zip_extract",
            "in": "formData"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/FileUploadReturnResponse"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/threat-library/processes": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Processes;\nDefault limit: 100, Default offset: 0\nMax limit: 100",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Threats"
        ],
        "summary": "# Process List",
        "operationId": "processListParams",
        "parameters": [
          {
            "type": "integer",
            "format": "int64",
            "x-go-name": "Limit",
            "name": "limit",
            "in": "query"
          },
          {
            "type": "integer",
            "format": "int64",
            "x-go-name": "Offset",
            "name": "offset",
            "in": "query"
          },
          {
            "type": "string",
            "x-go-name": "ProcessType",
            "description": "List Process With Process Type",
            "name": "process_type",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/ProcessListReturnResponse"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      },
      "post": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Creates custom processes with given arguments",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Threats"
        ],
        "summary": "# Create Process",
        "operationId": "createProcessParams",
        "parameters": [
          {
            "name": "Body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/CreateProcessListInput"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/ProcessCreateReturnResponse"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/threat-library/tags": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "List tags for threats",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Threats"
        ],
        "summary": "# List Tags",
        "operationId": "Tags",
        "responses": {
          "200": {
            "$ref": "#/responses/TagsListReturnResponse"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/threat-library/threat-actors": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "List threat actors",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Threats"
        ],
        "summary": "# List Threat Actors",
        "operationId": "Threat-Actors",
        "responses": {
          "200": {
            "$ref": "#/responses/ThreatActorListReturnResponse"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/threat-library/threats": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Threat List; Threat ID, Threat Display ID, Threat Name,  Release Date, Severity, Tags, Affected Operating Systems, Is Predefined, Attack Categories, Attack Module Ids, Unified Kill Chain Phases, Mitres",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Threats"
        ],
        "summary": "# Threat List",
        "operationId": "threatListParams",
        "parameters": [
          {
            "type": "integer",
            "format": "int64",
            "x-go-name": "Limit",
            "name": "limit",
            "in": "query"
          },
          {
            "type": "integer",
            "format": "int64",
            "x-go-name": "Offset",
            "name": "offset",
            "in": "query"
          },
          {
            "type": "array",
            "items": {
              "type": "string"
            },
            "x-go-name": "Severities",
            "description": "Filter with Severity (one or more severity): Low | Medium | High",
            "name": "severities",
            "in": "query"
          },
          {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "x-go-name": "AttackCategoryIds",
            "description": "Filter with one or more Attack Category IDs.\n\nAvailable attack categories, as `id: name (attack module)`:\n\n1: Malicious Code (Network Infiltration)\n2: Attack Scenario (Windows Endpoint Scenario)\n3: Vulnerability Exploitation (Network Infiltration)\n4: Web Application (Web Application)\n5: Malicious Code (E-mail Infiltration)\n6: Vulnerability Exploitation (E-mail Infiltration)\n7: Data Exfiltration (Data Exfiltration)\n37: Attack Scenario (Linux Endpoint Scenario)\n38: Attack Scenario (macOS Endpoint Scenario)\n39: Lateral Movement Techniques (Windows Endpoint Scenario)\n41: URL Filtering (URL Filtering)\n42: Attack Scenario (Kubernetes Endpoint Scenario)\n137: Azure ARM (Azure Cloud Emulation)\n138: Azure Entra ID (Azure Cloud Emulation)\n139: Azure m365 (Azure Cloud Emulation)\n140: AWS (AWS Cloud Emulation)\n141: GCP (GCP Cloud Emulation)",
            "name": "attack_category_ids",
            "in": "query"
          },
          {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "x-go-name": "AttackModuleIds",
            "description": "Filter with one or more Attack Module IDs.\n\nAvailable attack modules, as `id: name`:\n\n1: Network Infiltration\n2: Windows Endpoint Scenario\n3: Web Application\n4: E-mail Infiltration\n5: Data Exfiltration\n6: Linux Endpoint Scenario\n7: macOS Endpoint Scenario\n9: URL Filtering\n10: Kubernetes Endpoint Scenario\n103: Azure Cloud Emulation\n104: AWS Cloud Emulation\n105: GCP Cloud Emulation",
            "name": "attack_module_ids",
            "in": "query"
          },
          {
            "type": "integer",
            "format": "int64",
            "x-go-name": "ReleaseDateGte",
            "description": "Filter with Release Date Greater Than or Equals.",
            "name": "release_date_gte",
            "in": "query"
          },
          {
            "type": "integer",
            "format": "int64",
            "x-go-name": "ReleaseDateLte",
            "description": "Filter with Release Date Less Than or Equals.",
            "name": "release_date_lte",
            "in": "query"
          },
          {
            "type": "boolean",
            "x-go-name": "IsPredefined",
            "description": "Filter with whether threat is predefined.",
            "name": "is_predefined",
            "in": "query"
          },
          {
            "type": "array",
            "items": {
              "type": "string"
            },
            "x-go-name": "AffectedProducts",
            "description": "Filter with Affected Products.",
            "name": "affected_products",
            "in": "query"
          },
          {
            "type": "array",
            "items": {
              "type": "string"
            },
            "x-go-name": "AffectedOS",
            "description": "Filter with Affected Operating Systems. Windows | Linux | macOS",
            "name": "affected_os",
            "in": "query"
          },
          {
            "type": "array",
            "items": {
              "type": "string"
            },
            "x-go-name": "UnifiedKillChains",
            "description": "Filter with Unified Kill Chain Phases.",
            "name": "unified_kill_chains",
            "in": "query"
          },
          {
            "type": "array",
            "items": {
              "type": "string"
            },
            "x-go-name": "ThreatActors",
            "description": "Threat Actors Filter",
            "name": "threat_actors",
            "in": "query"
          },
          {
            "type": "array",
            "items": {
              "type": "string"
            },
            "x-go-name": "MitreAttack",
            "description": "Mitre Tactics Filter",
            "name": "mitre_attack",
            "in": "query"
          },
          {
            "type": "array",
            "items": {
              "type": "string"
            },
            "x-go-name": "AttackerObjectives",
            "description": "Attacker Objectives Filter",
            "name": "attacker_objectives",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/ThreatsReturnResponse"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      },
      "post": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Creates custom threats with given arguments",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Threats"
        ],
        "summary": "# Create Threat",
        "operationId": "createThreatParams",
        "parameters": [
          {
            "name": "Body",
            "in": "body",
            "schema": {
              "type": "object",
              "required": [
                "name",
                "objectives",
                "result_condition"
              ],
              "properties": {
                "affected_os": {
                  "description": "Affected OS\n[Windows]",
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "x-go-name": "AffectedOS",
                  "example": [
                    "Windows"
                  ]
                },
                "description": {
                  "description": "Description",
                  "type": "string",
                  "x-go-name": "Description",
                  "example": "Simulates disabling the built-in Windows Defender service."
                },
                "from_campaign": {
                  "description": "from threat id",
                  "type": "integer",
                  "format": "uint64",
                  "x-go-name": "FromCampaign",
                  "example": 0
                },
                "name": {
                  "description": "Name",
                  "type": "string",
                  "x-go-name": "Name",
                  "example": "Disable Windows Defender"
                },
                "objectives": {
                  "description": "Objectives",
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/CustomCampaignObjectiveParams"
                  },
                  "x-go-name": "Objectives",
                  "example": [
                    {
                      "action_ids": [
                        1000123
                      ],
                      "name": "A1",
                      "result_condition": "unblocked"
                    }
                  ]
                },
                "result_condition": {
                  "description": "Result condition\ntype: string",
                  "type": "string",
                  "x-go-name": "ResultCondition",
                  "example": "A1"
                },
                "severity": {
                  "description": "Threat severity level\noptions: `High`, `Medium` and `Low`",
                  "type": "string",
                  "x-go-name": "Severity",
                  "example": "High"
                },
                "tags": {
                  "description": "Tags",
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "x-go-name": "Tags",
                  "example": [
                    "APT 10",
                    "Evasion"
                  ]
                },
                "threat_actor_id": {
                  "$ref": "#/definitions/NullInt64"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/ThreatCreateReturnResponse"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/threat-library/threats/import": {
      "post": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Imports a threat pack from a YAML file or an encrypted zip archive containing\na YAML definition and optional payload files. Returns the created threat details.\nFor detailed information on how to construct the threat file, please refer to the guide\nat https://support.picussecurity.com/hc/en-us/articles/36765648951837.",
        "consumes": [
          "multipart/form-data"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Threats"
        ],
        "summary": "# Import Threat Pack",
        "operationId": "importThreatParams",
        "parameters": [
          {
            "type": "file",
            "x-go-name": "File",
            "description": "The threat pack file to import (.yaml, .yml, or encrypted .zip)",
            "name": "file",
            "in": "formData"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/ImportThreatPackReturnResponse"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/threat-library/threats/{ThreatId}": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Threat Details; Threat ID, Threat Display ID, Threat Name,  Release Date, Severity, Tags, Affected Operating Systems, Is Predefined, Attack Categories, Attack Module Ids, Unified Kill Chain Phases, Mitres, Threat Description, Affected Products, Action Category Id, Applicable Agent Types, Objective Flows, Threat Actors",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Threats"
        ],
        "summary": "# Threat Details",
        "operationId": "threatDetails",
        "parameters": [
          {
            "type": "integer",
            "format": "uint64",
            "description": "Threat ID (URI parameter)",
            "name": "ThreatId",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/ThreatDetailReturnResponse"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      },
      "put": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Updates custom threats with given arguments",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Threats"
        ],
        "summary": "# Update Threat",
        "operationId": "updateThreatParams",
        "parameters": [
          {
            "type": "integer",
            "format": "uint64",
            "description": "Threat ID (URI parameter)",
            "name": "ThreatId",
            "in": "path",
            "required": true
          },
          {
            "name": "Body",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "affected_os": {
                  "description": "Affected OS\n[Windows]",
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "x-go-name": "AffectedOS",
                  "example": [
                    "Windows"
                  ]
                },
                "description": {
                  "description": "Description",
                  "type": "string",
                  "x-go-name": "Description",
                  "example": "Updated simulation for disabling Windows Defender service."
                },
                "from_campaign": {
                  "description": "from threat id",
                  "type": "integer",
                  "format": "uint64",
                  "x-go-name": "FromCampaign",
                  "example": 0
                },
                "name": {
                  "description": "Name",
                  "type": "string",
                  "x-go-name": "Name",
                  "example": "Updated Windows Defender Disable"
                },
                "objectives": {
                  "description": "Objectives",
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/CustomCampaignObjectiveParams"
                  },
                  "x-go-name": "Objectives",
                  "example": [
                    {
                      "action_ids": [
                        1000123
                      ],
                      "name": "A1",
                      "result_condition": "unblocked"
                    }
                  ]
                },
                "result_condition": {
                  "description": "Result condition\ntype: string",
                  "type": "string",
                  "x-go-name": "ResultCondition",
                  "example": "A1"
                },
                "severity": {
                  "description": "Threat severity level\noptions: `High`, `Medium` and `Low`",
                  "type": "string",
                  "x-go-name": "Severity",
                  "example": "High"
                },
                "tags": {
                  "description": "Tags",
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "x-go-name": "Tags",
                  "example": [
                    "APT 10",
                    "Evasion",
                    "Updated"
                  ]
                },
                "threat_actor_id": {
                  "$ref": "#/definitions/NullInt64"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/ThreatUpdateReturnResponse"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      },
      "delete": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Deletes custom threats with given threat ID",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Threats"
        ],
        "summary": "# Delete Threat",
        "operationId": "deleteThreatParams",
        "parameters": [
          {
            "type": "integer",
            "format": "uint64",
            "description": "Threat ID (URI parameter)",
            "name": "ThreatId",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/ThreatDeleteReturnResponse"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/threat-library/threats/{ThreatId}/export": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Exports a custom threat as an encrypted zip file containing the threat definition\nand any associated files. The response is a binary file download.",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/octet-stream"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Threats"
        ],
        "summary": "# Export Threat Pack",
        "operationId": "exportThreatParams",
        "parameters": [
          {
            "type": "integer",
            "format": "uint64",
            "description": "Threat ID (URI parameter)",
            "name": "ThreatId",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/fileResponse"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/users": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "User; Email, User ID, Assigned Role, Role ID, Name, Surname, IsActive Status.",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Users"
        ],
        "summary": "# Get Users",
        "operationId": "usersFilterParams",
        "parameters": [
          {
            "type": "integer",
            "format": "int64",
            "x-go-name": "Limit",
            "name": "limit",
            "in": "query"
          },
          {
            "type": "integer",
            "format": "int64",
            "x-go-name": "Offset",
            "name": "offset",
            "in": "query"
          },
          {
            "type": "string",
            "x-go-name": "Role",
            "description": "Role",
            "name": "role",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/GetUsersInputResponse"
          },
          "401": {
            "$ref": "#/responses/unauthorizedErrorSwagger"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/users/invite": {
      "post": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Invite User; Email, Role ID, Login Type",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Users"
        ],
        "summary": "# Invite User",
        "operationId": "InviteUserParams",
        "parameters": [
          {
            "name": "Body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/InviteUserRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/InviteUserReturnSwagger"
          },
          "401": {
            "$ref": "#/responses/unauthorizedErrorSwagger"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/users/roles": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Roles; Role ID, Role Name",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Users"
        ],
        "summary": "# Get Roles",
        "operationId": "RolesFilterParams",
        "parameters": [
          {
            "type": "integer",
            "format": "int64",
            "x-go-name": "Limit",
            "name": "limit",
            "in": "query"
          },
          {
            "type": "integer",
            "format": "int64",
            "x-go-name": "Offset",
            "name": "offset",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/GetRolesReturnSwagger"
          },
          "401": {
            "$ref": "#/responses/unauthorizedErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/users/{userId}": {
      "delete": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Delete User; User ID, Success Status",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Users"
        ],
        "summary": "# Delete User",
        "operationId": "deleteUserFilterParams",
        "parameters": [
          {
            "type": "integer",
            "format": "uint64",
            "example": "12345",
            "x-go-name": "UserId",
            "description": "User ID to delete",
            "name": "userId",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/DeleteUserReturnSwagger"
          },
          "401": {
            "$ref": "#/responses/unauthorizedErrorSwagger"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v1/users/{userId}/role": {
      "put": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Assign Role; User ID, Role ID",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Users"
        ],
        "summary": "# Assign Role",
        "operationId": "assignRoleParams",
        "parameters": [
          {
            "type": "integer",
            "format": "uint64",
            "example": "12345",
            "x-go-name": "UserId",
            "description": "User ID whose role will be updated",
            "name": "userId",
            "in": "path",
            "required": true
          },
          {
            "name": "Body",
            "in": "body",
            "schema": {
              "type": "object",
              "required": [
                "role_id"
              ],
              "properties": {
                "role_id": {
                  "description": "Role ID to assign to the user",
                  "type": "integer",
                  "format": "uint64",
                  "x-go-name": "RoleID",
                  "example": 2
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/AssignRoleReturnSwagger"
          },
          "401": {
            "$ref": "#/responses/unauthorizedErrorSwagger"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v2/mitigation/devices": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Returns a list of mitigation devices.",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Mitigation"
        ],
        "summary": "# Device List",
        "operationId": "deviceListParamsV2",
        "responses": {
          "200": {
            "$ref": "#/responses/DevicesListV2Swagger"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v2/mitigation/devices/{DeviceId}": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Returns statistics for a specific mitigation device including Blocked Count, Not Blocked Count,\nTotal Count, and Score.\n\nThis endpoint works together with GET /v2/mitigation/devices to replace the deprecated\nV1 endpoint. First retrieve the device list, then use this endpoint to get stats for\neach device as needed.\n\nExample workflow:**\n\n1. Call GET /v2/mitigation/devices to get the list of devices\n\n2. Call GET /v2/mitigation/devices/{DeviceId} to get stats for a specific device",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Mitigation"
        ],
        "summary": "# Device Stats",
        "operationId": "deviceStatsByIdParams",
        "parameters": [
          {
            "type": "integer",
            "format": "int64",
            "description": "Device ID (URI parameter)",
            "name": "DeviceId",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/DeviceStatsByIdSwagger"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v2/simulations/{Id}/results/reports": {
      "post": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Generates a report for the specified simulation. The report can either provide an overview or focus on a specific run of the simulation, depending on the parameters.",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Simulation-Result-Reports"
        ],
        "summary": "# Generate Simulation Report",
        "operationId": "generateSimulationReportParams",
        "parameters": [
          {
            "type": "integer",
            "format": "uint64",
            "description": "Simulation ID",
            "name": "Id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "x-go-name": "Type",
            "description": "Type of the report. One of: 'run' | 'overview'",
            "name": "type",
            "in": "query",
            "required": true
          },
          {
            "type": "string",
            "x-go-name": "RunId",
            "description": "Id of the run or 'latest'. Required if type is 'run'",
            "name": "runId",
            "in": "query"
          },
          {
            "name": "Body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/GenerateSimulationReportInput"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/GenerateSimulationReportResponse"
          },
          "401": {
            "$ref": "#/responses/unauthorizedErrorSwagger"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v2/simulations/{Id}/results/reports/{ReportId}": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Get details for simulation result report by report id",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Simulation-Result-Reports"
        ],
        "summary": "# Simulation Result Report Detail",
        "operationId": "reportParams",
        "parameters": [
          {
            "type": "integer",
            "format": "uint64",
            "description": "Report ID (URI parameter)",
            "name": "ReportId",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "uint64",
            "description": "Simulation ID (URI parameter)",
            "name": "Id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/SimulationReportDetailResponse"
          },
          "401": {
            "$ref": "#/responses/unauthorizedErrorSwagger"
          },
          "404": {
            "$ref": "#/responses/notFoundErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v2/simulations/{Id}/results/reports/{ReportId}/download": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Downloads a simulation result report file by id.\nThis endpoint is used in on-prem deployments where users cannot access S3 directly.\nThe file is returned as binary content with appropriate Content-Disposition header.",
        "produces": [
          "application/octet-stream"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Simulation-Result-Reports"
        ],
        "summary": "# Download Simulation Result Report",
        "operationId": "reportDownloadParams",
        "parameters": [
          {
            "type": "integer",
            "format": "uint64",
            "description": "Report ID (URI parameter)",
            "name": "ReportId",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "uint64",
            "description": "Simulation ID (URI parameter)",
            "name": "Id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/fileResponse"
          },
          "401": {
            "$ref": "#/responses/unauthorizedErrorSwagger"
          },
          "404": {
            "$ref": "#/responses/notFoundErrorSwagger"
          },
          "500": {
            "$ref": "#/responses/internalServerErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v2/simulations/{Id}/results/reports/{ReportId}/download-url": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Get download url for a simulation result report by id",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Simulation-Result-Reports"
        ],
        "summary": "# Simulation Result Report Download Url",
        "operationId": "reportDownloadUrlParams",
        "parameters": [
          {
            "type": "integer",
            "format": "uint64",
            "description": "Report ID (URI parameter)",
            "name": "ReportId",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "format": "uint64",
            "description": "Simulation ID (URI parameter)",
            "name": "Id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/SimulationReportDownloadUrlResponse"
          },
          "401": {
            "$ref": "#/responses/unauthorizedErrorSwagger"
          },
          "404": {
            "$ref": "#/responses/notFoundErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    },
    "/v2/threat-library/actions": {
      "get": {
        "security": [
          {
            "Access-Token": []
          }
        ],
        "description": "Action List; Action Id, Action Display Id, Updated At, Action Name\nDefault limit: 100, Default offset: 0\nMax limit: 100",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "tags": [
          "Threats"
        ],
        "summary": "# Action List",
        "operationId": "actionListParams",
        "parameters": [
          {
            "type": "integer",
            "format": "int64",
            "x-go-name": "Limit",
            "name": "limit",
            "in": "query"
          },
          {
            "type": "integer",
            "format": "int64",
            "x-go-name": "Offset",
            "name": "offset",
            "in": "query"
          },
          {
            "type": "integer",
            "format": "uint64",
            "x-go-name": "UpdatedAtGte",
            "description": "List Actions With Updated At Greater Than or Equal to UpdatedAtGte.",
            "name": "updated_at_gte",
            "in": "query"
          },
          {
            "type": "integer",
            "format": "uint64",
            "x-go-name": "UpdatedAtLte",
            "description": "List Actions With Updated At Less Than or Equal to UpdatedAtLte.",
            "name": "updated_at_lte",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/ActionListReturnResponse"
          },
          "422": {
            "$ref": "#/responses/validationErrorSwagger"
          },
          "default": {
            "$ref": "#/responses/genericErrorSwagger"
          }
        }
      }
    }
  },
  "definitions": {
    "Action": {
      "type": "object",
      "properties": {
        "action_display_id": {
          "description": "Action Display Id",
          "type": "integer",
          "format": "int64",
          "x-go-name": "DisplayId"
        },
        "action_id": {
          "description": "Action Id",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Id"
        },
        "action_name": {
          "description": "Action Name",
          "type": "string",
          "x-go-name": "Name"
        },
        "detection_analysis": {
          "$ref": "#/definitions/ThreatsDetectionResult"
        },
        "has_detection_analysis": {
          "description": "Has detection analysis",
          "type": "boolean",
          "x-go-name": "HasDetectionAnalysis"
        },
        "node_id": {
          "description": "Action Node Id (Threat can contains same action more than onces)",
          "type": "integer",
          "format": "int64",
          "x-go-name": "NodeId"
        },
        "prevention": {
          "description": "Prevention Result",
          "type": "string",
          "x-go-name": "Prevention"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/simulations_run"
    },
    "ActionAlertDTO": {
      "type": "object",
      "properties": {
        "action": {
          "description": "Alert action",
          "type": "string",
          "x-go-name": "Action"
        },
        "alert_id": {
          "description": "Alert Id",
          "type": "integer",
          "format": "int64",
          "x-go-name": "AlertId"
        },
        "log_type": {
          "description": "Log Type prevention / detection / N/A",
          "type": "string",
          "x-go-name": "LogType"
        },
        "name": {
          "description": "Alert name",
          "type": "string",
          "x-go-name": "Name"
        },
        "source": {
          "description": "Log Source",
          "type": "string",
          "x-go-name": "LogSource"
        },
        "time": {
          "description": "Alerted time",
          "type": "integer",
          "format": "int64",
          "x-go-name": "LogTime"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/simulations_run"
    },
    "ActionDetailProcess": {
      "type": "object",
      "properties": {
        "command": {
          "description": "Command",
          "type": "string",
          "x-go-name": "Content"
        },
        "id": {
          "description": "Process Id",
          "type": "integer",
          "format": "uint64",
          "x-go-name": "ID"
        },
        "log_content": {
          "description": "Log Content",
          "type": "string",
          "x-go-name": "Logs"
        },
        "name": {
          "description": "Process Name",
          "type": "string",
          "x-go-name": "Name"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/simulations_run"
    },
    "ActionDetailReferences": {
      "type": "object",
      "properties": {
        "cve_reference": {
          "$ref": "#/definitions/Reference"
        },
        "cwe_reference": {
          "$ref": "#/definitions/Reference"
        },
        "virus_total_reference": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Reference"
          },
          "x-go-name": "VirusTotalReference"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/simulations_run"
    },
    "ActionDetailsDTO": {
      "type": "object",
      "properties": {
        "action_id": {
          "description": "Action Id",
          "type": "integer",
          "format": "uint64",
          "x-go-name": "ActionId"
        },
        "action_name": {
          "description": "Action Name",
          "type": "string",
          "x-go-name": "ActionName"
        },
        "affected_os": {
          "description": "Affected Os",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "AffectedOS"
        },
        "affected_platforms": {
          "description": "Affected Platforms",
          "type": "array",
          "items": {
            "$ref": "#/definitions/PlatformCommon"
          },
          "x-go-name": "AffectedPlatforms"
        },
        "affected_products": {
          "description": "Affected Products",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "AffectedProducts"
        },
        "attack_module": {
          "description": "Attack Module",
          "type": "string",
          "x-go-name": "AttackModule"
        },
        "attack_module_id": {
          "description": "Attack Module Id",
          "type": "integer",
          "format": "uint64",
          "x-go-name": "AttackModuleId"
        },
        "category": {
          "description": "Category",
          "type": "string",
          "x-go-name": "Category"
        },
        "completed_at": {
          "description": "Completed At",
          "type": "integer",
          "format": "int64",
          "x-go-name": "CompletedAt"
        },
        "description": {
          "description": "Description",
          "type": "string",
          "x-go-name": "Description"
        },
        "detection_analysis": {
          "$ref": "#/definitions/DetectionResult"
        },
        "display_id": {
          "description": "Display Id (Seen in UI)",
          "type": "integer",
          "format": "uint64",
          "x-go-name": "DisplayId"
        },
        "frameworks": {
          "$ref": "#/definitions/Frameworks"
        },
        "has_detection_analysis": {
          "description": "Has detection analysis",
          "type": "boolean",
          "x-go-name": "HasDetectionAnalysis"
        },
        "module_based_results": {
          "$ref": "#/definitions/ModuleBasedResults"
        },
        "node_id": {
          "description": "Node Id (One action can be in the same threat, it can be specified with node id)",
          "type": "integer",
          "format": "uint64",
          "x-go-name": "NodeId"
        },
        "owasp": {
          "description": "Owasp",
          "type": "string",
          "x-go-name": "Owasp"
        },
        "prevention": {
          "description": "Prevention Result",
          "type": "string",
          "x-go-name": "Prevention"
        },
        "protocol_based_result": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ProtocolBasedResults"
          },
          "x-go-name": "ProtocolBasedResult"
        },
        "references": {
          "$ref": "#/definitions/ActionDetailReferences"
        },
        "sources": {
          "description": "Sources",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Sources"
        },
        "started_at": {
          "description": "Started At",
          "type": "integer",
          "format": "int64",
          "x-go-name": "StartedAt"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/simulations_run"
    },
    "ActionLogDTO": {
      "type": "object",
      "properties": {
        "action": {
          "description": "Log Action",
          "type": "string",
          "x-go-name": "Action"
        },
        "log_id": {
          "description": "Log id",
          "type": "integer",
          "format": "int64",
          "x-go-name": "LogId"
        },
        "log_type": {
          "description": "Log Type prevention / detection / N/A",
          "type": "string",
          "x-go-name": "LogType"
        },
        "name": {
          "description": "Log Name",
          "type": "string",
          "x-go-name": "Name"
        },
        "source": {
          "description": "Log Source",
          "type": "string",
          "x-go-name": "LogSource"
        },
        "time": {
          "description": "Logged time",
          "type": "integer",
          "format": "int64",
          "x-go-name": "LogTime"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/simulations_run"
    },
    "ActionParameterBase": {
      "type": "object",
      "properties": {
        "id": {
          "description": "Id",
          "type": "string",
          "x-go-name": "Id",
          "example": "1"
        },
        "name": {
          "description": "Name",
          "type": "string",
          "x-go-name": "Name",
          "example": "Example"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/threats"
    },
    "ActionReturn": {
      "type": "object",
      "properties": {
        "affected_os": {
          "description": "Action AffectedOs",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "AffectedOs",
          "example": [
            "Windows"
          ]
        },
        "affected_platforms": {
          "description": "Action Platforms",
          "type": "array",
          "items": {
            "$ref": "#/definitions/Platform"
          },
          "x-go-name": "Platforms",
          "example": [
            {
              "architecture": "32-bit",
              "name": "Windows 10",
              "os": "Windows"
            }
          ]
        },
        "affected_products": {
          "description": "Action AffectedProducts",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "AffectedProducts",
          "example": [
            "Windows",
            "Linux"
          ]
        },
        "attack_category": {
          "description": "Action Category",
          "type": "string",
          "x-go-name": "Category",
          "example": "category 1"
        },
        "attack_module": {
          "description": "Action Module",
          "type": "string",
          "x-go-name": "Module",
          "example": "module 1"
        },
        "attack_module_id": {
          "description": "Module Id",
          "type": "integer",
          "format": "uint64",
          "x-go-name": "ModuleId",
          "example": 1
        },
        "created_at": {
          "description": "Action Created At",
          "type": "integer",
          "format": "int64",
          "x-go-name": "CreatedAt",
          "example": 1654623047
        },
        "cve": {
          "description": "Action CVE",
          "type": "string",
          "x-go-name": "CVE",
          "example": "cve 1"
        },
        "cwe": {
          "description": "Action CWE",
          "type": "string",
          "x-go-name": "CWE",
          "example": "cwe 1"
        },
        "description": {
          "description": "Action Description",
          "type": "string",
          "x-go-name": "Description",
          "example": "description"
        },
        "display_id": {
          "description": "Action DisplayId",
          "type": "integer",
          "format": "int64",
          "x-go-name": "DisplayId",
          "example": 11
        },
        "frameworks": {
          "$ref": "#/definitions/Frameworks"
        },
        "id": {
          "description": "Action Id",
          "type": "integer",
          "format": "uint64",
          "x-go-name": "Id",
          "example": 1
        },
        "keyword_queries": {
          "description": "Keyword Queries",
          "type": "array",
          "items": {
            "$ref": "#/definitions/KWDictionary"
          },
          "x-go-name": "KeywordQueries",
          "example": [
            {
              "id": 1,
              "query": "example query",
              "type": "Default/Custom"
            }
          ]
        },
        "module_based_details": {
          "$ref": "#/definitions/ModuleBasedDetails"
        },
        "name": {
          "description": "Action Name",
          "type": "string",
          "x-go-name": "Name",
          "example": "action 1"
        },
        "owasp": {
          "description": "Action Owasp",
          "type": "string",
          "x-go-name": "Owasp",
          "example": "owasp 1"
        },
        "references": {
          "$ref": "#/definitions/ActionDetailReferences"
        },
        "release_date": {
          "description": "Action ReleaseDate",
          "type": "integer",
          "format": "int64",
          "x-go-name": "ReleaseDate",
          "example": 1649983505
        },
        "sources": {
          "description": "Sources",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Sources",
          "example": [
            "source1",
            "source2"
          ]
        },
        "tags": {
          "description": "Action Tags",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Tags",
          "example": [
            "Custom"
          ]
        },
        "updated_at": {
          "description": "Action Updated At",
          "type": "integer",
          "format": "int64",
          "x-go-name": "UpdatedAt",
          "example": 1654623047
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/threats"
    },
    "ActionSummary": {
      "type": "object",
      "properties": {
        "display_id": {
          "description": "Action DisplayId",
          "type": "integer",
          "format": "int64",
          "x-go-name": "DisplayId",
          "example": 11
        },
        "id": {
          "description": "Action Id",
          "type": "integer",
          "format": "uint64",
          "x-go-name": "Id",
          "example": 1
        },
        "name": {
          "description": "Action Name",
          "type": "string",
          "x-go-name": "Name",
          "example": "action 1"
        },
        "updated_at": {
          "description": "Action UpdatedAt",
          "type": "integer",
          "format": "int64",
          "x-go-name": "UpdatedAt",
          "example": 1649983505
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/threats"
    },
    "ActionWithCategoryDTO": {
      "type": "object",
      "properties": {
        "category": {
          "type": "string",
          "x-go-name": "Category"
        },
        "display_id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "DisplayId"
        },
        "id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Id"
        },
        "name": {
          "type": "string",
          "x-go-name": "Name"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request/internal_service_dto"
    },
    "ActivityLog": {
      "type": "object",
      "properties": {
        "action": {
          "description": "Action",
          "type": "string",
          "x-go-name": "Action",
          "example": "IntegrationAgentDown"
        },
        "event_activity": {
          "description": "Event Activity in json",
          "type": "object",
          "x-go-name": "EventActivity"
        },
        "event_time": {
          "description": "Event Time",
          "type": "string",
          "format": "date-time",
          "x-go-name": "EventTime",
          "example": "1743141698"
        },
        "event_type": {
          "description": "Event Type",
          "type": "string",
          "x-go-name": "EventType",
          "example": "Agent"
        },
        "ip": {
          "description": "Ip",
          "type": "string",
          "x-go-name": "Ip",
          "example": "123.123.123.123"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request"
    },
    "AffectedAction": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Id"
        },
        "name": {
          "type": "string",
          "x-go-name": "Name"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request/customer_api_dto"
    },
    "AffectedPlatform": {
      "type": "object",
      "properties": {
        "architecture": {
          "description": "Affected Platform Architecture",
          "type": "string",
          "x-go-name": "Architecture",
          "example": "32-bit"
        },
        "name": {
          "description": "Affected Platform Name",
          "type": "string",
          "x-go-name": "Name",
          "example": "Windows Server 2022"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/agents"
    },
    "AgentDetailReturn": {
      "type": "object",
      "properties": {
        "affected_platforms": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/AffectedPlatform"
          },
          "x-go-name": "AffectedPlatforms"
        },
        "attack_modules": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Module"
          },
          "x-go-name": "AttackModules"
        },
        "created_at": {
          "description": "Agent Created at",
          "type": "integer",
          "format": "int64",
          "x-go-name": "CreatedAt",
          "example": 1650284604358
        },
        "custom_attacker": {
          "$ref": "#/definitions/CustomAttacker"
        },
        "devices": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Device"
          },
          "x-go-name": "Devices"
        },
        "execution_users": {
          "description": "Users the agent runs simulations as, omitted when the agent reports none",
          "type": "array",
          "items": {
            "$ref": "#/definitions/ExecutionUser"
          },
          "x-go-name": "ExecutionUsers"
        },
        "id": {
          "description": "Agent Id",
          "type": "integer",
          "format": "uint64",
          "x-go-name": "Id",
          "example": 1
        },
        "ip": {
          "description": "Agent Ip 1.1.1.1",
          "type": "string",
          "x-go-name": "Ip",
          "example": "1.1.1.1"
        },
        "is_update_needed": {
          "description": "Is agent should update to run simulation",
          "type": "boolean",
          "x-go-name": "IsUpdateNeeded"
        },
        "name": {
          "description": "Agent Name",
          "type": "string",
          "x-go-name": "Name",
          "example": "Agent-1"
        },
        "nat_ip": {
          "description": "Agent Nat Ip 0.0.0.0",
          "type": "string",
          "x-go-name": "NatIp",
          "example": "0.0.0.0"
        },
        "platform_architecture": {
          "description": "Platform Architecture like 64-bit",
          "type": "string",
          "x-go-name": "PlatformArchitecture",
          "example": "64-bit"
        },
        "platform_name": {
          "description": "Platform Name like Windows 10",
          "type": "string",
          "x-go-name": "PlatformName",
          "example": "Windows 10"
        },
        "status": {
          "description": "Agent status gives information about your agent alive ( alive | dead | expired )",
          "type": "string",
          "x-go-name": "Status",
          "example": "alive | dead | expired"
        },
        "type": {
          "description": "Agent type (QuickEmail | Browser | Installable Agent | Windows | Linux | MacOS)",
          "type": "string",
          "x-go-name": "Type",
          "example": "QuickEmail | Browser | Installable Agent | Windows | Linux | MacOS"
        },
        "version": {
          "description": "Agent Version like 3.4.0.0",
          "type": "string",
          "x-go-name": "Version",
          "example": "3.4.0.0"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/agents"
    },
    "AgentReturn": {
      "type": "object",
      "properties": {
        "created_at": {
          "description": "Agent Created at",
          "type": "integer",
          "format": "int64",
          "x-go-name": "CreatedAt",
          "example": 1650284604358
        },
        "id": {
          "description": "Agent Id",
          "type": "integer",
          "format": "uint64",
          "x-go-name": "Id",
          "example": 1
        },
        "name": {
          "description": "Agent Name",
          "type": "string",
          "x-go-name": "Name",
          "example": "Agent-1"
        },
        "platform_architecture": {
          "description": "Platform Architecture like 64-bit",
          "type": "string",
          "x-go-name": "PlatformArchitecture",
          "example": "64-bit"
        },
        "platform_name": {
          "description": "Platform Name like Windows 10",
          "type": "string",
          "x-go-name": "PlatformName",
          "example": "Windows 10"
        },
        "status": {
          "description": "Agent status gives information about your agent alive ( alive | dead | expired )",
          "type": "string",
          "x-go-name": "Status",
          "example": "alive | dead | expired"
        },
        "type": {
          "description": "Agent type (QuickEmail | Browser | Installable Agent | Windows | Linux | MacOS)",
          "type": "string",
          "x-go-name": "Type",
          "example": "QuickEmail | Browser | Installable Agent | Windows | Linux | MacOS"
        },
        "version": {
          "description": "Agent Version like 3.4.0.0",
          "type": "string",
          "x-go-name": "Version",
          "example": "3.4.0.0"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/agents"
    },
    "AgentSummary": {
      "type": "object",
      "properties": {
        "id": {
          "description": "Agent Id",
          "type": "integer",
          "format": "uint64",
          "x-go-name": "Id",
          "example": 1
        },
        "name": {
          "description": "Agent Name",
          "type": "string",
          "x-go-name": "Name",
          "example": "Agent-1"
        },
        "status": {
          "description": "Agent status gives information about your agent alive (alive | dead | expired)",
          "type": "string",
          "x-go-name": "Status",
          "example": "alive | dead | expired"
        },
        "type": {
          "description": "Agent type (QuickEmail | Browser | Installable Agent | Windows | Linux | MacOS)",
          "type": "string",
          "x-go-name": "Type",
          "example": "QuickEmail | Browser | Installable Agent | Windows | Linux | MacOS"
        },
        "version": {
          "description": "Agent Version like 3.4.0.0",
          "type": "string",
          "x-go-name": "Version",
          "example": "3.4.0.0"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/simulations"
    },
    "AgentType": {
      "type": "object",
      "properties": {
        "id": {
          "description": "Agent Id",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Id",
          "example": 1
        },
        "name": {
          "description": "Agent Name",
          "type": "string",
          "x-go-name": "Name",
          "example": "Windows"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/templates"
    },
    "Alert": {
      "type": "object",
      "properties": {
        "alert_result": {
          "description": "Alert Result Alerted / Not Alerted",
          "type": "string",
          "x-go-name": "AlertResult"
        },
        "alerted_time": {
          "description": "Alerted time if it is alerted",
          "type": "integer",
          "format": "int64",
          "x-go-name": "AlertedTime"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/simulations_run"
    },
    "AssessmentProtocol": {
      "type": "object",
      "properties": {
        "module_id": {
          "type": "integer",
          "format": "uint64",
          "x-go-name": "ModuleID",
          "example": 1
        },
        "protocols": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Protocols",
          "example": [
            "http",
            "https"
          ]
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request/internal_service_dto"
    },
    "AttackCategory": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Id"
        },
        "name": {
          "type": "string",
          "x-go-name": "Name"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/threats"
    },
    "AttackModule": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Id"
        },
        "name": {
          "type": "string",
          "x-go-name": "Name"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/threats"
    },
    "CampaignDetails": {
      "type": "object",
      "properties": {
        "display_id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "DisplayId"
        },
        "id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Id"
        },
        "name": {
          "type": "string",
          "x-go-name": "Name"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/templates"
    },
    "CapiActionDTO": {
      "type": "object",
      "properties": {
        "created_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "CreatedAt"
        },
        "description": {
          "type": "string",
          "x-go-name": "Description"
        },
        "display_id": {
          "type": "integer",
          "format": "uint64",
          "x-go-name": "DisplayID"
        },
        "id": {
          "type": "integer",
          "format": "uint64",
          "x-go-name": "ID"
        },
        "name": {
          "type": "string",
          "x-go-name": "Name"
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Tags"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request/customer_api_dto"
    },
    "CapiProcessDTO": {
      "type": "object",
      "properties": {
        "argument": {
          "type": "string",
          "x-go-name": "Argument"
        },
        "created_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "CreatedAt"
        },
        "id": {
          "type": "integer",
          "format": "uint64",
          "x-go-name": "ID"
        },
        "path": {
          "type": "string",
          "x-go-name": "Path"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request/customer_api_dto"
    },
    "CapiThreatDTO": {
      "type": "object",
      "properties": {
        "affected_os": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "AffectedOS"
        },
        "created_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "CreatedAt"
        },
        "description": {
          "type": "string",
          "x-go-name": "Description"
        },
        "display_id": {
          "type": "integer",
          "format": "uint64",
          "x-go-name": "DisplayID"
        },
        "id": {
          "type": "integer",
          "format": "uint64",
          "x-go-name": "ID"
        },
        "name": {
          "type": "string",
          "x-go-name": "Name"
        },
        "severity": {
          "type": "string",
          "x-go-name": "Severity"
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Tags"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request/customer_api_dto"
    },
    "ContentSourceItem": {
      "type": "object",
      "properties": {
        "deviceName": {
          "type": "string",
          "x-go-name": "DeviceName"
        },
        "policies": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Policies"
        },
        "query": {
          "type": "string",
          "x-go-name": "Query"
        },
        "severity": {
          "type": "string",
          "x-go-name": "Severity"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request/internal_service_dto"
    },
    "CreateCustomDetectionContentInternalResponse": {
      "type": "object",
      "properties": {
        "created": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/CreatedCustomDetectionContentItem"
          },
          "x-go-name": "Created"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request"
    },
    "CreateProcessListInput": {
      "description": "CreateProcessListInput represents the request parameters for creating a process",
      "type": "object",
      "properties": {
        "argument": {
          "description": "Argument",
          "type": "string",
          "x-go-name": "Argument",
          "example": "stop WinDefend"
        },
        "code": {
          "description": "Expected exit code, part of the process success condition",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Code",
          "example": 0
        },
        "comment": {
          "description": "Comment",
          "type": "string",
          "x-go-name": "Comment",
          "example": "Stops Windows Defender service"
        },
        "delay": {
          "description": "Delay",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Delay",
          "example": 0
        },
        "file_ids": {
          "description": "FileIds",
          "type": "array",
          "items": {
            "type": "integer",
            "format": "int64"
          },
          "x-go-name": "FileIds",
          "example": [
            1000001
          ]
        },
        "is_async": {
          "description": "Is Asynchronous",
          "type": "boolean",
          "x-go-name": "IsAsync",
          "example": false
        },
        "is_blocked": {
          "description": "Is Blocked",
          "type": "boolean",
          "x-go-name": "IsBlocked",
          "example": false
        },
        "output": {
          "description": "Output",
          "type": "string",
          "x-go-name": "Output",
          "example": "\"\""
        },
        "path": {
          "description": "Path",
          "type": "string",
          "x-go-name": "Path",
          "example": "C:\\\\Windows\\\\System32\\\\sc.exe"
        },
        "process_type": {
          "description": "ProcessType can be play or rewind",
          "type": "string",
          "x-go-name": "ProcessType",
          "example": "play"
        },
        "success_cond_exist": {
          "description": "Success Condition Exist",
          "type": "boolean",
          "x-go-name": "SuccessCondExist",
          "example": false
        },
        "timeout": {
          "description": "Timeout",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Timeout",
          "example": 120000
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request"
    },
    "CreatedCustomDetectionContentItem": {
      "type": "object",
      "properties": {
        "content_id": {
          "type": "string",
          "x-go-name": "ContentID"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request"
    },
    "CrowdStrikeIOARuleResponse": {
      "type": "object",
      "properties": {
        "commandLine": {
          "type": "string",
          "x-go-name": "CommandLine"
        },
        "connectionType": {
          "type": "string",
          "x-go-name": "ConnectionType"
        },
        "filePath": {
          "type": "string",
          "x-go-name": "FilePath"
        },
        "fileType": {
          "type": "string",
          "x-go-name": "FileType"
        },
        "grandparentCommandLine": {
          "type": "string",
          "x-go-name": "GrandparentCommandLine"
        },
        "grandparentImageFileName": {
          "type": "string",
          "x-go-name": "GrandparentImageFileName"
        },
        "imageFileName": {
          "type": "string",
          "x-go-name": "ImageFileName"
        },
        "parentCommandLine": {
          "type": "string",
          "x-go-name": "ParentCommandLine"
        },
        "parentImageFileName": {
          "type": "string",
          "x-go-name": "ParentImageFileName"
        },
        "platform": {
          "type": "string",
          "x-go-name": "Platform"
        },
        "remoteIPAddress": {
          "type": "string",
          "x-go-name": "RemoteIPAddress"
        },
        "remoteTCPUDPPort": {
          "type": "string",
          "x-go-name": "RemoteTCPUDPPort"
        },
        "ruleAction": {
          "type": "string",
          "x-go-name": "RuleAction"
        },
        "ruleQuery": {
          "type": "string",
          "x-go-name": "RuleQuery"
        },
        "ruleType": {
          "type": "string",
          "x-go-name": "RuleType"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request/internal_service_dto"
    },
    "CustomActionKeywordOutput": {
      "type": "object",
      "properties": {
        "keyword": {
          "type": "string",
          "x-go-name": "Keyword"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request/customer_api_dto"
    },
    "CustomAttacker": {
      "type": "object",
      "properties": {
        "id": {
          "description": "Custom Attacker Id",
          "type": "integer",
          "format": "uint64",
          "x-go-name": "Id",
          "example": 7
        },
        "ip": {
          "description": "Custom Attacker Ip or host",
          "type": "string",
          "x-go-name": "Ip",
          "example": "10.0.4.21"
        },
        "name": {
          "description": "Custom Attacker Name",
          "type": "string",
          "x-go-name": "Name",
          "example": "DC-Attacker-01"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/agents"
    },
    "CustomCampaignObjectiveParams": {
      "description": "CustomCampaignObjectiveParams",
      "type": "object",
      "required": [
        "name",
        "action_ids",
        "result_condition"
      ],
      "properties": {
        "action_ids": {
          "type": "array",
          "maximum": 100,
          "items": {
            "type": "integer",
            "format": "uint64"
          },
          "x-go-name": "ActionIDs",
          "example": [
            1000123
          ]
        },
        "name": {
          "type": "string",
          "maximum": 100,
          "x-go-name": "Name",
          "example": "A1"
        },
        "result_condition": {
          "type": "string",
          "x-go-name": "ResultCondition",
          "example": "unblocked"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/threats"
    },
    "CustomDetectionContentParams": {
      "type": "object",
      "properties": {
        "action_ids": {
          "type": "array",
          "items": {
            "type": "integer",
            "format": "uint64"
          },
          "x-go-name": "ActionIds"
        },
        "author": {
          "type": "string",
          "x-go-name": "Author"
        },
        "content_name": {
          "type": "string",
          "x-go-name": "ContentName"
        },
        "content_sources": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/CustomDetectionSourceParams"
          },
          "x-go-name": "Sources"
        },
        "description": {
          "type": "string",
          "x-go-name": "Description"
        },
        "false_positives": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "FalsePositives"
        },
        "products": {
          "type": "string",
          "x-go-name": "Products"
        },
        "references": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "References"
        },
        "release_date": {
          "description": "Release date of the detection content, as a Unix timestamp in milliseconds.\nIf omitted, the current server time is used.",
          "type": "integer",
          "format": "int64",
          "x-go-name": "ReleaseDate"
        },
        "service": {
          "type": "string",
          "x-go-name": "Service"
        },
        "status": {
          "type": "string",
          "x-go-name": "Status"
        },
        "sub_techniques": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "SubTechniques"
        },
        "tactics": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Tactics"
        },
        "techniques": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Techniques"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request"
    },
    "CustomDetectionSourceParams": {
      "type": "object",
      "properties": {
        "content_policies": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "ContentPolicies"
        },
        "device_name": {
          "type": "string",
          "x-go-name": "DeviceName"
        },
        "event_id": {
          "type": "array",
          "items": {
            "type": "integer",
            "format": "int64"
          },
          "x-go-name": "EventId"
        },
        "query": {
          "type": "string",
          "x-go-name": "DeviceQuery"
        },
        "severity": {
          "type": "string",
          "x-go-name": "Severity"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request"
    },
    "CustomRuleDTO": {
      "type": "object",
      "properties": {
        "actions": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/IdNameInfoDTO"
          },
          "x-go-name": "Actions"
        },
        "author": {
          "type": "string",
          "x-go-name": "Author"
        },
        "content_id": {
          "type": "string",
          "x-go-name": "ContentId"
        },
        "content_sources": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ContentSourceItem"
          },
          "x-go-name": "ContentSources"
        },
        "name": {
          "type": "string",
          "x-go-name": "Name"
        },
        "severity": {
          "type": "string",
          "x-go-name": "Severity"
        },
        "tactics": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Tactics"
        },
        "techniques": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TechniqueInfoDTO"
          },
          "x-go-name": "Techniques"
        },
        "type": {
          "type": "string",
          "x-go-name": "Type"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request/internal_service_dto"
    },
    "DeleteCustomDetectionContentInternalResponse": {
      "type": "object",
      "properties": {
        "message": {
          "type": "string",
          "x-go-name": "Message"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request"
    },
    "Detection": {
      "type": "object",
      "properties": {
        "integrations": {
          "description": "Integration List",
          "type": "array",
          "items": {
            "$ref": "#/definitions/Enrichment"
          },
          "x-go-name": "Enrichments"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/simulations"
    },
    "DetectionContentLogSourceCustomerApiResponse": {
      "type": "object",
      "properties": {
        "logSources": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "LogSources"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request/customer_api_dto"
    },
    "DetectionContentRuleDetailCrowdStrikeConfiguration": {
      "type": "object",
      "properties": {
        "ioaDetails": {
          "$ref": "#/definitions/CrowdStrikeIOARuleResponse"
        },
        "logScaleQuery": {
          "type": "string",
          "x-go-name": "LogScaleQuery"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request/customer_api_dto"
    },
    "DetectionContentRuleDetailCustomerApiResponse": {
      "type": "object",
      "properties": {
        "actions": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ActionWithCategoryDTO"
          },
          "x-go-name": "Actions"
        },
        "overview": {
          "$ref": "#/definitions/DetectionContentRuleDetailOverviewCustomerApiResponse"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request/customer_api_dto"
    },
    "DetectionContentRuleDetailIntegrationConfigurations": {
      "type": "object",
      "properties": {
        "crowdStrike": {
          "$ref": "#/definitions/DetectionContentRuleDetailCrowdStrikeConfiguration"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request/customer_api_dto"
    },
    "DetectionContentRuleDetailOverviewCustomerApiResponse": {
      "type": "object",
      "properties": {
        "author": {
          "type": "string",
          "x-go-name": "Author"
        },
        "description": {
          "type": "string",
          "x-go-name": "Description"
        },
        "deviceName": {
          "type": "string",
          "x-go-name": "DeviceName"
        },
        "falsePositives": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "FalsePositives"
        },
        "id": {
          "type": "string",
          "x-go-name": "Id"
        },
        "integrationConfigurations": {
          "$ref": "#/definitions/DetectionContentRuleDetailIntegrationConfigurations"
        },
        "logSource": {
          "$ref": "#/definitions/LogSourceDTO"
        },
        "mitre": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TechniqueInfoDTO"
          },
          "x-go-name": "Mitre"
        },
        "name": {
          "type": "string",
          "x-go-name": "Name"
        },
        "query": {
          "type": "string",
          "x-go-name": "Query"
        },
        "releaseDate": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "ReleaseDate"
        },
        "score": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Score"
        },
        "severity": {
          "type": "string",
          "x-go-name": "Severity"
        },
        "type": {
          "type": "string",
          "x-go-name": "Type"
        },
        "updateDate": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "UpdateDate"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request/customer_api_dto"
    },
    "DetectionResult": {
      "type": "object",
      "properties": {
        "alert_result": {
          "description": "Alert result Alerted / Not Alerted",
          "type": "string",
          "x-go-name": "AlertResult"
        },
        "has_alert_analysis": {
          "description": "Has alert analysis",
          "type": "boolean",
          "x-go-name": "HasAlertAnalysis"
        },
        "has_log_analysis": {
          "description": "Has Log analysis",
          "type": "boolean",
          "x-go-name": "HasLogAnalysis"
        },
        "integration_based_results": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/IntegrationBasedResult"
          },
          "x-go-name": "DetectionResults"
        },
        "log_result": {
          "description": "Log result Logged / Not Logged",
          "type": "string",
          "x-go-name": "LogResult"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/simulations_run"
    },
    "DetectionSummary": {
      "type": "object",
      "properties": {
        "alertedThreat": {
          "$ref": "#/definitions/OccurenceRate"
        },
        "loggedThreat": {
          "$ref": "#/definitions/OccurenceRate"
        },
        "notAlertedThreat": {
          "$ref": "#/definitions/OccurenceRate"
        },
        "notLoggedThreat": {
          "$ref": "#/definitions/OccurenceRate"
        },
        "score": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Score"
        },
        "threatCount": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "ThreatCount"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request/customer_api_dto"
    },
    "Device": {
      "type": "object",
      "properties": {
        "id": {
          "description": "Identifier",
          "type": "integer",
          "format": "uint64",
          "x-go-name": "Id"
        },
        "name": {
          "description": "Security Device Name like FortiWeb",
          "type": "string",
          "x-go-name": "Name",
          "example": "FortiWeb"
        },
        "product_platform": {
          "description": "Product Platform like FGWVM",
          "type": "string",
          "x-go-name": "ProductPlatform",
          "example": "FGWVM"
        },
        "product_version": {
          "description": "Product version",
          "type": "string",
          "x-go-name": "ProductVersion",
          "example": "6.3.7"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/agents"
    },
    "EmailConfig": {
      "type": "object",
      "properties": {
        "attachment_enabled": {
          "description": "Are attachments sent in the simulated mails",
          "type": "boolean",
          "x-go-name": "AttachmentEnabled"
        },
        "connection": {
          "$ref": "#/definitions/EmailConnection"
        },
        "dest_mail": {
          "description": "Destination mail address",
          "type": "string",
          "x-go-name": "DestMail",
          "example": "target@corp.local"
        },
        "dest_name": {
          "description": "Destination display name",
          "type": "string",
          "x-go-name": "DestName",
          "example": "Target User"
        },
        "is_o365": {
          "description": "Is Office 365 safe links handling enabled",
          "type": "boolean",
          "x-go-name": "IsO365"
        },
        "timing": {
          "$ref": "#/definitions/EmailTiming"
        },
        "url_enabled": {
          "description": "Are urls sent in the simulated mails",
          "type": "boolean",
          "x-go-name": "UrlEnabled"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/agents"
    },
    "EmailConnection": {
      "type": "object",
      "properties": {
        "auth_method": {
          "description": "OAuth flow used to obtain tokens, empty for basic auth",
          "type": "string",
          "x-go-name": "AuthMethod",
          "example": "browser_login"
        },
        "authentication": {
          "description": "Authentication ( Basic | NTLM ), for MAPI",
          "type": "string",
          "x-go-name": "Authentication"
        },
        "client_method": {
          "description": "Client method ( POP | IMAP | MAPI )",
          "type": "string",
          "x-go-name": "ClientMethod",
          "example": "IMAP"
        },
        "encryption": {
          "description": "Encryption ( NoTLS | StartTLS | UseSSL ), for POP and IMAP",
          "type": "string",
          "x-go-name": "Encryption",
          "example": "UseSSL"
        },
        "host": {
          "description": "Mail server host, for POP and IMAP",
          "type": "string",
          "x-go-name": "Host",
          "example": "imap.corp.local"
        },
        "is_modern_auth": {
          "description": "Is modern authentication used",
          "type": "boolean",
          "x-go-name": "IsModernAuth"
        },
        "mail": {
          "description": "Mailbox address",
          "type": "string",
          "x-go-name": "Mail",
          "example": "picus@corp.local"
        },
        "port": {
          "description": "Mail server port, for POP and IMAP",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Port",
          "example": 993
        },
        "service_url": {
          "description": "Service url, for MAPI",
          "type": "string",
          "x-go-name": "ServiceUrl"
        },
        "timeout": {
          "description": "Connection timeout in seconds",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Timeout",
          "example": 30
        },
        "username": {
          "description": "Mailbox user name, for MAPI",
          "type": "string",
          "x-go-name": "Username"
        },
        "validate_ssl": {
          "description": "Is the service certificate validated, for MAPI",
          "type": "boolean",
          "x-go-name": "ValidateSsl"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/agents"
    },
    "EmailTiming": {
      "type": "object",
      "properties": {
        "attack_interval": {
          "description": "Seconds between attacks, new timing model only",
          "type": "integer",
          "format": "uint64",
          "x-go-name": "AttackInterval",
          "example": 60
        },
        "is_new_timing": {
          "description": "Is the new timing model used",
          "type": "boolean",
          "x-go-name": "IsNewTiming"
        },
        "result_control_delay": {
          "description": "Seconds waited before collecting results, new timing model only",
          "type": "integer",
          "format": "uint64",
          "x-go-name": "ResultControlDelay"
        },
        "result_control_window": {
          "description": "Seconds spent collecting results, new timing model only",
          "type": "integer",
          "format": "uint64",
          "x-go-name": "ResultControlWindow"
        },
        "trip_time_seconds": {
          "description": "Seconds allowed for a mail to arrive, legacy timing model only",
          "type": "integer",
          "format": "int64",
          "x-go-name": "TripTimeSeconds"
        },
        "wait_seconds": {
          "description": "Seconds waited between windows, legacy timing model only",
          "type": "integer",
          "format": "int64",
          "x-go-name": "WaitSeconds"
        },
        "window_size": {
          "description": "Mails sent per window, legacy timing model only",
          "type": "integer",
          "format": "int64",
          "x-go-name": "WindowSize"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/agents"
    },
    "Enrichment": {
      "type": "object",
      "properties": {
        "id": {
          "description": "Integration Id",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Id",
          "example": 1
        },
        "product_name": {
          "description": "Product Name",
          "type": "string",
          "x-go-name": "ProductName",
          "example": "Crowdstrike"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/simulations"
    },
    "ExecutionUser": {
      "type": "object",
      "properties": {
        "id": {
          "description": "Execution User Id",
          "type": "integer",
          "format": "uint64",
          "x-go-name": "Id",
          "example": 1
        },
        "is_default": {
          "description": "Is the default execution user of its user type",
          "type": "boolean",
          "x-go-name": "IsDefault"
        },
        "user_type": {
          "description": "Execution User Type ( privileged | non_privileged )",
          "type": "string",
          "x-go-name": "UserType",
          "example": "privileged"
        },
        "username": {
          "description": "Execution User Name",
          "type": "string",
          "x-go-name": "Username",
          "example": "CORP\\svc-picus-adm"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/agents"
    },
    "ExfiltrationConfig": {
      "type": "object",
      "properties": {
        "graph": {
          "$ref": "#/definitions/ExfiltrationGraphConfig"
        },
        "mapi": {
          "$ref": "#/definitions/ExfiltrationMapiConfig"
        },
        "smtp": {
          "$ref": "#/definitions/ExfiltrationSmtpConfig"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/agents"
    },
    "ExfiltrationGraphConfig": {
      "type": "object",
      "properties": {
        "auth_method": {
          "description": "OAuth flow used to obtain tokens, empty for basic auth",
          "type": "string",
          "x-go-name": "AuthMethod"
        },
        "is_modern_auth": {
          "description": "Is modern authentication used",
          "type": "boolean",
          "x-go-name": "IsModernAuth"
        },
        "timeout": {
          "description": "Connection timeout in seconds",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Timeout"
        },
        "url": {
          "description": "Service url",
          "type": "string",
          "x-go-name": "Url"
        },
        "validate_ssl": {
          "description": "Is the service certificate validated",
          "type": "boolean",
          "x-go-name": "ValidateSsl"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/agents"
    },
    "ExfiltrationMapiConfig": {
      "type": "object",
      "properties": {
        "auth_method": {
          "description": "OAuth flow used to obtain tokens, empty for basic auth",
          "type": "string",
          "x-go-name": "AuthMethod"
        },
        "is_modern_auth": {
          "description": "Is modern authentication used",
          "type": "boolean",
          "x-go-name": "IsModernAuth"
        },
        "timeout": {
          "description": "Connection timeout in seconds",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Timeout"
        },
        "url": {
          "description": "Service url",
          "type": "string",
          "x-go-name": "Url"
        },
        "user": {
          "description": "Mapi user name",
          "type": "string",
          "x-go-name": "User"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/agents"
    },
    "ExfiltrationSmtpConfig": {
      "type": "object",
      "properties": {
        "auth_method": {
          "description": "OAuth flow used to obtain tokens, empty for basic auth",
          "type": "string",
          "x-go-name": "AuthMethod"
        },
        "encryption": {
          "description": "Encryption ( NoTLS | StartTLS | UseSSL )",
          "type": "string",
          "x-go-name": "Encryption",
          "example": "StartTLS"
        },
        "host": {
          "description": "Smtp host",
          "type": "string",
          "x-go-name": "Host",
          "example": "smtp.corp.local"
        },
        "is_modern_auth": {
          "description": "Is modern authentication used",
          "type": "boolean",
          "x-go-name": "IsModernAuth"
        },
        "mail": {
          "description": "Sender mail address",
          "type": "string",
          "x-go-name": "Mail",
          "example": "picus@corp.local"
        },
        "port": {
          "description": "Smtp port",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Port",
          "example": 587
        },
        "timeout": {
          "description": "Connection timeout in seconds",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Timeout"
        },
        "user": {
          "description": "Smtp user name",
          "type": "string",
          "x-go-name": "User"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/agents"
    },
    "File": {
      "type": "object",
      "properties": {
        "MD5": {
          "type": "string"
        },
        "SHA1": {
          "type": "string"
        },
        "SHA256": {
          "type": "string"
        },
        "name": {
          "type": "string",
          "x-go-name": "Name"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/threats"
    },
    "FileApiOutput": {
      "type": "object",
      "properties": {
        "affected_processes": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "arguments": {
                "type": "string",
                "x-go-name": "Arguments"
              },
              "id": {
                "type": "integer",
                "format": "uint64",
                "x-go-name": "ID"
              },
              "name": {
                "type": "string",
                "x-go-name": "Name"
              },
              "path": {
                "type": "string",
                "x-go-name": "Path"
              },
              "process_type": {
                "type": "string",
                "x-go-name": "ProcessType"
              }
            }
          },
          "x-go-name": "AffectedProcesses"
        },
        "created_at": {
          "type": "string",
          "x-go-name": "CreatedAt"
        },
        "download_path": {
          "type": "string",
          "x-go-name": "DownloadPath"
        },
        "id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Id"
        },
        "is_executable": {
          "type": "boolean",
          "x-go-name": "IsExecutable"
        },
        "name": {
          "type": "object",
          "properties": {
            "base_name": {
              "type": "string",
              "x-go-name": "BaseName"
            },
            "extension": {
              "type": "string",
              "x-go-name": "Extension"
            },
            "full_name": {
              "type": "string",
              "x-go-name": "FullName"
            },
            "uuid": {
              "type": "string",
              "x-go-name": "UUID"
            }
          },
          "x-go-name": "Name"
        },
        "skip_zip_extract": {
          "type": "boolean",
          "x-go-name": "SkipZipExtract"
        },
        "type": {
          "type": "string",
          "x-go-name": "Type"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request/customer_api_dto"
    },
    "FileDetailsCommon": {
      "type": "object",
      "properties": {
        "md5": {
          "type": "string",
          "x-go-name": "MD5"
        },
        "name": {
          "type": "string",
          "x-go-name": "Name"
        },
        "sha1": {
          "type": "string",
          "x-go-name": "Sha1"
        },
        "sha256": {
          "type": "string",
          "x-go-name": "Sha256"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/simulations_run"
    },
    "FileUploadOutput": {
      "type": "object",
      "properties": {
        "remote_file_id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "RemoteFileId"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request/customer_api_dto"
    },
    "FlowNode": {
      "type": "object",
      "properties": {
        "display_id": {
          "type": "integer",
          "format": "uint64",
          "x-go-name": "DisplayId"
        },
        "false_items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/FlowNode"
          },
          "x-go-name": "FalseItems"
        },
        "id": {
          "type": "integer",
          "format": "uint64",
          "x-go-name": "ID"
        },
        "name": {
          "type": "string",
          "x-go-name": "Name"
        },
        "node_id": {
          "type": "integer",
          "format": "uint64",
          "x-go-name": "NodeID"
        },
        "true_items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/FlowNode"
          },
          "x-go-name": "TrueItems"
        },
        "type": {
          "type": "string",
          "x-go-name": "Type"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/threats"
    },
    "Frameworks": {
      "type": "object",
      "properties": {
        "mitre": {
          "$ref": "#/definitions/Mitre"
        },
        "ukc": {
          "$ref": "#/definitions/Ukc"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/simulations_run"
    },
    "GenerateSimulationReportInput": {
      "type": "object",
      "properties": {
        "format": {
          "description": "Corresponding report will be generated for each format specified. Available formats: PDF, CSV",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Formats",
          "example": [
            "PDF"
          ]
        },
        "includesSensitiveData": {
          "description": "If false, generated report will display threat information with access links (Only for CSV reports)",
          "type": "boolean",
          "x-go-name": "IncludesSensitiveData"
        },
        "onlyPrevention": {
          "description": "If true, generated report will include only prevention results",
          "type": "boolean",
          "x-go-name": "OnlyPrevention"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request/customer_api_dto"
    },
    "GenericIDNameItemDTO": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "format": "uint64",
          "x-go-name": "ID",
          "example": 1
        },
        "name": {
          "type": "string",
          "x-go-name": "Name",
          "example": "item-name"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request/customer_api_dto"
    },
    "HealthStatusError": {
      "type": "object",
      "properties": {
        "message": {
          "description": "Error Detail from coming integrated product.",
          "type": "string",
          "x-go-name": "ErrorDetail"
        },
        "step": {
          "description": "Error Step like (Connection | Authentication | Log Storage | Peer-Manager Communication | vendor | os | alert | log)",
          "type": "string",
          "x-go-name": "Step",
          "example": "Connection | Authentication | Log Storage | Peer-Manager Communication | vendor | os | alert | log"
        },
        "type": {
          "description": "Error Title like Microsoft Defender for Endpoint Authentication Check Step Error.",
          "type": "string",
          "x-go-name": "ErrorTitle",
          "example": "Microsoft Defender for Endpoint Authentication Check Step Error"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/integrations"
    },
    "HealthStatusSummary": {
      "type": "object",
      "properties": {
        "error": {
          "$ref": "#/definitions/HealthStatusError"
        },
        "healthy": {
          "description": "Integration is healthy or not",
          "type": "boolean",
          "x-go-name": "Healthy",
          "example": false
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/integrations"
    },
    "HostExposurePairSwagger": {
      "type": "object",
      "properties": {
        "exposure_id": {
          "type": "string",
          "x-go-name": "ExposureID",
          "example": "CVE-2022-21903"
        },
        "hostname": {
          "type": "string",
          "x-go-name": "Hostname",
          "example": "asset-001"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/exposures/instances"
    },
    "IdNameInfoDTO": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Id"
        },
        "name": {
          "type": "string",
          "x-go-name": "Name"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request/internal_service_dto"
    },
    "Int64Array": {
      "type": "array",
      "title": "Int64Array represents a one-dimensional array of the PostgreSQL integer types.",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "x-go-package": "github.com/lib/pq"
    },
    "IntegrationAgent": {
      "type": "object",
      "properties": {
        "created_at": {
          "description": "Created At",
          "type": "integer",
          "format": "int64",
          "x-go-name": "CreatedAt"
        },
        "id": {
          "description": "Identifier",
          "type": "integer",
          "format": "uint64",
          "x-go-name": "Id"
        },
        "installed": {
          "description": "Is Integration Agent installed",
          "type": "boolean",
          "x-go-name": "Installed"
        },
        "name": {
          "description": "Integration Agent Name",
          "type": "string",
          "x-go-name": "Name"
        },
        "status": {
          "description": "Integration Agent Status (Dead / Alive)",
          "type": "string",
          "x-go-name": "Status"
        },
        "token_expired": {
          "description": "Is Integration Agent Installation token expired",
          "type": "boolean",
          "x-go-name": "TokenExpired"
        },
        "updated_at": {
          "description": "Updated At",
          "type": "integer",
          "format": "int64",
          "x-go-name": "UpdatedAt"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/integrations"
    },
    "IntegrationBasedResult": {
      "type": "object",
      "properties": {
        "alert": {
          "$ref": "#/definitions/Alert"
        },
        "has_alert_analysis": {
          "description": "Has alert analysis",
          "type": "boolean",
          "x-go-name": "HasAlertAnalysis"
        },
        "has_log_analysis": {
          "description": "Has log analysis",
          "type": "boolean",
          "x-go-name": "HasLogAnalysis"
        },
        "integration_id": {
          "description": "Integration Id",
          "type": "integer",
          "format": "int64",
          "x-go-name": "IntegrationId"
        },
        "log": {
          "$ref": "#/definitions/Logging"
        },
        "product_name": {
          "description": "Product name",
          "type": "string",
          "x-go-name": "ProductName"
        },
        "protocol": {
          "description": "Protocol like http / https",
          "type": "string",
          "x-go-name": "Protocol"
        },
        "status": {
          "description": "Status",
          "type": "string",
          "x-go-name": "Status"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/simulations_run"
    },
    "IntegrationSummary": {
      "type": "object",
      "properties": {
        "connection_name": {
          "description": "Connection name that distinguishes multiple connections of the same product",
          "type": "string",
          "x-go-name": "ConnectionName",
          "example": "TAC-1"
        },
        "created_at": {
          "description": "Integration Created At",
          "type": "integer",
          "format": "int64",
          "x-go-name": "CreatedAt",
          "example": 1645625919624
        },
        "default_integration_id": {
          "description": "Default Integration Id",
          "type": "integer",
          "format": "int64",
          "x-go-name": "DefaultIntegrationId",
          "example": 1
        },
        "description": {
          "description": "Product description",
          "type": "string",
          "x-go-name": "Description",
          "example": "Description about product"
        },
        "display_name": {
          "description": "Integrated Product Display Name that is showing on Picus Platform",
          "type": "string",
          "x-go-name": "DisplayName",
          "example": "Crowdstrike"
        },
        "health_status": {
          "$ref": "#/definitions/HealthStatusSummary"
        },
        "integration_agent": {
          "description": "Integration Agent Name that integration connected",
          "type": "string",
          "x-go-name": "PeerName",
          "example": "Saturn Agent"
        },
        "integration_agent_id": {
          "description": "Integration Agent Id that integration connected",
          "type": "integer",
          "format": "uint64",
          "x-go-name": "PeerId",
          "example": 1
        },
        "integration_id": {
          "description": "Integration Id",
          "type": "integer",
          "format": "int64",
          "x-go-name": "IntegrationId",
          "example": 1
        },
        "name": {
          "description": "Integrated Product Name",
          "type": "string",
          "x-go-name": "Name",
          "example": "Crowdstrike"
        },
        "type": {
          "description": "Product Type ( SIEM / EDR )",
          "type": "string",
          "x-go-name": "ProductType",
          "example": "SIEM / EDR"
        },
        "updated_at": {
          "description": "Integration Updated At",
          "type": "integer",
          "format": "int64",
          "x-go-name": "UpdatedAt",
          "example": 1645625919624
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/integrations"
    },
    "InviteUserRequest": {
      "type": "object",
      "properties": {
        "email": {
          "description": "Email",
          "type": "string",
          "x-go-name": "Email",
          "example": "abc@def.com"
        },
        "login_type": {
          "description": "LoginType",
          "type": "string",
          "x-go-name": "LoginType",
          "example": "sso"
        },
        "role_id": {
          "description": "RoleID",
          "type": "integer",
          "format": "uint64",
          "x-go-name": "RoleID",
          "example": 4567
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request"
    },
    "KWDictionary": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "format": "uint64",
          "x-go-name": "Id"
        },
        "query": {
          "type": "string",
          "x-go-name": "Query"
        },
        "type": {
          "type": "string",
          "x-go-name": "Type"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/threats"
    },
    "LateralConfig": {
      "type": "object",
      "properties": {
        "remote_domain": {
          "description": "Remote domain",
          "type": "string",
          "x-go-name": "RemoteDomain",
          "example": "CORP"
        },
        "remote_host_name": {
          "description": "Remote host name",
          "type": "string",
          "x-go-name": "RemoteHostName",
          "example": "SRV-DC-01"
        },
        "remote_user_name": {
          "description": "Remote user name",
          "type": "string",
          "x-go-name": "RemoteUserName",
          "example": "svc-picus"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/agents"
    },
    "LogSourceDTO": {
      "type": "object",
      "properties": {
        "policies": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Policies"
        },
        "productName": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "ProductName"
        },
        "service": {
          "type": "string",
          "x-go-name": "Service"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request/internal_service_dto"
    },
    "Logging": {
      "type": "object",
      "properties": {
        "log_result": {
          "description": "Log Result Logged / Not Logged",
          "type": "string",
          "x-go-name": "LoggingResult"
        },
        "logged_time": {
          "description": "Logged time if it is Logged",
          "type": "integer",
          "format": "int64",
          "x-go-name": "LoggedTime"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/simulations_run"
    },
    "MitigationDeviceCustomerApiResponse": {
      "type": "object",
      "properties": {
        "blocked_action_count": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "BlockedActionCount"
        },
        "device_name": {
          "type": "string",
          "x-go-name": "DeviceName"
        },
        "id": {
          "type": "integer",
          "format": "uint64",
          "x-go-name": "Id"
        },
        "not_blocked_action_count": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "NotBlockedActionCount"
        },
        "score": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Score"
        },
        "total_action_count": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "TotalActionCount"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request/customer_api_dto"
    },
    "Mitre": {
      "type": "object",
      "properties": {
        "sub_technique": {
          "description": "Mitre Att&ck SubTechnique Name",
          "type": "string",
          "x-go-name": "SubTechnique"
        },
        "sub_technique_id": {
          "description": "Mitre Att&ck SubTechnique Id",
          "type": "string",
          "x-go-name": "SubTechniqueId"
        },
        "tactic": {
          "description": "Mitre Att&ck Tactic Name",
          "type": "string",
          "x-go-name": "Tactic"
        },
        "tactic_id": {
          "description": "Mitre Att&ck Tactic Id",
          "type": "string",
          "x-go-name": "TacticId"
        },
        "technique": {
          "description": "Mitre Att&ck Technique Name",
          "type": "string",
          "x-go-name": "Technique"
        },
        "technique_id": {
          "description": "Mitre Att&ck Technique Id",
          "type": "string",
          "x-go-name": "TechniqueId"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/simulations_run"
    },
    "MitreDTO": {
      "type": "object",
      "properties": {
        "tactic": {
          "type": "string",
          "x-go-name": "Tactic"
        },
        "techniques": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Techniques"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/threats"
    },
    "MitreParameter": {
      "description": "MitreParameter represents the top-level structure",
      "type": "object",
      "properties": {
        "has_actions": {
          "description": "HasActions",
          "type": "boolean",
          "x-go-name": "HasActions",
          "example": false
        },
        "id": {
          "description": "Id",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Id",
          "example": 6
        },
        "name": {
          "description": "Name",
          "type": "string",
          "x-go-name": "Name",
          "example": "Reconnaissance"
        },
        "techniques": {
          "description": "Techniques",
          "type": "array",
          "items": {
            "$ref": "#/definitions/Technique"
          },
          "x-go-name": "Techniques"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/threats"
    },
    "MitreResults": {
      "type": "object",
      "properties": {
        "tactics": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TacticResults"
          },
          "x-go-name": "Tactics"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/simulations_run/details"
    },
    "Module": {
      "type": "object",
      "properties": {
        "config": {
          "$ref": "#/definitions/ModuleConfig"
        },
        "configured": {
          "description": "Is Attack Module Configured on the agent",
          "type": "boolean",
          "x-go-name": "Configured"
        },
        "delay_seconds": {
          "description": "Attack Module delay in seconds",
          "type": "integer",
          "format": "uint64",
          "x-go-name": "DelaySeconds",
          "example": 30
        },
        "enabled": {
          "description": "Is Attack Module Enable",
          "type": "boolean",
          "x-go-name": "Enabled"
        },
        "id": {
          "description": "Attack Module Id",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Id"
        },
        "name": {
          "description": "Attack Module like File Download",
          "type": "string",
          "x-go-name": "Name",
          "example": "File Download"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/agents"
    },
    "ModuleBasedDetails": {
      "type": "object",
      "properties": {
        "file": {
          "$ref": "#/definitions/File"
        },
        "processes": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Process"
          },
          "x-go-name": "Process"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/threats"
    },
    "ModuleBasedResults": {
      "type": "object",
      "properties": {
        "file_details": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/FileDetailsCommon"
          },
          "x-go-name": "FileDetails"
        },
        "process_results": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ActionDetailProcess"
          },
          "x-go-name": "ProcessResults"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/simulations_run"
    },
    "ModuleConfig": {
      "type": "object",
      "properties": {
        "email": {
          "$ref": "#/definitions/EmailConfig"
        },
        "exfiltration": {
          "$ref": "#/definitions/ExfiltrationConfig"
        },
        "lateral": {
          "$ref": "#/definitions/LateralConfig"
        },
        "nat": {
          "$ref": "#/definitions/NatConfig"
        },
        "url_filtering": {
          "$ref": "#/definitions/UrlFilteringConfig"
        },
        "wats": {
          "$ref": "#/definitions/WatsConfig"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/agents"
    },
    "NatConfig": {
      "type": "object",
      "properties": {
        "http_enabled": {
          "description": "Is http enabled on the nat ip",
          "type": "boolean",
          "x-go-name": "HttpEnabled"
        },
        "http_port": {
          "description": "Nat http port",
          "type": "integer",
          "format": "uint64",
          "x-go-name": "HttpPort",
          "example": 80
        },
        "https_enabled": {
          "description": "Is https enabled on the nat ip",
          "type": "boolean",
          "x-go-name": "HttpsEnabled"
        },
        "https_port": {
          "description": "Nat https port",
          "type": "integer",
          "format": "uint64",
          "x-go-name": "HttpsPort",
          "example": 443
        },
        "ip": {
          "description": "Nat Ip",
          "type": "string",
          "x-go-name": "Ip",
          "example": "1.1.1.2"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/agents"
    },
    "NotBlockedActionResponse": {
      "type": "object",
      "properties": {
        "action_display_id": {
          "type": "integer",
          "format": "uint64",
          "x-go-name": "ActionDisplayId"
        },
        "action_id": {
          "type": "integer",
          "format": "uint64",
          "x-go-name": "ActionId"
        },
        "action_name": {
          "type": "string",
          "x-go-name": "ActionName"
        },
        "assessment_run_id": {
          "type": "integer",
          "format": "uint64",
          "x-go-name": "AssessmentRunId"
        },
        "attack_category": {
          "type": "string",
          "x-go-name": "AttackCategory"
        },
        "attack_module": {
          "type": "string",
          "x-go-name": "AttackModule"
        },
        "campaign_id": {
          "type": "integer",
          "format": "uint64",
          "x-go-name": "CampaignId"
        },
        "mitigation_ids": {
          "$ref": "#/definitions/Int64Array"
        },
        "node_id": {
          "type": "integer",
          "format": "uint64",
          "x-go-name": "NodeId"
        },
        "release_date": {
          "type": "string",
          "x-go-name": "ReleaseDate"
        },
        "signature_descriptions": {
          "$ref": "#/definitions/StringArray"
        },
        "signature_names": {
          "$ref": "#/definitions/StringArray"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request"
    },
    "NullBool": {
      "type": "object",
      "properties": {
        "Bool": {
          "type": "boolean"
        },
        "Valid": {
          "type": "boolean"
        }
      },
      "x-go-package": "github.com/picusnext/picus-ng-lib/go/kit/types"
    },
    "NullInt64": {
      "type": "object",
      "properties": {
        "Int64": {
          "type": "integer",
          "format": "int64"
        },
        "Valid": {
          "type": "boolean"
        }
      },
      "x-go-package": "github.com/picusnext/picus-ng-lib/go/kit/types"
    },
    "Objective": {
      "type": "object",
      "properties": {
        "actions": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/FlowNode"
          },
          "x-go-name": "Actions"
        },
        "id": {
          "type": "integer",
          "format": "uint64",
          "x-go-name": "Id"
        },
        "name": {
          "type": "string",
          "x-go-name": "Name"
        },
        "type": {
          "type": "string",
          "x-go-name": "Type"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/threats"
    },
    "ObjectiveSummary": {
      "type": "object",
      "properties": {
        "achieved": {
          "$ref": "#/definitions/OccurenceRate"
        },
        "count": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Count"
        },
        "notAchieved": {
          "$ref": "#/definitions/OccurenceRate"
        },
        "notTested": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "NotTested"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request/customer_api_dto"
    },
    "OccurenceRate": {
      "type": "object",
      "properties": {
        "change": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Change"
        },
        "count": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Count"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request/internal_service_dto"
    },
    "PIntegrationBasedResult": {
      "type": "object",
      "properties": {
        "action_id": {
          "type": "integer",
          "format": "uint64",
          "x-go-name": "ActionId"
        },
        "alert_result": {
          "description": "Alert result if it has alert analysis",
          "type": "string",
          "x-go-name": "AlertResult"
        },
        "has_alert_analysis": {
          "description": "Has alert analysis",
          "type": "boolean",
          "x-go-name": "AlertEnabled"
        },
        "has_log_analysis": {
          "description": "Has log analysis",
          "type": "boolean",
          "x-go-name": "LogEnabled"
        },
        "integration_id": {
          "description": "Integration Identifier",
          "type": "integer",
          "format": "int64",
          "x-go-name": "IntegrationId"
        },
        "log_result": {
          "description": "Log result if it has log analysis",
          "type": "string",
          "x-go-name": "LogResult"
        },
        "node_id": {
          "type": "integer",
          "format": "uint64",
          "x-go-name": "NodeId"
        },
        "product_name": {
          "description": "Integrated Product Name",
          "type": "string",
          "x-go-name": "ProductName"
        },
        "protocol": {
          "description": "Protocol http / https",
          "type": "string",
          "x-go-name": "Protocol"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/simulations_run"
    },
    "Pagination": {
      "type": "object",
      "properties": {
        "limit": {
          "description": "Limit",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Limit",
          "example": 20
        },
        "offset": {
          "description": "Offset",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Offset",
          "example": 0
        },
        "total_count": {
          "description": "Total Count",
          "type": "integer",
          "format": "int64",
          "x-go-name": "TotalCount",
          "example": 100
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/apirequest"
    },
    "PaginationDTO": {
      "type": "object",
      "properties": {
        "currentPage": {
          "type": "integer",
          "format": "uint64",
          "x-go-name": "CurrentPage"
        },
        "currentPageSize": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "CurrentPageSize"
        },
        "pageSize": {
          "type": "integer",
          "format": "uint64",
          "x-go-name": "PageSize"
        },
        "totalCount": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "TotalCount"
        },
        "totalPageCount": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "TotalPageCount"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request/internal_service_dto"
    },
    "PhasesResult": {
      "type": "object",
      "properties": {
        "blocked_action_count": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "BlockedActionCount"
        },
        "detection_result": {
          "$ref": "#/definitions/DetectionResult"
        },
        "name": {
          "type": "string",
          "x-go-name": "Name"
        },
        "not_blocked_action_count": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "NotBlockedActionCount"
        },
        "not_tested_action_count": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "NotTestedActionCount"
        },
        "total_action_count": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "TotalActionCount"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/simulations_run/details"
    },
    "Platform": {
      "type": "object",
      "properties": {
        "architecture": {
          "type": "string",
          "x-go-name": "PlatformArchitecture"
        },
        "name": {
          "type": "string",
          "x-go-name": "PlatformName"
        },
        "os": {
          "type": "string",
          "x-go-name": "PlatformOs"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/threats"
    },
    "PlatformCommon": {
      "type": "object",
      "properties": {
        "architecture": {
          "type": "string",
          "x-go-name": "Architecture"
        },
        "os": {
          "type": "string",
          "x-go-name": "Os"
        },
        "platform": {
          "type": "string",
          "x-go-name": "Platform"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/simulations_run"
    },
    "PreventionSummary": {
      "type": "object",
      "properties": {
        "objectives": {
          "$ref": "#/definitions/ObjectiveSummary"
        },
        "score": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Score"
        },
        "threats": {
          "$ref": "#/definitions/ThreatSummary"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request/customer_api_dto"
    },
    "Process": {
      "type": "object",
      "properties": {
        "affected_actions": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/AffectedAction"
          },
          "x-go-name": "AffectedActions"
        },
        "argument": {
          "type": "string",
          "x-go-name": "Argument"
        },
        "created_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "CreatedAt"
        },
        "id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Id"
        },
        "is_predefined": {
          "type": "boolean",
          "x-go-name": "IsPredefined"
        },
        "path": {
          "type": "string",
          "x-go-name": "Path"
        },
        "process_files_summary": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ProcessFilesSummary"
          },
          "x-go-name": "ProcessFilesSummary"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request/customer_api_dto"
    },
    "ProcessActionParams": {
      "type": "object",
      "title": "ProcessActionParams defines process-related parameters for an action.",
      "properties": {
        "cond_name": {
          "description": "example 1, for P1",
          "type": "integer",
          "format": "int64",
          "x-go-name": "ConditionName"
        },
        "is_blocked": {
          "description": "example \"true\"",
          "type": "string",
          "x-go-name": "IsBlocked"
        },
        "process_id": {
          "description": "example 1000123",
          "type": "integer",
          "format": "uint64",
          "x-go-name": "ProcessID"
        },
        "rank": {
          "description": "example 1",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Rank"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/threats"
    },
    "ProcessFilesSummary": {
      "type": "object",
      "properties": {
        "FileSize": {
          "type": "integer",
          "format": "int64"
        },
        "FileType": {
          "type": "string"
        },
        "Id": {
          "type": "integer",
          "format": "int64"
        },
        "IsDownloaded": {
          "type": "boolean"
        },
        "IsExecutable": {
          "type": "boolean"
        },
        "Name": {
          "type": "string"
        },
        "Path": {
          "type": "string"
        },
        "SkipZipExtract": {
          "type": "boolean"
        },
        "Url": {
          "type": "string"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request/customer_api_dto"
    },
    "ProtocolBasedResults": {
      "type": "object",
      "properties": {
        "alert_result": {
          "description": "Alert result if it has alert analysis",
          "type": "string",
          "x-go-name": "AlertResult"
        },
        "completed_at": {
          "description": "Completed at",
          "type": "integer",
          "format": "int64",
          "x-go-name": "CompletedAt"
        },
        "has_alert_analysis": {
          "description": "Has alert analysis",
          "type": "boolean",
          "x-go-name": "HasAlertAnalysis"
        },
        "has_log_analysis": {
          "description": "Has log analysis",
          "type": "boolean",
          "x-go-name": "HasLogAnalysis"
        },
        "integrations": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/PIntegrationBasedResult"
          },
          "x-go-name": "Integrations"
        },
        "log_result": {
          "description": "Log result if it has log analysis",
          "type": "string",
          "x-go-name": "LogResult"
        },
        "prevention": {
          "description": "Prevention result",
          "type": "string",
          "x-go-name": "Prevention"
        },
        "protocol": {
          "description": "Protocol http / https",
          "type": "string",
          "x-go-name": "Protocol"
        },
        "started_at": {
          "description": "Started at",
          "type": "integer",
          "format": "int64",
          "x-go-name": "StartedAt"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/simulations_run"
    },
    "Reference": {
      "type": "object",
      "properties": {
        "link": {
          "description": "Link",
          "type": "string",
          "x-go-name": "Link"
        },
        "name": {
          "description": "Name",
          "type": "string",
          "x-go-name": "Name"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/simulations_run"
    },
    "RerunDetectionBody": {
      "type": "object",
      "title": "RerunDetectionBody is the request body of the rerun-detection route.",
      "required": [
        "integrations"
      ],
      "properties": {
        "integrations": {
          "description": "Integration ids to analyse the run against. Required — at least one id must\nbe supplied; there is no default-to-all. Get ids from GET /v1/integrations.\nEvery listed integration must be eligible: configured, currently healthy,\nand reachable through a connected agent whose status is Alive. Any\nineligible integration rejects the whole request. At most 64 array elements\nmay be submitted (the limit is checked before de-duplication); duplicate\nids are then ignored.",
          "type": "array",
          "maxItems": 64,
          "minItems": 1,
          "items": {
            "type": "integer",
            "format": "uint64"
          },
          "x-go-name": "Integrations",
          "example": [
            12,
            34
          ]
        },
        "update_assessment": {
          "description": "When true, the parent simulation is also updated with this integration set,\nso future runs of the simulation use it. Default false.",
          "type": "boolean",
          "x-go-name": "UpdateAssessment",
          "example": false
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/simulations_run"
    },
    "Role": {
      "type": "object",
      "properties": {
        "id": {
          "description": "ID",
          "type": "integer",
          "format": "uint64",
          "x-go-name": "ID",
          "example": 1
        },
        "name": {
          "description": "Name",
          "type": "string",
          "x-go-name": "Name",
          "example": "Owner"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request"
    },
    "RuleDTO": {
      "type": "object",
      "properties": {
        "actions": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/IdNameInfoDTO"
          },
          "x-go-name": "Actions"
        },
        "id": {
          "type": "string",
          "x-go-name": "Id"
        },
        "mitre": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TechniqueInfoDTO"
          },
          "x-go-name": "Mitre"
        },
        "name": {
          "type": "string",
          "x-go-name": "Name"
        },
        "releaseDate": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "ReleaseDate"
        },
        "score": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Score"
        },
        "severity": {
          "type": "string",
          "x-go-name": "Severity"
        },
        "type": {
          "type": "string",
          "x-go-name": "Type"
        },
        "updateDate": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "UpdateDate"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request/internal_service_dto"
    },
    "RulesReturn": {
      "type": "object",
      "properties": {
        "affected_operating_systems": {
          "description": "Rule Affected Operating Systems ([\"Windows\"])",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "AffectedOperatingSystems",
          "example": [
            "Windows"
          ]
        },
        "attack_modules": {
          "description": "Template Rules Attack Modules ([1,2,3])",
          "type": "array",
          "items": {
            "type": "integer",
            "format": "int64"
          },
          "x-go-name": "AttackModules",
          "example": [
            1,
            2,
            3
          ]
        },
        "categories": {
          "type": "array",
          "items": {
            "type": "integer",
            "format": "uint64"
          },
          "x-go-name": "CategoryIDs"
        },
        "category_names": {
          "description": "Rule Category Names ([\"Attack Scenario\", \"Malicious Code\"])",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "CategoryNames",
          "example": [
            "Attack Scenario",
            "Malicious Code"
          ]
        },
        "date_label": {
          "description": "Rule Date Label (\"Last 30 Days\")",
          "type": "string",
          "x-go-name": "DateLabel",
          "example": "\"Last 30 days.\""
        },
        "kill_chain_phases": {
          "description": "Rule Kill Chain Phases ([\"Delivery\", \"Defense Evasion\"])",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "KillChainPhases",
          "example": [
            "Delivery",
            "Defense Evasion"
          ]
        },
        "mitre_tactics": {
          "description": "Rule Mitre Tactic IDs ([4,10,11])",
          "type": "array",
          "items": {
            "type": "integer",
            "format": "int64"
          },
          "x-go-name": "MitreTactics",
          "example": [
            4,
            10,
            11
          ]
        },
        "only_name": {
          "description": "Means Searched Name For Created Dynamic Template (threat group campaign malware download)",
          "type": "string",
          "x-go-name": "OnlyName",
          "example": "threat group campaign malware download"
        },
        "regions": {
          "type": "array",
          "items": {
            "type": "integer",
            "format": "uint64"
          },
          "x-go-name": "RegionIDs"
        },
        "sectors": {
          "type": "array",
          "items": {
            "type": "integer",
            "format": "uint64"
          },
          "x-go-name": "SectorIDs"
        },
        "severities": {
          "description": "Rule Severities ([\"high\"])",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Severities",
          "example": [
            "high"
          ]
        },
        "tags": {
          "description": "Rule Tags ([\"Iron Tiger\",\"APT27\"])",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Tags",
          "example": [
            "Iron Tiger",
            "APT27"
          ]
        },
        "threat_actors": {
          "description": "Threat Actors ([60,62])",
          "type": "array",
          "items": {
            "type": "integer",
            "format": "int64"
          },
          "x-go-name": "ThreatActors",
          "example": [
            60,
            62
          ]
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/templates"
    },
    "RunIntegration": {
      "type": "object",
      "properties": {
        "id": {
          "description": "Integration Identifier",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Id",
          "example": 1
        },
        "product_name": {
          "description": "Integrated Product Name like Crowdstrike",
          "type": "string",
          "x-go-name": "ProductName",
          "example": "Crowdstrike"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/simulations_run"
    },
    "ScheduleInput": {
      "type": "object",
      "required": [
        "start_time",
        "name",
        "frequency"
      ],
      "properties": {
        "day_of_month": {
          "description": "required if frequency is `MONTHLY`",
          "type": "array",
          "maximum": 31,
          "minimum": 1,
          "items": {
            "type": "integer",
            "format": "int64"
          },
          "x-go-name": "DayOfMonth",
          "example": [
            1,
            30
          ]
        },
        "day_of_week": {
          "description": "required if frequency is `WEEKLY`",
          "type": "array",
          "maximum": 7,
          "minimum": 1,
          "items": {
            "type": "integer",
            "format": "int64"
          },
          "x-go-name": "DayOfWeek",
          "example": [
            1,
            3
          ]
        },
        "frequency": {
          "description": "ONCE, DAILY, WEEKLY, MONTHLY",
          "type": "string",
          "maximum": 10,
          "minimum": 4,
          "x-go-name": "Frequency",
          "example": "WEEKLY"
        },
        "frequency_interval": {
          "description": "required if frequency is not `ONCE`",
          "type": "integer",
          "format": "int64",
          "x-go-name": "FrequencyInterval",
          "example": 2
        },
        "name": {
          "type": "string",
          "maximum": 500,
          "minimum": 1,
          "x-go-name": "Name",
          "example": "Schedule-1"
        },
        "start_time": {
          "description": "time format -> `epoch`\nOptional value: `now`",
          "type": "integer",
          "format": "int64",
          "x-go-name": "StartTime"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request/customer_api_dto"
    },
    "ScoreItem": {
      "type": "object",
      "properties": {
        "asset_criticality": {
          "type": "number",
          "format": "double",
          "x-go-name": "AssetCriticality",
          "example": 3.9
        },
        "asset_id": {
          "type": "string",
          "x-go-name": "AssetID",
          "example": "asset-001"
        },
        "contextual_cvss": {
          "type": "number",
          "format": "double",
          "x-go-name": "ContextualCvss",
          "example": 7.6
        },
        "cve_id": {
          "type": "string",
          "x-go-name": "CveID",
          "example": "CVE-2022-21903"
        },
        "exploitability": {
          "type": "number",
          "format": "double",
          "x-go-name": "Exploitability",
          "example": 71
        },
        "picus_exposure_score": {
          "type": "number",
          "format": "double",
          "x-go-name": "PicusExposureScore",
          "example": 7.2
        },
        "security_control_effectiveness": {
          "type": "string",
          "x-go-name": "SecurityControlEffectiveness",
          "example": "75.0"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request"
    },
    "Signature": {
      "type": "object",
      "properties": {
        "description": {
          "type": "string",
          "x-go-name": "Description"
        },
        "id": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Id"
        },
        "name": {
          "type": "string",
          "x-go-name": "Name"
        },
        "product_platform": {
          "type": "string",
          "x-go-name": "ProductPlatform"
        },
        "product_version": {
          "type": "string",
          "x-go-name": "ProductVersion"
        },
        "reference": {
          "type": "string",
          "x-go-name": "Reference"
        },
        "signature_category": {
          "type": "string",
          "x-go-name": "SignatureCategory"
        },
        "signature_id": {
          "type": "string",
          "x-go-name": "SignatureId"
        },
        "signature_version": {
          "type": "string",
          "x-go-name": "SignatureVersion"
        },
        "vendor_severity": {
          "type": "string",
          "x-go-name": "VendorSeverity"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/mitigation"
    },
    "SimulationApiOutput": {
      "type": "object",
      "properties": {
        "agent_id": {
          "$ref": "#/definitions/NullInt64"
        },
        "agent_user_ids": {
          "description": "agent user ids for installable agent execution users",
          "type": "array",
          "items": {
            "type": "integer",
            "format": "uint64"
          },
          "x-go-name": "AgentUserIDs",
          "example": [
            1,
            2
          ]
        },
        "description": {
          "description": "Simulation Description (description of the simulation)",
          "type": "string",
          "x-go-name": "Description",
          "example": "description of the simulation"
        },
        "id": {
          "description": "Simulation Id (1)",
          "type": "integer",
          "format": "uint64",
          "x-go-name": "ID",
          "example": 1
        },
        "integrations": {
          "description": "Simulation Integrations ([1,2,3])",
          "type": "array",
          "items": {
            "type": "integer",
            "format": "uint64"
          },
          "x-go-name": "Integrations",
          "example": [
            1,
            2,
            3
          ]
        },
        "is_active": {
          "$ref": "#/definitions/NullBool"
        },
        "name": {
          "description": "Simulation Name (Simulation - 1)",
          "type": "string",
          "x-go-name": "Name",
          "example": "Simulation - 1"
        },
        "obfuscation_methods": {
          "description": "obfuscation methods",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "ObfuscationMethods"
        },
        "protocols": {
          "description": "Simulation Protocols ([http, https])\nprotocols",
          "type": "array",
          "items": {
            "$ref": "#/definitions/AssessmentProtocol"
          },
          "x-go-name": "Protocols"
        },
        "schedule_id": {
          "description": "Simulation Schedule Id (3)",
          "type": "integer",
          "format": "uint64",
          "x-go-name": "ScheduleID",
          "example": 3
        },
        "template_id": {
          "$ref": "#/definitions/NullInt64"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request/customer_api_dto"
    },
    "SimulationDetailsReturn": {
      "type": "object",
      "properties": {
        "agent": {
          "$ref": "#/definitions/AgentSummary"
        },
        "completion_ratio": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "CompletionRatio"
        },
        "created_at": {
          "description": "Simulation Created At",
          "type": "integer",
          "format": "int64",
          "x-go-name": "CreatedAt",
          "example": 1654623047
        },
        "detection_analysis": {
          "$ref": "#/definitions/Detection"
        },
        "has_detection_analysis": {
          "description": "Is Simulation enriched with detection analysis",
          "type": "boolean",
          "x-go-name": "HasDetectionAnalysis"
        },
        "has_last_run_detection_analysis": {
          "description": "Is last simulation run contains detection analysis",
          "type": "boolean",
          "x-go-name": "HasLastRunDetectionAnalysis"
        },
        "last_detection_security_score": {
          "description": "Simulation Detection Result (if there is a result)",
          "type": "integer",
          "format": "int64",
          "x-go-name": "LastDetectionResult"
        },
        "last_prevention_security_score": {
          "description": "Simulation Prevention Result (if there is a result)",
          "type": "integer",
          "format": "int64",
          "x-go-name": "LastPreventionResult"
        },
        "simulation_id": {
          "description": "Simulation Id",
          "type": "integer",
          "format": "uint64",
          "x-go-name": "SimulationId",
          "example": 1
        },
        "simulation_name": {
          "description": "Simulation Name",
          "type": "string",
          "x-go-name": "SimulationName",
          "example": "Simulation 1"
        },
        "simulation_run": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SimulationRunReturn"
          },
          "x-go-name": "SimulationRuns"
        },
        "status": {
          "description": "Simulation Last Run Status (RUNNING | COMPLETED | STOPPED | NOT STARTED | SCHEDULED | WAITING FOR THE FIRST RUN)",
          "type": "string",
          "x-go-name": "Status",
          "example": "RUNNING | COMPLETED | STOPPED | NOT STARTED | SCHEDULED | WAITING FOR THE FIRST RUN"
        },
        "status_details": {
          "$ref": "#/definitions/StatusDetails"
        },
        "template_id": {
          "description": "Template Id",
          "type": "integer",
          "format": "uint64",
          "x-go-name": "TemplateId",
          "example": 1
        },
        "template_name": {
          "description": "Template Name",
          "type": "string",
          "x-go-name": "TemplateName",
          "example": "Template #1"
        },
        "updated_at": {
          "description": "Simulation Updated At",
          "type": "integer",
          "format": "int64",
          "x-go-name": "UpdatedAt",
          "example": 1654623047
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/simulations"
    },
    "SimulationObjectiveCounts": {
      "type": "object",
      "properties": {
        "achived_count": {
          "description": "Achived attackers objective count",
          "type": "integer",
          "format": "int64",
          "x-go-name": "AchivedCount"
        },
        "not_tested_count": {
          "description": "Not tested attackers objective count",
          "type": "integer",
          "format": "int64",
          "x-go-name": "NotTestedCount"
        },
        "total_count": {
          "description": "Total attackers objective count",
          "type": "integer",
          "format": "int64",
          "x-go-name": "ObjectiveCount"
        },
        "unachived_count": {
          "description": "Unachived attackers objective count",
          "type": "integer",
          "format": "int64",
          "x-go-name": "UnachivedCount"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/simulations_run"
    },
    "SimulationProtocol": {
      "type": "object",
      "properties": {
        "module_id": {
          "description": "Attack module ID that the simulation runs.\n\nAvailable attack modules, as `id: name`:\n\n1: Network Infiltration\n2: Windows Endpoint Scenario\n3: Web Application\n4: E-mail Infiltration\n5: Data Exfiltration\n6: Linux Endpoint Scenario\n7: macOS Endpoint Scenario\n9: URL Filtering\n10: Kubernetes Endpoint Scenario\n103: Azure Cloud Emulation\n104: AWS Cloud Emulation\n105: GCP Cloud Emulation",
          "type": "integer",
          "format": "uint64",
          "x-go-name": "ModuleID",
          "example": 1
        },
        "protocols": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Protocols",
          "example": [
            "http",
            "https"
          ]
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request/customer_api_dto"
    },
    "SimulationReportBasicOutput": {
      "type": "object",
      "properties": {
        "format": {
          "description": "Report Format. One of: 'PDF' | 'CSV'",
          "type": "string",
          "x-go-name": "Format",
          "example": "PDF"
        },
        "id": {
          "description": "Report Id",
          "type": "integer",
          "format": "uint64",
          "x-go-name": "ID",
          "example": 1
        },
        "status": {
          "description": "Report Status. One of: 'IN PROGRESS' | 'COMPLETED' | 'ERROR'",
          "type": "string",
          "x-go-name": "Status",
          "example": "COMPLETED"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request/customer_api_dto"
    },
    "SimulationResultDTO": {
      "type": "object",
      "properties": {
        "detection_analysis": {
          "$ref": "#/definitions/SimulationResultsDetectionDTO"
        },
        "has_detection_analysis": {
          "description": "Has detection analysis",
          "type": "boolean",
          "x-go-name": "HasDetectionAnalysis"
        },
        "prevention": {
          "$ref": "#/definitions/SimulationResultsPreventionDTO"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/simulations_run"
    },
    "SimulationResultsAlertDTO": {
      "type": "object",
      "properties": {
        "alerted_threat_count": {
          "description": "Alerted threat count",
          "type": "integer",
          "format": "int64",
          "x-go-name": "AlertedThreatCount"
        },
        "not_alerted_threat_count": {
          "description": "Not alerted threat count",
          "type": "integer",
          "format": "int64",
          "x-go-name": "NotAlertedThreatCount"
        },
        "score": {
          "description": "Alert score",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Score"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/simulations_run"
    },
    "SimulationResultsDetectionDTO": {
      "type": "object",
      "properties": {
        "alert": {
          "$ref": "#/definitions/SimulationResultsAlertDTO"
        },
        "has_alert_analysis": {
          "description": "Has detection analysis",
          "type": "boolean",
          "x-go-name": "AlertEnabled"
        },
        "has_log_analysis": {
          "description": "Has log analysis",
          "type": "boolean",
          "x-go-name": "LogEnabled"
        },
        "integrations": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/RunIntegration"
          },
          "x-go-name": "Enrichments"
        },
        "log": {
          "$ref": "#/definitions/SimulationResultsLoggingDTO"
        },
        "security_score": {
          "description": "Detection Security Score",
          "type": "integer",
          "format": "int64",
          "x-go-name": "SecurityScore"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/simulations_run"
    },
    "SimulationResultsLoggingDTO": {
      "type": "object",
      "properties": {
        "logged_threat_count": {
          "description": "Logged threat count",
          "type": "integer",
          "format": "int64",
          "x-go-name": "LoggedThreatCount"
        },
        "not_logged_threat_count": {
          "description": "Not logged threat count",
          "type": "integer",
          "format": "int64",
          "x-go-name": "NotLoggedThreatCount"
        },
        "score": {
          "description": "Log Score",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Score"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/simulations_run"
    },
    "SimulationResultsPreventionDTO": {
      "type": "object",
      "properties": {
        "attacker_objectives": {
          "$ref": "#/definitions/SimulationObjectiveCounts"
        },
        "security_score": {
          "description": "Prevention Security Score",
          "type": "integer",
          "format": "int64",
          "x-go-name": "SecurityScore"
        },
        "threat": {
          "$ref": "#/definitions/SimulationThreatCounts"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/simulations_run"
    },
    "SimulationRunApiOutput": {
      "type": "object",
      "properties": {
        "browser": {
          "description": "Run Browser Info",
          "type": "string",
          "x-go-name": "Browser",
          "example": "BrowserUnknown"
        },
        "id": {
          "description": "Run Id (1)",
          "type": "integer",
          "format": "uint64",
          "x-go-name": "ID",
          "example": 1
        },
        "status": {
          "description": "Run Status (COMPLETED | RUNNING)",
          "type": "string",
          "x-go-name": "Status",
          "example": "COMPLETED"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request/customer_api_dto"
    },
    "SimulationRunReturn": {
      "type": "object",
      "properties": {
        "completed_at": {
          "description": "Run Completed At",
          "type": "integer",
          "format": "int64",
          "x-go-name": "CompletedAt",
          "example": 1650527217
        },
        "fail_reason_message": {
          "type": "string",
          "x-go-name": "FailReasonMessage"
        },
        "id": {
          "description": "Run Id",
          "type": "string",
          "x-go-name": "Id",
          "example": "1"
        },
        "scheduled_time": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "ScheduledTime"
        },
        "started_at": {
          "description": "Run Started At",
          "type": "integer",
          "format": "int64",
          "x-go-name": "StartedAt",
          "example": 1650526217
        },
        "status": {
          "description": "Run Status (RUNNING | COMPLETED | STOPPED | NOT STARTED | SCHEDULED | WAITING FOR THE FIRST RUN)",
          "type": "string",
          "x-go-name": "Status",
          "example": "RUNNING | COMPLETED | STOPPED | NOT STARTED | SCHEDULED | WAITING FOR THE FIRST RUN"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/simulations"
    },
    "SimulationRunThreat": {
      "type": "object",
      "properties": {
        "completed_at": {
          "description": "Completed At",
          "type": "integer",
          "format": "int64",
          "x-go-name": "CompletedAt"
        },
        "detection_analysis": {
          "$ref": "#/definitions/ThreatsDetectionResult"
        },
        "has_detection_analysis": {
          "description": "Has detection analysis",
          "type": "boolean",
          "x-go-name": "HasDetectionAnalysis"
        },
        "objectives": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Objective"
          },
          "x-go-name": "Objectives"
        },
        "prevention": {
          "description": "Prevention Result",
          "type": "string",
          "x-go-name": "Prevention"
        },
        "release_date": {
          "description": "Release Date",
          "type": "integer",
          "format": "int64",
          "x-go-name": "ReleaseDate"
        },
        "severity": {
          "description": "Severity",
          "type": "string",
          "x-go-name": "Severity"
        },
        "started_at": {
          "description": "Started At",
          "type": "integer",
          "format": "int64",
          "x-go-name": "StartedAt"
        },
        "threat_display_id": {
          "description": "Threat Display Id",
          "type": "integer",
          "format": "int64",
          "x-go-name": "DisplayId"
        },
        "threat_id": {
          "description": "Threat Id",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Id"
        },
        "threat_name": {
          "description": "Threat Name",
          "type": "string",
          "x-go-name": "Name"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/simulations_run"
    },
    "SimulationSummary": {
      "type": "object",
      "properties": {
        "agent": {
          "$ref": "#/definitions/AgentSummary"
        },
        "completion_ratio": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "CompletionRatio"
        },
        "detection_analysis": {
          "$ref": "#/definitions/Detection"
        },
        "fail_reason_message": {
          "type": "string",
          "x-go-name": "FailReasonMessage"
        },
        "has_detection_analysis": {
          "description": "If detection of simulation has no enrichment this field will be false",
          "type": "boolean",
          "x-go-name": "HasDetectionAnalysis"
        },
        "has_last_run_detection_analysis": {
          "description": "To avoid confusing about has_detection_analysis, if last_detection_score is different from -1 this field will be true",
          "type": "boolean",
          "x-go-name": "HasLastRunDetectionAnalysis"
        },
        "is_practice": {
          "type": "boolean",
          "x-go-name": "IsPractice"
        },
        "last_detection_security_score": {
          "description": "Last running detection security score is between 0 and 100. Logging and alert score calculated together",
          "type": "integer",
          "format": "int64",
          "x-go-name": "LastDetectionResult",
          "example": 50
        },
        "last_prevention_security_score": {
          "description": "Last running prevention security score is between 0 and 100",
          "type": "integer",
          "format": "int64",
          "x-go-name": "LastPreventionResult",
          "example": 50
        },
        "simulation_id": {
          "description": "Simulation Id",
          "type": "integer",
          "format": "uint64",
          "x-go-name": "SimulationId",
          "example": 1
        },
        "simulation_name": {
          "description": "Simulation Name",
          "type": "string",
          "x-go-name": "SimulationName",
          "example": "Simulation-1"
        },
        "status": {
          "description": "Simulation last run status (RUNNING | COMPLETED | STOPPED | NOT STARTED | SCHEDULED | WAITING FOR THE FIRST RUN)",
          "type": "string",
          "x-go-name": "Status",
          "example": "RUNNING | COMPLETED | STOPPED | NOT STARTED | SCHEDULED | WAITING FOR THE FIRST RUN"
        },
        "status_details": {
          "$ref": "#/definitions/StatusDetails"
        },
        "template_id": {
          "description": "Template Id",
          "type": "integer",
          "format": "uint64",
          "x-go-name": "TemplateId",
          "example": 1
        },
        "template_name": {
          "description": "Template Name",
          "type": "string",
          "x-go-name": "TemplateName",
          "example": "Template #1"
        },
        "updated_at": {
          "description": "Simulation Updated At",
          "type": "integer",
          "format": "int64",
          "x-go-name": "UpdatedAt",
          "example": 1654623047
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/simulations"
    },
    "SimulationThreatCounts": {
      "type": "object",
      "properties": {
        "blocked_count": {
          "description": "Blocked threat count",
          "type": "integer",
          "format": "int64",
          "x-go-name": "BlockedCount"
        },
        "not_blocked_count": {
          "description": "Not blocked threat count",
          "type": "integer",
          "format": "int64",
          "x-go-name": "NotBlockedCount"
        },
        "not_tested_count": {
          "description": "Not tested threat count",
          "type": "integer",
          "format": "int64",
          "x-go-name": "NotTestedCount"
        },
        "total_count": {
          "description": "Total threat count",
          "type": "integer",
          "format": "int64",
          "x-go-name": "ThreatCount"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/simulations_run"
    },
    "SingleTemplateContentResponse": {
      "type": "object",
      "properties": {
        "threats": {
          "type": "array",
          "items": {
            "type": "integer",
            "format": "uint64"
          },
          "x-go-name": "Threats"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request/customer_api_dto"
    },
    "SourceWithRuleCount": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "x-go-name": "ContentSourceName"
        },
        "ruleCount": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "RuleCount"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request/internal_service_dto"
    },
    "StagesResult": {
      "type": "object",
      "properties": {
        "blocked_action_count": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "BlockedActionCount"
        },
        "detection_result": {
          "$ref": "#/definitions/DetectionResult"
        },
        "name": {
          "type": "string",
          "x-go-name": "Name"
        },
        "not_blocked_action_count": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "NotBlockedActionCount"
        },
        "not_tested_action_count": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "NotTestedActionCount"
        },
        "phases": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/PhasesResult"
          },
          "x-go-name": "Phases"
        },
        "total_action_count": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "TotalActionCount"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/simulations_run/details"
    },
    "StatusDetails": {
      "type": "object",
      "properties": {
        "detection": {
          "$ref": "#/definitions/ThreatCounts"
        },
        "prevention": {
          "$ref": "#/definitions/ThreatCounts"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/dto"
    },
    "StringArray": {
      "type": "array",
      "title": "StringArray represents a one-dimensional array of the PostgreSQL character types.",
      "items": {
        "type": "string"
      },
      "x-go-package": "github.com/lib/pq"
    },
    "SubTechnique": {
      "description": "SubTechnique represents a more specific form of a technique",
      "type": "object",
      "properties": {
        "has_actions": {
          "description": "HasActions",
          "type": "boolean",
          "x-go-name": "HasActions",
          "example": false
        },
        "id": {
          "description": "Id",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Id",
          "example": 41
        },
        "name": {
          "description": "Name",
          "type": "string",
          "x-go-name": "Name",
          "example": "Hardware"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/threats"
    },
    "SubTechniqueResults": {
      "type": "object",
      "properties": {
        "blocked_action_count": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "BlockedActionCount"
        },
        "description": {
          "type": "string",
          "x-go-name": "Description"
        },
        "detection_result": {
          "$ref": "#/definitions/DetectionResult"
        },
        "mitre_id": {
          "type": "string",
          "x-go-name": "MitreID"
        },
        "mitre_name": {
          "type": "string",
          "x-go-name": "MitreName"
        },
        "name": {
          "type": "string",
          "x-go-name": "Name"
        },
        "not_blocked_action_count": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "NotBlockedActionCount"
        },
        "not_tested_action_count": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "NotTestedActionCount"
        },
        "total_action_count": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "TotalActionCount"
        },
        "url": {
          "type": "string",
          "x-go-name": "Url"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/simulations_run/details"
    },
    "SummaryOverallResponse": {
      "type": "object",
      "properties": {
        "detection": {
          "$ref": "#/definitions/DetectionSummary"
        },
        "prevention": {
          "$ref": "#/definitions/PreventionSummary"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request/customer_api_dto"
    },
    "TacticResults": {
      "type": "object",
      "properties": {
        "blocked_action_count": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "BlockedActionCount"
        },
        "description": {
          "type": "string",
          "x-go-name": "Description"
        },
        "detection_result": {
          "$ref": "#/definitions/DetectionResult"
        },
        "mitre_id": {
          "type": "string",
          "x-go-name": "MitreID"
        },
        "mitre_name": {
          "type": "string",
          "x-go-name": "MitreName"
        },
        "name": {
          "type": "string",
          "x-go-name": "Name"
        },
        "not_blocked_action_count": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "NotBlockedActionCount"
        },
        "not_tested_action_count": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "NotTestedActionCount"
        },
        "techniques": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TechniqueResults"
          },
          "x-go-name": "Techniques"
        },
        "total_action_count": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "TotalActionCount"
        },
        "url": {
          "type": "string",
          "x-go-name": "Url"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/simulations_run/details"
    },
    "Technique": {
      "description": "Technique represents an attack technique",
      "type": "object",
      "properties": {
        "has_actions": {
          "description": "HasActions",
          "type": "boolean",
          "x-go-name": "HasActions",
          "example": false
        },
        "id": {
          "description": "Id",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Id",
          "example": 25
        },
        "name": {
          "description": "Name",
          "type": "string",
          "x-go-name": "Name",
          "example": "Gather Victim Host Information"
        },
        "sub_techniques": {
          "description": "SubTechniques",
          "type": "array",
          "items": {
            "$ref": "#/definitions/SubTechnique"
          },
          "x-go-name": "SubTechniques"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/threats"
    },
    "TechniqueInfoDTO": {
      "type": "object",
      "properties": {
        "mitreId": {
          "type": "string",
          "x-go-name": "MitreId"
        },
        "name": {
          "type": "string",
          "x-go-name": "Name"
        },
        "url": {
          "type": "string",
          "x-go-name": "Url"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request/internal_service_dto"
    },
    "TechniqueResults": {
      "type": "object",
      "properties": {
        "blocked_action_count": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "BlockedActionCount"
        },
        "description": {
          "type": "string",
          "x-go-name": "Description"
        },
        "detection_result": {
          "$ref": "#/definitions/DetectionResult"
        },
        "mitre_id": {
          "type": "string",
          "x-go-name": "MitreID"
        },
        "mitre_name": {
          "type": "string",
          "x-go-name": "MitreName"
        },
        "name": {
          "type": "string",
          "x-go-name": "Name"
        },
        "not_blocked_action_count": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "NotBlockedActionCount"
        },
        "not_tested_action_count": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "NotTestedActionCount"
        },
        "sub_techniques": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SubTechniqueResults"
          },
          "x-go-name": "SubTechniques"
        },
        "total_action_count": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "TotalActionCount"
        },
        "url": {
          "type": "string",
          "x-go-name": "Url"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/simulations_run/details"
    },
    "TemplateDetailReturn": {
      "type": "object",
      "properties": {
        "agent_types": {
          "description": "Template Agent Types",
          "type": "array",
          "items": {
            "$ref": "#/definitions/AgentType"
          },
          "x-go-name": "AgentTypes",
          "example": "[{id:1}]"
        },
        "category_name": {
          "description": "Template Category Name (main)",
          "type": "string",
          "x-go-name": "CategoryName",
          "example": "main"
        },
        "content_type": {
          "description": "Content Type (Static | Dynamic)",
          "type": "string",
          "x-go-name": "ContentType",
          "example": "Static"
        },
        "content_updated_at": {
          "description": "Template Content Updated Time",
          "type": "integer",
          "format": "int64",
          "x-go-name": "ContentChangedAt",
          "example": 1654781780578
        },
        "created_at": {
          "description": "Template Creation Time (1654781780578)",
          "type": "integer",
          "format": "int64",
          "x-go-name": "CreeatedAt",
          "example": 1654781780578
        },
        "description": {
          "description": "Template Description",
          "type": "string",
          "x-go-name": "Description",
          "example": "Description"
        },
        "id": {
          "description": "Template Id",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Id",
          "example": 1
        },
        "name": {
          "description": "Template Name",
          "type": "string",
          "x-go-name": "Name",
          "example": "Template-1"
        },
        "rules": {
          "description": "Template Rules For Dynamic Templates",
          "type": "array",
          "items": {
            "$ref": "#/definitions/RulesReturn"
          },
          "x-go-name": "Rules"
        },
        "subcategory_name": {
          "description": "Template Subcategory Name (sub)",
          "type": "string",
          "x-go-name": "SubcategoryName",
          "example": "sub"
        },
        "threats": {
          "description": "Template Campaigns ([{id: 1, Name: Threat 1}, {id: 2, Name: Threat 2}])",
          "type": "array",
          "items": {
            "$ref": "#/definitions/CampaignDetails"
          },
          "x-go-name": "Threats",
          "example": "[{id: 1, Name: Threat 1}, {id: 2, Name: Threat 2}]"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/templates"
    },
    "TemplateReturn": {
      "type": "object",
      "properties": {
        "agent_types": {
          "description": "Template Agent Types",
          "type": "array",
          "items": {
            "$ref": "#/definitions/AgentType"
          },
          "x-go-name": "AgentTypes",
          "example": "[{id:1}]"
        },
        "category_name": {
          "description": "Template Category Name (main)",
          "type": "string",
          "x-go-name": "CategoryName",
          "example": "main"
        },
        "content_type": {
          "description": "Content Type (Static | Dynamic)",
          "type": "string",
          "x-go-name": "ContentType",
          "example": "Static"
        },
        "content_updated_at": {
          "description": "Template Content Updated Time",
          "type": "integer",
          "format": "int64",
          "x-go-name": "ContentChangedAt",
          "example": 1654781780578
        },
        "description": {
          "description": "Template Description",
          "type": "string",
          "x-go-name": "Description",
          "example": "Description"
        },
        "id": {
          "description": "Template Id",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Id",
          "example": 1
        },
        "name": {
          "description": "Template Name",
          "type": "string",
          "x-go-name": "Name",
          "example": "Template-1"
        },
        "subcategory_name": {
          "description": "Template Subcategory Name (sub)",
          "type": "string",
          "x-go-name": "SubcategoryName",
          "example": "sub"
        },
        "threat_count": {
          "description": "Template Threat Count",
          "type": "integer",
          "format": "int64",
          "x-go-name": "ThreatCount",
          "example": 2
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/templates"
    },
    "TemplateRule": {
      "type": "object",
      "properties": {
        "affected_operating_systems": {
          "description": "Rule Affected Operating Systems ([\"Windows\"])",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "AffectedOperatingSystems",
          "example": [
            "Windows"
          ]
        },
        "category_names": {
          "description": "Rule Category Names ([\"Attack Scenario\", \"Malicious Code\"])",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "CategoryNames",
          "example": [
            "Attack Scenario",
            "Malicious Code"
          ]
        },
        "date_label": {
          "description": "Rule Date Label (Last 30 Days)",
          "type": "string",
          "x-go-name": "DateLabel",
          "example": "Last 30 days."
        },
        "kill_chain_phases": {
          "description": "Rule Kill Chain Phases ([\"Delivery\", \"Defense Evasion\"])",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "KillChainPhases",
          "example": [
            "Delivery",
            "Defense Evasion"
          ]
        },
        "mitre_tactics": {
          "description": "Rule Mitre Tactic IDs ([4,10,11])",
          "type": "array",
          "items": {
            "type": "integer",
            "format": "uint64"
          },
          "x-go-name": "MitreTactics",
          "example": [
            4,
            10,
            11
          ]
        },
        "modules": {
          "type": "array",
          "items": {
            "type": "integer",
            "format": "uint64"
          },
          "x-go-name": "ModulesIDs"
        },
        "only_name": {
          "description": "Means Searched Name For Created Dynamic Template (threat group campaign malware download)",
          "type": "string",
          "x-go-name": "OnlyNameLike",
          "example": "threat group campaign malware download"
        },
        "severities": {
          "description": "Rule Severities ([\"high\"])",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Severities",
          "example": [
            "high"
          ]
        },
        "tags": {
          "description": "Rule Tags ([\"Iron Tiger\",\"APT27\"])",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Tags",
          "example": [
            "Iron Tiger",
            "APT27"
          ]
        },
        "threat_actors": {
          "description": "Threat Actors ([60,62])",
          "type": "array",
          "items": {
            "type": "integer",
            "format": "uint64"
          },
          "x-go-name": "ThreatActors",
          "example": [
            60,
            62
          ]
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request/internal_service_dto"
    },
    "TemplateThreatParams": {
      "type": "object",
      "properties": {
        "rules": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TemplateRule"
          },
          "x-go-name": "Rules"
        },
        "threats": {
          "type": "array",
          "items": {
            "type": "integer",
            "format": "uint64"
          },
          "x-go-name": "Threats"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request/customer_api_dto"
    },
    "ThreatActor": {
      "type": "object",
      "properties": {
        "aka": {
          "type": "string",
          "x-go-name": "Aka"
        },
        "id": {
          "description": "Id",
          "type": "integer",
          "format": "uint64",
          "x-go-name": "Id",
          "example": "1"
        },
        "name": {
          "description": "Name",
          "type": "string",
          "x-go-name": "Name",
          "example": "Lazarus Group"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request/customer_api_dto"
    },
    "ThreatCounts": {
      "type": "object",
      "properties": {
        "completed_threat_count": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Completed"
        },
        "total_threat_count": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Total"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/dto"
    },
    "ThreatReturn": {
      "type": "object",
      "properties": {
        "affected_os": {
          "description": "Threat Affected Os",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "AffectedOs",
          "example": [
            "Windows"
          ]
        },
        "affected_platforms": {
          "description": "Threat Affected Products",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "AffectedPlatforms",
          "example": [
            "Microsoft Windows"
          ]
        },
        "affected_products": {
          "description": "Threat Affected Products",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "AffectedProducts",
          "example": [
            "Microsoft Windows"
          ]
        },
        "applicable_agent_types": {
          "description": "Threat Applicable Agent Types",
          "type": "array",
          "items": {
            "type": "integer",
            "format": "int64"
          },
          "x-go-name": "ApplicableAgentTypes",
          "example": [
            2,
            3
          ]
        },
        "attack_categories": {
          "description": "Threat Attack Categories",
          "type": "array",
          "items": {
            "$ref": "#/definitions/AttackCategory"
          },
          "x-go-name": "AttackCategories",
          "example": [
            {
              "id": 1,
              "name": "Attack Category 1"
            }
          ]
        },
        "attack_modules": {
          "description": "Threat Module Ids",
          "type": "array",
          "items": {
            "$ref": "#/definitions/AttackModule"
          },
          "x-go-name": "Modules",
          "example": [
            1,
            2
          ]
        },
        "created_at": {
          "description": "Threat Created At",
          "type": "integer",
          "format": "int64",
          "x-go-name": "CreatedAt",
          "example": 1654623047
        },
        "description": {
          "description": "Threat Description",
          "type": "string",
          "x-go-name": "Description",
          "example": "Threat 1"
        },
        "display_id": {
          "description": "Threat DisplayId",
          "type": "integer",
          "format": "int64",
          "x-go-name": "DisplayId",
          "example": 1000
        },
        "flows": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Objective"
          },
          "x-go-name": "Flows"
        },
        "id": {
          "description": "Threat Id",
          "type": "integer",
          "format": "uint64",
          "x-go-name": "Id",
          "example": 1
        },
        "is_predefined": {
          "description": "Threat Is Predefined",
          "type": "boolean",
          "x-go-name": "IsPredefined",
          "example": false
        },
        "mitre_attack": {
          "description": "Threat Mitre Tactics",
          "type": "array",
          "items": {
            "$ref": "#/definitions/MitreDTO"
          },
          "x-go-name": "Mitres",
          "example": [
            {
              "tactic": "Credential Access",
              "techniques": [
                "OS Credential Dumping"
              ]
            },
            {
              "tactic": "Execution",
              "techniques": [
                "Inter-Process Communication"
              ]
            }
          ]
        },
        "name": {
          "description": "Threat Name",
          "type": "string",
          "x-go-name": "Name",
          "example": "Threat 1"
        },
        "release_date": {
          "description": "Threat Release Date",
          "type": "integer",
          "format": "int64",
          "x-go-name": "ReleaseDate",
          "example": 1649681264
        },
        "severity": {
          "description": "Threat Severity",
          "type": "string",
          "x-go-name": "Severity",
          "example": "High"
        },
        "tags": {
          "description": "Threat Tags",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Tags",
          "example": [
            "Custom"
          ]
        },
        "threat_actors": {
          "description": "Threat Threat Actors",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "ThreatActors",
          "example": [
            "actor 1",
            "actor 2"
          ]
        },
        "unified_kill_chains": {
          "description": "Threat Kill Chain Phases",
          "type": "array",
          "items": {
            "$ref": "#/definitions/UkcDTO"
          },
          "x-go-name": "UnifiedKillChains",
          "example": [
            {
              "phases": [
                "Credential Access"
              ],
              "stage": "Network Propagation"
            },
            {
              "phases": [
                "Execution"
              ],
              "stage": "Network Propagation"
            }
          ]
        },
        "updated_at": {
          "description": "Threat Updated At",
          "type": "integer",
          "format": "int64",
          "x-go-name": "UpdatedAt",
          "example": 1654623047
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/threats"
    },
    "ThreatSummary": {
      "type": "object",
      "properties": {
        "blocked": {
          "$ref": "#/definitions/OccurenceRate"
        },
        "count": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Count"
        },
        "notBlocked": {
          "$ref": "#/definitions/OccurenceRate"
        },
        "notTested": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "NotTested"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request/customer_api_dto"
    },
    "ThreatsDetectionResult": {
      "type": "object",
      "properties": {
        "alert_result": {
          "description": "Alert result if it has alert analysis",
          "type": "string",
          "x-go-name": "AlertResult"
        },
        "has_alert_analysis": {
          "description": "Has alert analysis",
          "type": "boolean",
          "x-go-name": "HasAlertAnalysis"
        },
        "has_log_analysis": {
          "description": "Has log analysis",
          "type": "boolean",
          "x-go-name": "HasLogAnalysis"
        },
        "integrations": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Enrichment"
          },
          "x-go-name": "Integrations"
        },
        "log_result": {
          "description": "Log result if it has log analysis",
          "type": "string",
          "x-go-name": "LogResult"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/simulations_run"
    },
    "ThreatsReturn": {
      "type": "object",
      "properties": {
        "affected_os": {
          "description": "Threat Affected Os",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "AffectedOs",
          "example": [
            "Windows"
          ]
        },
        "attack_categories": {
          "description": "Threat Attack Categories",
          "type": "array",
          "items": {
            "$ref": "#/definitions/AttackCategory"
          },
          "x-go-name": "AttackCategories",
          "example": [
            {
              "id": 1,
              "name": "Attack Category 1"
            }
          ]
        },
        "attack_modules": {
          "description": "Threat Module Ids",
          "type": "array",
          "items": {
            "$ref": "#/definitions/AttackModule"
          },
          "x-go-name": "Modules",
          "example": [
            1,
            2
          ]
        },
        "created_at": {
          "description": "Threat Created At",
          "type": "integer",
          "format": "int64",
          "x-go-name": "CreatedAt",
          "example": 1654623047
        },
        "description": {
          "description": "Threat Description",
          "type": "string",
          "x-go-name": "Description",
          "example": "Threat 1"
        },
        "display_id": {
          "description": "Threat DisplayId",
          "type": "integer",
          "format": "int64",
          "x-go-name": "DisplayId",
          "example": 1000
        },
        "flows": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Objective"
          },
          "x-go-name": "Flows"
        },
        "id": {
          "description": "Threat Id",
          "type": "integer",
          "format": "uint64",
          "x-go-name": "Id",
          "example": 1
        },
        "is_predefined": {
          "description": "Threat Is Predefined",
          "type": "boolean",
          "x-go-name": "IsPredefined",
          "example": false
        },
        "mitre_attack": {
          "description": "Threat Mitre Tactics",
          "type": "array",
          "items": {
            "$ref": "#/definitions/MitreDTO"
          },
          "x-go-name": "Mitres",
          "example": [
            {
              "tactic": "Credential Access",
              "techniques": [
                "OS Credential Dumping"
              ]
            },
            {
              "tactic": "Execution",
              "techniques": [
                "Inter-Process Communication"
              ]
            }
          ]
        },
        "name": {
          "description": "Threat Name",
          "type": "string",
          "x-go-name": "Name",
          "example": "Threat 1"
        },
        "release_date": {
          "description": "Threat Release Date",
          "type": "integer",
          "format": "int64",
          "x-go-name": "ReleaseDate",
          "example": 1649681264
        },
        "severity": {
          "description": "Threat Severity",
          "type": "string",
          "x-go-name": "Severity",
          "example": "High"
        },
        "tags": {
          "description": "Threat Tags",
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Tags",
          "example": [
            "Custom"
          ]
        },
        "unified_kill_chains": {
          "description": "Threat Kill Chain Phases",
          "type": "array",
          "items": {
            "$ref": "#/definitions/UkcDTO"
          },
          "x-go-name": "UnifiedKillChains",
          "example": [
            {
              "phases": [
                "Credential Access"
              ],
              "stage": "Network Propagation"
            },
            {
              "phases": [
                "Execution"
              ],
              "stage": "Network Propagation"
            }
          ]
        },
        "updated_at": {
          "description": "Threat Updated At",
          "type": "integer",
          "format": "int64",
          "x-go-name": "UpdatedAt",
          "example": 1654623047
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/threats"
    },
    "Ukc": {
      "type": "object",
      "properties": {
        "phase": {
          "description": "Unified kill chain Phase",
          "type": "string",
          "x-go-name": "Phase"
        },
        "stage": {
          "description": "Unified kill chain SÏtage",
          "type": "string",
          "x-go-name": "Stage"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/simulations_run"
    },
    "UkcDTO": {
      "type": "object",
      "properties": {
        "phases": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-go-name": "Phases"
        },
        "stage": {
          "type": "string",
          "x-go-name": "Stage"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/threats"
    },
    "UkcResults": {
      "type": "object",
      "properties": {
        "stages": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/StagesResult"
          },
          "x-go-name": "Stages"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/simulations_run/details"
    },
    "UpdateCustomDetectionContentInternalResponse": {
      "type": "object",
      "properties": {
        "message": {
          "type": "string",
          "x-go-name": "Message"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request"
    },
    "UrlFilteringConfig": {
      "type": "object",
      "properties": {
        "rule": {
          "description": "Rule in its human readable form",
          "type": "string",
          "x-go-name": "Rule"
        },
        "urls": {
          "description": "Results of the last url filtering test",
          "type": "array",
          "items": {
            "$ref": "#/definitions/UrlFilteringResult"
          },
          "x-go-name": "Urls"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/agents"
    },
    "UrlFilteringResult": {
      "type": "object",
      "properties": {
        "blocked": {
          "description": "Was the url blocked",
          "type": "boolean",
          "x-go-name": "Blocked"
        },
        "reason": {
          "description": "Why the url was not blocked",
          "type": "string",
          "x-go-name": "Reason"
        },
        "url": {
          "description": "Tested url",
          "type": "string",
          "x-go-name": "Url",
          "example": "http://example.com"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/agents"
    },
    "User": {
      "type": "object",
      "properties": {
        "email": {
          "description": "Email",
          "type": "string",
          "x-go-name": "Email",
          "example": "abc@def.com"
        },
        "last_login_time": {
          "description": "Event Time",
          "type": "string",
          "format": "date-time",
          "x-go-name": "LastLoginTime",
          "example": "1743141698"
        },
        "login_type": {
          "description": "LoginType",
          "type": "string",
          "x-go-name": "LoginType",
          "example": "sso"
        },
        "role": {
          "description": "Role",
          "type": "string",
          "x-go-name": "Role",
          "example": "admin"
        },
        "role_id": {
          "description": "RoleID",
          "type": "integer",
          "format": "uint64",
          "x-go-name": "RoleID",
          "example": 4567
        },
        "user_id": {
          "description": "UserID",
          "type": "integer",
          "format": "uint64",
          "x-go-name": "UserID",
          "example": 1234
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/internal_request"
    },
    "WatsConfig": {
      "type": "object",
      "properties": {
        "protocol": {
          "description": "Protocol ( http | https )",
          "type": "string",
          "x-go-name": "Protocol",
          "example": "https"
        },
        "rule": {
          "description": "Rule in its human readable form",
          "type": "string",
          "x-go-name": "Rule"
        },
        "url": {
          "description": "Target url",
          "type": "string",
          "x-go-name": "Url",
          "example": "https://wats.corp.local"
        },
        "waf_type": {
          "description": "Web application firewall type",
          "type": "string",
          "x-go-name": "WafType",
          "example": "ModSecurity"
        }
      },
      "x-go-package": "github.com/picusnext/picus-digital/go/customer-api/agents"
    }
  },
  "responses": {
    "ActionAlertsReturnSwagger": {
      "description": "",
      "schema": {
        "type": "object",
        "properties": {
          "alerts": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/ActionAlertDTO"
            },
            "x-go-name": "ActionAlerts"
          },
          "pages": {
            "$ref": "#/definitions/Pagination"
          }
        }
      }
    },
    "ActionCreateReturnResponse": {
      "description": "ActionCreateReturnResponse",
      "schema": {
        "type": "object",
        "properties": {
          "action": {
            "$ref": "#/definitions/CapiActionDTO"
          }
        }
      }
    },
    "ActionDetailListReturnResponse": {
      "description": "ActionDetailListReturnResponse",
      "schema": {
        "type": "object",
        "properties": {
          "actions": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/ActionReturn"
            },
            "x-go-name": "Actions"
          },
          "pages": {
            "$ref": "#/definitions/Pagination"
          }
        }
      }
    },
    "ActionDetailReturnResponse": {
      "description": "ActionDetailReturnResponse",
      "schema": {
        "type": "object",
        "properties": {
          "action": {
            "$ref": "#/definitions/ActionReturn"
          }
        }
      }
    },
    "ActionDetailsListReturnSwagger": {
      "description": "ActionDetailsListReturnSwagger",
      "schema": {
        "type": "object",
        "properties": {
          "actions": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/ActionDetailsDTO"
            },
            "x-go-name": "Actions"
          },
          "pages": {
            "$ref": "#/definitions/Pagination"
          }
        }
      }
    },
    "ActionDetailsReturnSwagger": {
      "description": "ActionDetailsReturnSwagger",
      "schema": {
        "type": "object",
        "properties": {
          "action_id": {
            "description": "Action Id",
            "type": "integer",
            "format": "uint64",
            "x-go-name": "ActionId"
          },
          "action_name": {
            "description": "Action Name",
            "type": "string",
            "x-go-name": "ActionName"
          },
          "affected_os": {
            "description": "Affected Os",
            "type": "array",
            "items": {
              "type": "string"
            },
            "x-go-name": "AffectedOS"
          },
          "affected_platforms": {
            "description": "Affected Platforms",
            "type": "array",
            "items": {
              "$ref": "#/definitions/PlatformCommon"
            },
            "x-go-name": "AffectedPlatforms"
          },
          "affected_products": {
            "description": "Affected Products",
            "type": "array",
            "items": {
              "type": "string"
            },
            "x-go-name": "AffectedProducts"
          },
          "attack_module": {
            "description": "Attack Module",
            "type": "string",
            "x-go-name": "AttackModule"
          },
          "attack_module_id": {
            "description": "Attack Module Id",
            "type": "integer",
            "format": "uint64",
            "x-go-name": "AttackModuleId"
          },
          "category": {
            "description": "Category",
            "type": "string",
            "x-go-name": "Category"
          },
          "completed_at": {
            "description": "Completed At",
            "type": "integer",
            "format": "int64",
            "x-go-name": "CompletedAt"
          },
          "description": {
            "description": "Description",
            "type": "string",
            "x-go-name": "Description"
          },
          "detection_analysis": {
            "$ref": "#/definitions/DetectionResult"
          },
          "display_id": {
            "description": "Display Id (Seen in UI)",
            "type": "integer",
            "format": "uint64",
            "x-go-name": "DisplayId"
          },
          "frameworks": {
            "$ref": "#/definitions/Frameworks"
          },
          "has_detection_analysis": {
            "description": "Has detection analysis",
            "type": "boolean",
            "x-go-name": "HasDetectionAnalysis"
          },
          "module_based_results": {
            "$ref": "#/definitions/ModuleBasedResults"
          },
          "node_id": {
            "description": "Node Id (One action can be in the same threat, it can be specified with node id)",
            "type": "integer",
            "format": "uint64",
            "x-go-name": "NodeId"
          },
          "owasp": {
            "description": "Owasp",
            "type": "string",
            "x-go-name": "Owasp"
          },
          "prevention": {
            "description": "Prevention Result",
            "type": "string",
            "x-go-name": "Prevention"
          },
          "protocol_based_result": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/ProtocolBasedResults"
            },
            "x-go-name": "ProtocolBasedResult"
          },
          "references": {
            "$ref": "#/definitions/ActionDetailReferences"
          },
          "sources": {
            "description": "Sources",
            "type": "array",
            "items": {
              "type": "string"
            },
            "x-go-name": "Sources"
          },
          "started_at": {
            "description": "Started At",
            "type": "integer",
            "format": "int64",
            "x-go-name": "StartedAt"
          }
        }
      }
    },
    "ActionListReturnResponse": {
      "description": "ActionListReturnResponse",
      "schema": {
        "type": "object",
        "properties": {
          "actions": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/ActionSummary"
            },
            "x-go-name": "Actions"
          },
          "pages": {
            "$ref": "#/definitions/Pagination"
          }
        }
      }
    },
    "ActionLogsReturnSwagger": {
      "description": "",
      "schema": {
        "type": "object",
        "properties": {
          "logs": {
            "description": "Log list",
            "type": "array",
            "items": {
              "$ref": "#/definitions/ActionLogDTO"
            },
            "x-go-name": "ActionLogs"
          },
          "pages": {
            "$ref": "#/definitions/Pagination"
          }
        }
      }
    },
    "ActionParametersResponse": {
      "description": "ActionParametersResponse",
      "schema": {
        "type": "object",
        "properties": {
          "action_categories": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/ActionParameterBase"
            },
            "x-go-name": "ActionCategories"
          },
          "affected_operating_systems": {
            "description": "Affected Operating System",
            "type": "array",
            "items": {
              "type": "string"
            },
            "x-go-name": "AffectedOperatingSystems",
            "example": "Windows"
          },
          "affected_products": {
            "description": "Affected Products",
            "type": "array",
            "items": {
              "type": "string"
            },
            "x-go-name": "AffectedProducts",
            "example": "Microsoft Windows"
          },
          "mitre": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/MitreParameter"
            },
            "x-go-name": "Mitre"
          },
          "platforms": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/ActionParameterBase"
            },
            "x-go-name": "Platforms"
          },
          "threat_actors": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/ThreatActor"
            },
            "x-go-name": "ThreatActors"
          },
          "ukc_phases": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/ActionParameterBase"
            },
            "x-go-name": "UkcPhases"
          },
          "url_categories": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/ActionParameterBase"
            },
            "x-go-name": "UrlCategories"
          }
        }
      }
    },
    "AgentDetailReturnSwagger": {
      "description": "AgentDetailReturnSwagger",
      "schema": {
        "type": "object",
        "properties": {
          "Agent": {
            "$ref": "#/definitions/AgentDetailReturn"
          }
        }
      }
    },
    "AgentsReturnSwagger": {
      "description": "AgentsReturnSwagger",
      "schema": {
        "type": "object",
        "properties": {
          "agents": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/AgentReturn"
            },
            "x-go-name": "Agents"
          }
        }
      }
    },
    "AssignRoleReturnSwagger": {
      "description": "",
      "schema": {
        "type": "object",
        "properties": {
          "success": {
            "description": "Success status of the update operation",
            "type": "boolean",
            "x-go-name": "Success",
            "example": true
          }
        }
      }
    },
    "AuthTokenResponse": {
      "description": "AuthTokenResponse",
      "schema": {
        "type": "object",
        "properties": {
          "expire_at": {
            "description": "When access token is expired at",
            "type": "integer",
            "format": "int64",
            "x-go-name": "ExpireAt",
            "example": 1650875751
          },
          "token": {
            "description": "Access Token",
            "type": "string",
            "x-go-name": "Token",
            "example": "access_token"
          }
        }
      }
    },
    "CreateCustomDetectionContentResponse": {
      "description": "CreateCustomDetectionContentResponse",
      "schema": {
        "$ref": "#/definitions/CreateCustomDetectionContentInternalResponse"
      }
    },
    "CustomActionKeywordReturnResponse": {
      "description": "CustomActionKeywordReturnResponse",
      "schema": {
        "$ref": "#/definitions/CustomActionKeywordOutput"
      }
    },
    "DeleteCustomDetectionContentResponse": {
      "description": "DeleteCustomDetectionContentResponse",
      "schema": {
        "$ref": "#/definitions/DeleteCustomDetectionContentInternalResponse"
      }
    },
    "DeleteUserReturnSwagger": {
      "description": "",
      "schema": {
        "type": "object",
        "properties": {
          "success": {
            "description": "Success status of the deletion operation",
            "type": "boolean",
            "x-go-name": "Success",
            "example": true
          }
        }
      }
    },
    "DetectionDevicesResponse": {
      "description": "DetectionDevicesResponse",
      "schema": {
        "type": "object",
        "properties": {
          "devices": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "description": "Device identifier",
                  "type": "integer",
                  "format": "int64",
                  "x-go-name": "Id"
                },
                "name": {
                  "description": "Human-readable device name (e.g. Splunk, QRadar)",
                  "type": "string",
                  "x-go-name": "Name"
                }
              }
            },
            "x-go-name": "Devices"
          }
        }
      }
    },
    "DeviceStatsByIdSwagger": {
      "description": "DeviceStatsByIdSwagger",
      "schema": {
        "type": "object",
        "properties": {
          "blocked_count": {
            "type": "integer",
            "format": "int64",
            "x-go-name": "BlockedCount"
          },
          "device_id": {
            "type": "integer",
            "format": "uint64",
            "x-go-name": "DeviceId"
          },
          "not_blocked_count": {
            "type": "integer",
            "format": "int64",
            "x-go-name": "NotBlockedCount"
          },
          "score": {
            "type": "integer",
            "format": "int64",
            "x-go-name": "Score"
          },
          "total_count": {
            "type": "integer",
            "format": "int64",
            "x-go-name": "TotalCount"
          }
        }
      }
    },
    "DevicesListSwagger": {
      "description": "DevicesListSwagger",
      "schema": {
        "type": "object",
        "properties": {
          "devices": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/MitigationDeviceCustomerApiResponse"
            },
            "x-go-name": "Devices"
          }
        }
      }
    },
    "DevicesListV2Swagger": {
      "description": "DevicesListV2Swagger",
      "schema": {
        "type": "object",
        "properties": {
          "devices": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "device_id": {
                  "type": "integer",
                  "format": "uint64",
                  "x-go-name": "DeviceId"
                },
                "device_name": {
                  "type": "string",
                  "x-go-name": "DeviceName"
                }
              }
            },
            "x-go-name": "Devices"
          }
        }
      }
    },
    "FileListReturnResponse": {
      "description": "FileListReturnResponse",
      "schema": {
        "type": "object",
        "properties": {
          "files": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/FileApiOutput"
            },
            "x-go-name": "Files"
          },
          "pages": {
            "$ref": "#/definitions/Pagination"
          }
        }
      }
    },
    "FileUploadReturnResponse": {
      "description": "FileUploadReturnResponse",
      "schema": {
        "$ref": "#/definitions/FileUploadOutput"
      }
    },
    "GenerateRefreshTokenInternalResponse": {
      "description": "",
      "headers": {
        "created_at": {
          "type": "integer",
          "format": "int64",
          "description": "When refresh token is created at"
        },
        "expired_at": {
          "type": "integer",
          "format": "int64",
          "description": "When refresh token is expired at"
        },
        "id": {
          "type": "integer",
          "format": "uint64",
          "description": "Token Id"
        },
        "is_expired": {
          "type": "boolean",
          "description": "Token expiration flag"
        },
        "name": {
          "type": "string",
          "description": "Name"
        },
        "token": {
          "type": "string",
          "description": "Refresh Token"
        }
      }
    },
    "GenerateSimulationReportResponse": {
      "description": "GenerateSimulationReportResponse",
      "schema": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/SimulationReportBasicOutput"
        }
      }
    },
    "GenericErrorResponse": {
      "description": "genericErrorSwagger is represents the erroneous cases",
      "schema": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer",
            "format": "int64",
            "x-go-name": "Code",
            "example": 400
          },
          "message": {
            "type": "string",
            "x-go-name": "Message",
            "example": "error message"
          },
          "success": {
            "type": "boolean",
            "x-go-name": "Success",
            "example": false
          }
        }
      }
    },
    "GenericErrorWithFieldsResponse": {
      "description": "genericErrorWithFieldsSwagger returns errors in key value format",
      "schema": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer",
            "format": "int64",
            "x-go-name": "Code",
            "example": 400
          },
          "errors": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "x-go-name": "Errors",
            "example": {
              "key1": "value1",
              "key2": "value2"
            }
          },
          "success": {
            "type": "boolean",
            "x-go-name": "Success",
            "example": false
          }
        }
      }
    },
    "GenericMessageResponse": {
      "description": "",
      "schema": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "x-go-name": "Message"
          }
        }
      }
    },
    "GetActivityLogsInputResponse": {
      "description": "",
      "schema": {
        "type": "object",
        "properties": {
          "activity_logs": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/ActivityLog"
            },
            "x-go-name": "ActivityLogs"
          },
          "pages": {
            "$ref": "#/definitions/Pagination"
          }
        }
      }
    },
    "GetCustomDetectionContentByIdResponse": {
      "description": "GetCustomDetectionContentByIdResponse",
      "schema": {
        "$ref": "#/definitions/CustomRuleDTO"
      }
    },
    "GetCustomDetectionContentResponse": {
      "description": "GetCustomDetectionContentResponse",
      "schema": {
        "type": "object",
        "properties": {
          "pagination": {
            "type": "object",
            "properties": {
              "currentPage": {
                "type": "integer",
                "format": "uint64",
                "x-go-name": "CurrentPage"
              },
              "currentPageSize": {
                "type": "integer",
                "format": "int64",
                "x-go-name": "CurrentPageSize"
              },
              "pageSize": {
                "type": "integer",
                "format": "uint64",
                "x-go-name": "PageSize"
              },
              "totalCount": {
                "type": "integer",
                "format": "int64",
                "x-go-name": "TotalCount"
              },
              "totalPageCount": {
                "type": "integer",
                "format": "int64",
                "x-go-name": "TotalPageCount"
              }
            },
            "x-go-name": "Pagination"
          },
          "rules": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "actions": {
                  "description": "List of associated threat actions",
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "format": "int64",
                        "x-go-name": "Id"
                      },
                      "name": {
                        "type": "string",
                        "x-go-name": "Name"
                      }
                    }
                  },
                  "x-go-name": "Actions"
                },
                "author": {
                  "description": "Author of the rule",
                  "type": "string",
                  "x-go-name": "Author"
                },
                "content_id": {
                  "description": "Unique identifier of the custom detection content item",
                  "type": "string",
                  "x-go-name": "ContentId"
                },
                "content_sources": {
                  "description": "Detection content sources (device-specific queries)",
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "deviceName": {
                        "type": "string",
                        "x-go-name": "DeviceName"
                      },
                      "policies": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        },
                        "x-go-name": "Policies"
                      },
                      "query": {
                        "type": "string",
                        "x-go-name": "Query"
                      },
                      "severity": {
                        "type": "string",
                        "x-go-name": "Severity"
                      }
                    }
                  },
                  "x-go-name": "ContentSources"
                },
                "name": {
                  "description": "Display name of the rule",
                  "type": "string",
                  "x-go-name": "Name"
                },
                "severity": {
                  "description": "Severity level of the rule (e.g. critical, high, medium, low)",
                  "type": "string",
                  "x-go-name": "Severity"
                },
                "tactics": {
                  "description": "List of MITRE ATT&CK tactic names",
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "x-go-name": "Tactics"
                },
                "techniques": {
                  "description": "List of associated MITRE ATT&CK techniques",
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "mitreId": {
                        "type": "string",
                        "x-go-name": "MitreId"
                      },
                      "name": {
                        "type": "string",
                        "x-go-name": "Name"
                      },
                      "url": {
                        "type": "string",
                        "x-go-name": "Url"
                      }
                    }
                  },
                  "x-go-name": "Techniques"
                },
                "type": {
                  "description": "Rule type (e.g. custom)",
                  "type": "string",
                  "x-go-name": "Type"
                }
              }
            },
            "x-go-name": "Rules"
          }
        }
      }
    },
    "GetRolesReturnSwagger": {
      "description": "",
      "schema": {
        "type": "object",
        "properties": {
          "pages": {
            "$ref": "#/definitions/Pagination"
          },
          "roles": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/Role"
            },
            "x-go-name": "Roles"
          }
        }
      }
    },
    "GetSimAgentDownloadLinkResponse": {
      "description": "GetSimAgentDownloadLinkResponse",
      "schema": {
        "type": "object",
        "properties": {
          "link": {
            "description": "Link",
            "type": "string",
            "x-go-name": "Link",
            "example": "\"https://download.picusnext.com/agents/windows/portable/1.0.0.0/picus-agent-windows-portable-1.0.0.0.exe\""
          },
          "short_url": {
            "description": "ShortURL",
            "type": "string",
            "x-go-name": "ShortURL",
            "example": "https://cutt.ly/1234567890"
          },
          "version": {
            "description": "Version",
            "type": "string",
            "x-go-name": "Version",
            "example": "1.2"
          }
        }
      }
    },
    "GetSimAgentInstallTokenResponse": {
      "description": "GetSimAgentInstallTokenResponse",
      "schema": {
        "type": "object",
        "properties": {
          "token": {
            "description": "Token",
            "type": "string",
            "x-go-name": "Token",
            "example": "ebsys...."
          }
        }
      }
    },
    "GetUsersInputResponse": {
      "description": "",
      "schema": {
        "type": "object",
        "properties": {
          "pages": {
            "$ref": "#/definitions/Pagination"
          },
          "users": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/User"
            },
            "x-go-name": "Users"
          }
        }
      }
    },
    "ImportThreatPackReturnResponse": {
      "description": "ImportThreatPackReturnResponse",
      "schema": {
        "type": "object",
        "properties": {
          "action_count": {
            "description": "Number of actions imported",
            "type": "integer",
            "format": "int64",
            "x-go-name": "ActionCount"
          },
          "attack_module": {
            "description": "Attack module of the imported threat",
            "type": "string",
            "x-go-name": "AttackModule"
          },
          "campaign_id": {
            "description": "The ID of the created threat",
            "type": "integer",
            "format": "uint64",
            "x-go-name": "CampaignID"
          },
          "category_names": {
            "description": "Category names of imported actions",
            "type": "array",
            "items": {
              "type": "string"
            },
            "x-go-name": "CategoryNames"
          },
          "filename": {
            "description": "Name of the YAML file that was imported",
            "type": "string",
            "x-go-name": "Filename"
          }
        }
      }
    },
    "IntegrationAgentsReturnSwagger": {
      "description": "IntegrationAgentsReturnSwagger",
      "schema": {
        "type": "object",
        "properties": {
          "integration_agents": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/IntegrationAgent"
            },
            "x-go-name": "IntegrationAgents"
          }
        }
      }
    },
    "IntegrationsReturnSwagger": {
      "description": "IntegrationsReturnSwagger",
      "schema": {
        "type": "object",
        "properties": {
          "integrations": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/IntegrationSummary"
            },
            "x-go-name": "Integrations"
          }
        }
      }
    },
    "InviteUserReturnSwagger": {
      "description": "",
      "schema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "uint64",
            "x-go-name": "ID"
          }
        }
      }
    },
    "LogSourcesResponse": {
      "description": "LogSourcesResponse",
      "schema": {
        "$ref": "#/definitions/DetectionContentLogSourceCustomerApiResponse"
      }
    },
    "MitreSubTechniquesResponse": {
      "description": "MitreSubTechniquesResponse",
      "schema": {
        "type": "object",
        "properties": {
          "sub_techniques": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "mitre_id": {
                  "description": "MITRE ATT&CK sub-technique identifier (e.g. T1059.001)",
                  "type": "string",
                  "x-go-name": "MitreId"
                },
                "name": {
                  "description": "Human-readable name of the sub-technique",
                  "type": "string",
                  "x-go-name": "Name"
                },
                "technique_mitre_id": {
                  "description": "Parent technique MITRE ID (e.g. T1059)",
                  "type": "string",
                  "x-go-name": "TechniqueMitreId"
                }
              }
            },
            "x-go-name": "SubTechniques"
          }
        }
      }
    },
    "MitreTacticsResponse": {
      "description": "MitreTacticsResponse",
      "schema": {
        "type": "object",
        "properties": {
          "tactics": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "mitre_id": {
                  "description": "MITRE ATT&CK tactic identifier (e.g. TA0001)",
                  "type": "string",
                  "x-go-name": "MitreId"
                },
                "name": {
                  "description": "Human-readable name of the tactic",
                  "type": "string",
                  "x-go-name": "Name"
                }
              }
            },
            "x-go-name": "Tactics"
          }
        }
      }
    },
    "MitreTechniquesResponse": {
      "description": "MitreTechniquesResponse",
      "schema": {
        "type": "object",
        "properties": {
          "techniques": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "mitre_id": {
                  "description": "MITRE ATT&CK technique identifier (e.g. T1059)",
                  "type": "string",
                  "x-go-name": "MitreId"
                },
                "name": {
                  "description": "Human-readable name of the technique",
                  "type": "string",
                  "x-go-name": "Name"
                }
              }
            },
            "x-go-name": "Techniques"
          }
        }
      }
    },
    "NotBlockedActionsListSwagger": {
      "description": "NotBlockedActionsListSwagger",
      "schema": {
        "type": "object",
        "properties": {
          "not_blocked_action_list": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/NotBlockedActionResponse"
            },
            "x-go-name": "NotBlockedActions"
          },
          "pagination": {
            "$ref": "#/definitions/Pagination"
          }
        }
      }
    },
    "ProcessCreateReturnResponse": {
      "description": "ProcessCreateReturnResponse",
      "schema": {
        "type": "object",
        "properties": {
          "process": {
            "$ref": "#/definitions/CapiProcessDTO"
          }
        }
      }
    },
    "ProcessListReturnResponse": {
      "description": "ProcessListReturnResponse",
      "schema": {
        "type": "object",
        "properties": {
          "pages": {
            "$ref": "#/definitions/Pagination"
          },
          "processes": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/Process"
            },
            "x-go-name": "Processes"
          }
        }
      }
    },
    "RawLogsReturnSwagger": {
      "description": "",
      "schema": {
        "type": "object",
        "properties": {
          "raw_log_file_links": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "x-go-name": "RawLogFileLinks"
          }
        }
      }
    },
    "RerunDetectionReturnSwagger": {
      "description": "RerunDetectionReturnSwagger",
      "schema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "x-go-name": "Success"
          }
        }
      }
    },
    "RuleDetailResponse": {
      "description": "RuleDetailResponse",
      "schema": {
        "$ref": "#/definitions/DetectionContentRuleDetailCustomerApiResponse"
      }
    },
    "RulesResponse": {
      "description": "RulesResponse",
      "schema": {
        "type": "object",
        "properties": {
          "pagination": {
            "$ref": "#/definitions/PaginationDTO"
          },
          "rules": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/RuleDTO"
            },
            "x-go-name": "Rules"
          }
        }
      }
    },
    "RunDetailResultsReturnSwagger": {
      "description": "",
      "schema": {
        "type": "object",
        "properties": {
          "mitre_attack_results": {
            "$ref": "#/definitions/MitreResults"
          },
          "unified_kill_chain_results": {
            "$ref": "#/definitions/UkcResults"
          }
        }
      }
    },
    "ScoresResponse": {
      "description": "ScoresResponse contains the list of instances for the requested host-exposure pairs.",
      "schema": {
        "type": "object",
        "properties": {
          "instance_scores": {
            "description": "List of exposure instance scores matching the requested pairs. Unmatched pairs are omitted.",
            "type": "array",
            "items": {
              "$ref": "#/definitions/ScoreItem"
            },
            "x-go-name": "InstanceScores"
          }
        }
      }
    },
    "SignatureListSwagger": {
      "description": "SignatureListSwagger",
      "schema": {
        "type": "object",
        "properties": {
          "signatures": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/Signature"
            },
            "x-go-name": "Signatures"
          }
        }
      }
    },
    "SimulateNowReturnSwagger": {
      "description": "SimulateNowReturnSwagger",
      "schema": {
        "type": "object",
        "properties": {
          "run_immediately": {
            "type": "boolean",
            "x-go-name": "RunImmediately"
          },
          "run_info": {
            "$ref": "#/definitions/SimulationRunApiOutput"
          },
          "simulation": {
            "$ref": "#/definitions/SimulationApiOutput"
          },
          "simulation_already_exist": {
            "type": "boolean",
            "x-go-name": "AssessmentAlreadyExist"
          }
        }
      }
    },
    "SimulationCancelReturnSwagger": {
      "description": "SimulationCancelReturnSwagger",
      "schema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "x-go-name": "Success"
          }
        }
      }
    },
    "SimulationCreateReturnSwagger": {
      "description": "SimulationCreateReturnSwagger",
      "schema": {
        "type": "object",
        "properties": {
          "run_immediately": {
            "type": "boolean",
            "x-go-name": "RunImmediately"
          },
          "run_info": {
            "$ref": "#/definitions/SimulationRunApiOutput"
          },
          "simulation": {
            "$ref": "#/definitions/SimulationApiOutput"
          },
          "simulation_already_exist": {
            "type": "boolean",
            "x-go-name": "AssessmentAlreadyExist"
          }
        }
      }
    },
    "SimulationDeleteReturnSwagger": {
      "description": "SimulationDeleteReturnSwagger",
      "schema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "x-go-name": "Success"
          }
        }
      }
    },
    "SimulationDetailReturnSwagger": {
      "description": "SimulationDetailReturnSwagger",
      "schema": {
        "type": "object",
        "properties": {
          "Simulations": {
            "$ref": "#/definitions/SimulationDetailsReturn"
          }
        }
      }
    },
    "SimulationReportDetailResponse": {
      "description": "SimulationReportDetailResponse",
      "schema": {
        "type": "object",
        "properties": {
          "format": {
            "description": "Report Format. One of: 'PDF' | 'CSV'",
            "type": "string",
            "x-go-name": "Format",
            "example": "PDF"
          },
          "id": {
            "description": "Report Id",
            "type": "integer",
            "format": "uint64",
            "x-go-name": "ID",
            "example": 1
          },
          "includesSensitiveData": {
            "description": "Displays threat information with access links if false (Only for CSV reports)",
            "type": "boolean",
            "x-go-name": "IncludesSensitiveData"
          },
          "isPreventionOnly": {
            "description": "True if report content includes only prevention results (not detection results)",
            "type": "boolean",
            "x-go-name": "IsPreventionOnly"
          },
          "name": {
            "description": "Report Name",
            "type": "string",
            "x-go-name": "Name"
          },
          "status": {
            "description": "Report Status. One of: 'IN PROGRESS' | 'COMPLETED' | 'ERROR'",
            "type": "string",
            "x-go-name": "Status",
            "example": "COMPLETED"
          }
        }
      }
    },
    "SimulationReportDownloadUrlResponse": {
      "description": "SimulationReportDownloadUrlResponse",
      "schema": {
        "type": "object",
        "properties": {
          "downloadUrl": {
            "type": "string",
            "x-go-name": "DownloadUrl"
          }
        }
      }
    },
    "SimulationRunDetailResponse": {
      "description": "SimulationRunDetailResponse",
      "schema": {
        "type": "object",
        "properties": {
          "completed_at": {
            "description": "Completed At (if completed)",
            "type": "integer",
            "format": "int64",
            "x-go-name": "CompletedAt"
          },
          "completion_ratio": {
            "type": "integer",
            "format": "int64",
            "x-go-name": "CompletionRatio"
          },
          "fail_reason_message": {
            "type": "string",
            "x-go-name": "FailReasonMessage"
          },
          "results": {
            "$ref": "#/definitions/SimulationResultDTO"
          },
          "scheduled_time": {
            "type": "integer",
            "format": "int64",
            "x-go-name": "ScheduledTime"
          },
          "simulation_id": {
            "description": "Simulation Id",
            "type": "integer",
            "format": "uint64",
            "x-go-name": "SimulationId"
          },
          "simulation_run_id": {
            "description": "Simulation Run Id",
            "type": "integer",
            "format": "uint64",
            "x-go-name": "SimulationRunId"
          },
          "started_at": {
            "description": "Started At",
            "type": "integer",
            "format": "int64",
            "x-go-name": "StartedAt"
          },
          "status": {
            "description": "Status STOPPED | WAITING FOR THE FIRST RUN | NOT STARTED | COMPLETED",
            "type": "string",
            "x-go-name": "Status"
          },
          "status_details": {
            "$ref": "#/definitions/StatusDetails"
          },
          "template_id": {
            "description": "Template Id",
            "type": "integer",
            "format": "uint64",
            "x-go-name": "TemplateId"
          }
        }
      }
    },
    "SimulationUpdateReturnSwagger": {
      "description": "SimulationUpdateReturnSwagger",
      "schema": {
        "type": "object",
        "properties": {
          "run_immediately": {
            "type": "boolean",
            "x-go-name": "RunImmediately"
          },
          "simulation": {
            "$ref": "#/definitions/SimulationApiOutput"
          }
        }
      }
    },
    "SimulationsResponse": {
      "description": "SimulationsResponse",
      "schema": {
        "type": "object",
        "properties": {
          "pages": {
            "$ref": "#/definitions/Pagination"
          },
          "simulations": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/SimulationSummary"
            },
            "x-go-name": "Simulations"
          }
        }
      }
    },
    "SourcesResponse": {
      "description": "SourcesResponse",
      "schema": {
        "type": "object",
        "properties": {
          "sources": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/SourceWithRuleCount"
            },
            "x-go-name": "Sources"
          }
        }
      }
    },
    "SummaryResponse": {
      "description": "SummaryResponse",
      "schema": {
        "type": "object",
        "properties": {
          "summary": {
            "$ref": "#/definitions/SummaryOverallResponse"
          }
        }
      }
    },
    "TagsListReturnResponse": {
      "description": "TagsListReturnResponse",
      "schema": {
        "type": "object",
        "properties": {
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/GenericIDNameItemDTO"
            },
            "x-go-name": "Tags"
          }
        }
      }
    },
    "TemplateCreateReturnSwagger": {
      "description": "TemplateCreateReturnSwagger",
      "schema": {
        "type": "object",
        "properties": {
          "content": {
            "$ref": "#/definitions/SingleTemplateContentResponse"
          },
          "content_type": {
            "description": "Content Type (Static | Dynamic)",
            "type": "string",
            "x-go-name": "ContentType",
            "example": "Static"
          },
          "content_update_time": {
            "description": "Template Content Update Time (1655748108944)",
            "type": "integer",
            "format": "int64",
            "x-go-name": "ContentUpdateTime",
            "example": 1655748108944
          },
          "creation_time": {
            "description": "Template Creation Time (1655748108944)",
            "type": "integer",
            "format": "int64",
            "x-go-name": "CreationTime",
            "example": 1655748108944
          },
          "description": {
            "description": "Template Description (High Severity Threats For Last 30 Days)",
            "type": "string",
            "x-go-name": "Description",
            "example": "High Severity Threats For Last 30 Days"
          },
          "id": {
            "description": "Template Id (1)",
            "type": "integer",
            "format": "uint64",
            "x-go-name": "ID",
            "example": 1
          },
          "name": {
            "description": "Template Name (Example Template)",
            "type": "string",
            "x-go-name": "Name",
            "example": "Example Template"
          },
          "rules": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/TemplateRule"
            },
            "x-go-name": "Rules"
          }
        }
      }
    },
    "TemplateDetailReturnSwagger": {
      "description": "TemplateDetailReturnSwagger",
      "schema": {
        "type": "object",
        "properties": {
          "Template": {
            "$ref": "#/definitions/TemplateDetailReturn"
          }
        }
      }
    },
    "TemplatesReturnSwagger": {
      "description": "TemplatesReturnSwagger",
      "schema": {
        "type": "object",
        "properties": {
          "pages": {
            "$ref": "#/definitions/Pagination"
          },
          "templates": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/TemplateReturn"
            },
            "x-go-name": "Templates"
          }
        }
      }
    },
    "ThreatActorListReturnResponse": {
      "description": "ThreatActorListReturnResponse",
      "schema": {
        "type": "object",
        "properties": {
          "threat_actors": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/ThreatActor"
            },
            "x-go-name": "ThreatActors"
          }
        }
      }
    },
    "ThreatCreateReturnResponse": {
      "description": "ThreatCreateReturnResponse",
      "schema": {
        "type": "object",
        "properties": {
          "threat": {
            "$ref": "#/definitions/CapiThreatDTO"
          }
        }
      }
    },
    "ThreatDeleteReturnResponse": {
      "description": "ThreatDeleteReturnResponse",
      "schema": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "x-go-name": "Message"
          }
        }
      }
    },
    "ThreatDetailReturnResponse": {
      "description": "ThreatDetailReturnResponse",
      "schema": {
        "type": "object",
        "properties": {
          "threat": {
            "$ref": "#/definitions/ThreatReturn"
          }
        }
      }
    },
    "ThreatResultsReturnSwagger": {
      "description": "ThreatResultsReturnSwagger",
      "schema": {
        "type": "object",
        "properties": {
          "pages": {
            "$ref": "#/definitions/Pagination"
          },
          "threats": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/SimulationRunThreat"
            },
            "x-go-name": "SimulationThreatResult"
          }
        }
      }
    },
    "ThreatUpdateReturnResponse": {
      "description": "ThreatUpdateReturnResponse",
      "schema": {
        "type": "object",
        "properties": {
          "threat": {
            "$ref": "#/definitions/CapiThreatDTO"
          }
        }
      }
    },
    "ThreatsReturnResponse": {
      "description": "ThreatsReturnResponse",
      "schema": {
        "type": "object",
        "properties": {
          "pages": {
            "$ref": "#/definitions/Pagination"
          },
          "threats": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/ThreatsReturn"
            },
            "x-go-name": "Threats"
          }
        }
      }
    },
    "UpdateCustomDetectionContentResponse": {
      "description": "UpdateCustomDetectionContentResponse",
      "schema": {
        "$ref": "#/definitions/UpdateCustomDetectionContentInternalResponse"
      }
    },
    "fileResponse": {
      "description": "A file download response",
      "schema": {
        "type": "array",
        "items": {
          "type": "integer",
          "format": "uint8"
        }
      }
    },
    "genericErrorSwagger": {
      "description": "genericErrorSwagger is represents the erroneous cases",
      "schema": {
        "type": "object",
        "properties": {
          "error_code": {
            "description": "Error Code is optional. It is using for define specific error types.",
            "type": "integer",
            "format": "int64",
            "x-go-name": "ErrorCode",
            "example": 1001
          },
          "errors": {
            "description": "Errors are optional. If there are multiple error, this field gives details.",
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "x-go-name": "Errors",
            "example": "[\"error1\", \"error2\"]"
          },
          "message": {
            "description": "Error Message that contains information about error",
            "type": "string",
            "x-go-name": "Message"
          }
        }
      }
    },
    "genericErrorWithSuccessSwagger": {
      "description": "genericErrorWithSuccessSwagger is represents the erroneous cases with success field",
      "schema": {
        "type": "object",
        "properties": {
          "error_code": {
            "description": "Error Code is optional. It is using for define specific error types.",
            "type": "integer",
            "format": "int64",
            "x-go-name": "ErrorCode",
            "example": 1001
          },
          "errors": {
            "description": "Errors are optional. If there are multiple error, this field gives details.",
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "x-go-name": "Errors",
            "example": "[\"error1\", \"error2\"]"
          },
          "message": {
            "description": "Error Message that contains information about error",
            "type": "string",
            "x-go-name": "Message"
          },
          "success": {
            "description": "Success is used for specific responses.",
            "type": "boolean",
            "x-go-name": "Success",
            "example": false
          }
        }
      }
    },
    "internalServerErrorSwagger": {
      "description": "internalServerErrorSwagger represents internal server error",
      "schema": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "x-go-name": "Message",
            "example": "internal server error"
          }
        }
      }
    },
    "notFoundErrorSwagger": {
      "description": "notFoundErrorSwagger represents not found error",
      "schema": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "x-go-name": "Message",
            "example": "not found error"
          }
        }
      }
    },
    "unauthorizedErrorSwagger": {
      "description": "unauthorizedErrorSwagger is represents unauthorized error",
      "schema": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "x-go-name": "Message",
            "example": "unauthorized error"
          }
        }
      }
    },
    "validationErrorSwagger": {
      "description": "validationErrorSwagger is represents the erroneous cases",
      "schema": {
        "type": "object",
        "properties": {
          "errors": {
            "description": "Validation Error List",
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "x-go-name": "Errors",
            "example": {
              "param": "tag=max, param=25, given value=1000"
            }
          },
          "message": {
            "description": "Message will be \"validation error\"",
            "type": "string",
            "x-go-name": "Message",
            "example": "validation error"
          }
        }
      }
    }
  },
  "securityDefinitions": {
    "Access-Token": {
      "description": "After getting the access token, type <i>Bearer accessToken</i> to the Value input box to request access to the below endpoints For example <i>Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9</i>",
      "type": "apiKey",
      "name": "Authorization",
      "in": "header"
    }
  },
  "security": [
    {
      "Access-Token": []
    }
  ]
}
