diff --git a/openapi-specs/cspm/AlertsNotificationMicroService.json b/openapi-specs/cspm/AlertsNotificationMicroService.json new file mode 100644 index 000000000..96c49f914 --- /dev/null +++ b/openapi-specs/cspm/AlertsNotificationMicroService.json @@ -0,0 +1,794 @@ +{ + "openapi": "3.0.3", + "info": { + "title": "On-demand Alert Notification APIs (Alerts side)", + "version": "1.0.0" + }, + "paths": { + "/alerts/api/v1/notification/ondemand": { + "post": { + "summary": "Create On Demand Notification", + "description": "Create on demand notification for an alert. Supported channels are: \n1. Jira\n2. Email \n3. Slack\n:::info\nThis endpoint is available on the Prisma Cloud Darwin release only.\n:::\n", + "operationId": "create-Ondemand-Notification", + "tags": [ + "Alerts" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "$ref": "#/components/schemas/OnDemandNotificationConfigRequest" + }, + "examples": { + "1": { + "summary": "On-demand Jira Notification Config Request", + "value": { + "alertId": "P-17952602", + "onDemandNotificationConfig": { + "integrationType": "jira", + "templateId": "Jira template Id", + "recipients": [ + "integration id for jira or email for email etc." + ] + } + } + }, + "2": { + "summary": "On-demand Email Notification Config Request", + "value": { + "alertId": "P-486491", + "onDemandNotificationConfig": { + "integrationType": "email", + "recipients": [ + "xxxx@paloaltonetworks.com", + "yyyy@paloaltonetworks.com" + ] + }, + "translation": { + "body": "Free text message (optional)", + "details": { + "sender": "John Doe", + "recipients": "John Doe, Tom Cruise (optional)", + "callbackUrl": "https://app-sam105348.sam.prismacloud.io/alerts/overview?viewId%3Ddefault%26filters%3D%7B%22timeRange%22%3A%7B%22type%22%3A%22to_now%22%2C%22value%22%3A%22epoch%22%7D%2C%22timeRange.type%22%3A%22ALERT_OPENED%22%2C%22alert.status%22%3A%5B%22open%22%5D%2C%22alert.id%22%3A%5B%22A-1002%22%5D%7D%26openAlertId%3DA-363 (optional)", + "assetCallbackUrl": "https://kchen-rlp-120271-snap.prismacloud.dev/inventory/assets/asset-explorer?assetId=ceac319a5dbe3e2de706271be29289e9 (optional)" + } + } + } + }, + "3": { + "summary": "On-demand Slack Notification Config Request", + "value": { + "alertId": "A-292704246", + "onDemandNotificationConfig": { + "integrationType": "slack", + "recipients": [ + "" + ] + }, + "translation": { + "body": "Free text message (optional)", + "details": { + "callbackUrl": "https://app-sam105348.sam.prismacloud.io/alerts/overview?viewId%3Ddefault%26filters%3D%7B%22timeRange%22%3A%7B%22type%22%3A%22to_now%22%2C%22value%22%3A%22epoch%22%7D%2C%22timeRange.type%22%3A%22ALERT_OPENED%22%2C%22alert.status%22%3A%5B%22open%22%5D%2C%22alert.id%22%3A%5B%22A-1002%22%5D%7D%26openAlertId%3DA-363 (optional)", + "assetCallbackUrl": "https://kchen-rlp-120271-snap.prismacloud.dev/inventory/assets/asset-explorer?assetId=ceac319a5dbe3e2de706271be29289e9 (optional)" + } + } + } + } + } + } + } + }, + "responses": { + "201": { + "description": "Created", + "content": { + "application/json;charset=UTF-8": { + "schema": { + "type": "object", + "$ref": "#/components/schemas/NotificationResponse" + }, + "examples": { + "1": { + "summary": "On-demand Jira Notification Response", + "value": { + "success": 1, + "failed": 0, + "successfulEvents": [ + { + "recipient": { + "generatorType": "REALTIME", + "integrationType": "jira", + "id": "151fbea7-8a64-4367-b500-735b685752bf" + }, + "customerId": 3, + "clientId": "CS", + "metaData": { + "jiraKey": "P-1234(JIRA ID)" + }, + "notificationId": "dd67ac26-b2e2-4775-abbf-a40a6dec6a24" + } + ], + "failedEvents": {} + } + }, + "2": { + "summary": "On-demand Email Notification Response", + "value": { + "success": 1, + "failed": 0, + "successfulEvents": [ + { + "recipient": { + "generatorType": "REALTIME", + "integrationType": "email", + "id": "xxxx@paloaltonetworks.com, yyyy@paloaltonetworks.com" + }, + "customerId": 6, + "clientId": "CS", + "id": "null#1809667743", + "notificationId": "b9f0ac86-cb46-4859-9779-1385f97d4e56" + } + ], + "failedEvents": {} + } + }, + "3": { + "summary": "On-demand Slack Notification Response", + "value": { + "success": 1, + "failed": 0, + "successfulEvents": [ + { + "recipient": { + "generatorType": "REALTIME", + "integrationType": "slack", + "id": "92bf2080-dee0-4145-b4d8-19de27cf1f00" + }, + "customerId": 6, + "clientId": "CS", + "id": "null#1739477015", + "notificationId": "30b98415-10b5-4ed8-a994-e8ff82cca531" + } + ], + "failedEvents": {} + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json;charset=UTF-8": { + "schema": { + "type": "object", + "$ref": "#/components/schemas/ErrorResponse" + }, + "examples": { + "1": { + "value": { + "error": { + "code": "BAD_REQUEST", + "message": "alertId is not defined" + } + } + } + } + } + } + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not Found" + }, + "429": { + "description": "Too Many Requests" + } + }, + "x-public": "true", + "x-ga": "24.1.2-darwin", + "security": [ + { + "x-redlock-auth": [] + } + ] + } + } + }, + "components": { + "schemas": { + "OnDemandNotificationConfigRequest": { + "title": "OnDemandNotificationConfigRequest (/alerts/api/v1/notification/ondemand or /config Request)", + "type": "object", + "required": true, + "properties": { + "prismaId": { + "required": false, + "type": "long" + }, + "alertId": { + "required": true, + "type": "string" + }, + "onDemandNotificationConfig": { + "type": "object", + "required": true, + "$ref": "#/components/schemas/OnDemandNotificationConfig" + }, + "translation": { + "type": "object", + "required": false, + "$ref": "#/components/schemas/Translation" + } + } + }, + "OnDemandNotificationConfig": { + "title": "OnDemandNotificationConfig", + "type": "object", + "properties": { + "id": { + "required": false, + "type": "string" + }, + "clientId": { + "required": false, + "type": "string" + }, + "generatorType": { + "required": false, + "type": "string" + }, + "integrationType": { + "required": true, + "type": "string" + }, + "templateId": { + "required": true, + "type": "string" + }, + "recipients": { + "required": true, + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "Translation": { + "title": "Translation", + "type": "object", + "properties": { + "body": { + "required": true, + "type": "string" + }, + "details": { + "required": false, + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "attachments": { + "required": false, + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "NotificationResponse": { + "title": "NotificationResponse (/alerts/api/v1/notification/ondemand Response)", + "type": "object", + "properties": { + "success": { + "type": "integer" + }, + "failed": { + "type": "integer" + }, + "successfulEvents": { + "type": "object", + "$ref": "#/components/schemas/SuccessfulEvents" + }, + "failedEvents": { + "type": "object" + } + } + }, + "SuccessfulEvents": { + "title": "SuccessfulEvents (/alerts/api/v1/notification/ondemand Response sub object)", + "type": "object", + "properties": { + "recipient": { + "type": "object" + }, + "customerId": { + "type": "integer" + }, + "clientId": { + "type": "string" + }, + "metaData": { + "type": "object" + }, + "notificationId": { + "type": "string" + } + } + }, + "AlertModel": { + "title": "AlertModel (/alerts/api/v1/notification/metadata Requesst)", + "type": "object", + "required": [ + "accountId", + "clientId", + "cloudType", + "customerId", + "metadataTs", + "policyTs", + "policyType", + "resourceId", + "resourceTs", + "stackName", + "verdict" + ], + "properties": { + "accountId": { + "type": "string", + "example": "ACC657432" + }, + "additionalHash": { + "type": "integer", + "format": "int64", + "example": 553195237 + }, + "alertId": { + "type": "string" + }, + "alertRuleIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "alertRuleTs": { + "type": "integer", + "format": "int64" + }, + "allowAutoRemediation": { + "type": "boolean", + "description": "Allow auto remediation." + }, + "attributionSupported": { + "type": "boolean", + "description": "Attribution supported." + }, + "clientId": { + "type": "string", + "description": "client Id." + }, + "cloudType": { + "type": "integer", + "format": "int32", + "example": "1 - aws" + }, + "customerId": { + "type": "string", + "example": "11111" + }, + "externalResourceId": { + "type": "string", + "example": "1010101" + }, + "history": { + "type": "array", + "items": { + "$ref": "#/components/schemas/HistoryModel" + } + }, + "metadata": { + "example": "", + "$ref": "#/components/schemas/JsonNode" + }, + "metadataTs": { + "type": "integer", + "format": "int64" + }, + "policyId": { + "type": "string", + "example": "222233" + }, + "policyTs": { + "type": "integer", + "format": "int64" + }, + "policyType": { + "type": "integer", + "format": "int32", + "example": "1 - config" + }, + "reason": { + "type": "string", + "enum": [ + "RESOURCE_DELETED", + "RESOURCE_UPDATED", + "POLICY_UNAVAILABLE", + "POLICY_UPDATED", + "POLICY_DISABLED", + "POLICY_DELETED", + "ALERT_RULE_UPDATED", + "ALERT_RULE_DISABLED", + "ALERT_RULE_DELETED", + "ACCOUNT_GROUP_UPDATED", + "ACCOUNT_GROUP_DELETED", + "ANOMALY_CONFIG_CHANGED", + "REMEDIATED", + "USER_DISMISSED", + "USER_REOPENED", + "MDC_REOPEN_FOR_ACCIDENTAL_DELETE", + "NEW_ALERT", + "EXISTING_ALERT_RESOURCE_UPDATED", + "RESOURCE_POLICY_RESCOPED", + "NETWORK_DISMISSED_AUTO_REOPEN", + "SNOOZED_AUTO_REOPEN", + "RESOURCE_ADDED", + "POLICY_ENABLED", + "ACCOUNT_ENABLED", + "ACCOUNT_DISABLED", + "ACCOUNT_DELETED", + "ACCOUNT_ADDED", + "ALERT_RULE_ADDED", + "ALERT_RULE_UPDATED_DESCOPE", + "ALERT_RULE_UPDATED_UPSCOPE", + "MDC_UNDELETED", + "MDC_DELETE", + "ALERT_REMEDIATED", + "SNOOZE_EXPIRED", + "SCHEDULED", + "AUTO_REMEDIATED", + "MANUALLY_REMEDIATED" + ] + }, + "region": { + "type": "string", + "example": "us-east-2" + }, + "resourceAdditionalInfo": { + "example": "", + "$ref": "#/components/schemas/JsonNode" + }, + "resourceApiId": { + "type": "integer", + "format": "int32", + "example": "16" + }, + "resourceData": { + "example": "", + "$ref": "#/components/schemas/JsonNode" + }, + "resourceDeletedTs": { + "type": "integer", + "format": "int64" + }, + "resourceId": { + "type": "string", + "example": "1010101" + }, + "resourceName": { + "type": "string", + "example": "web server" + }, + "resourceTs": { + "type": "integer", + "format": "int64" + }, + "rrn": { + "type": "string", + "example": "rrn:aws:storageObject:us-east-2:1234" + }, + "stackName": { + "type": "string", + "example": "app2" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AlertTags" + } + }, + "url": { + "type": "string", + "example": "rrn:aws:storageObject:us-east-2:1234:app-qa-logs:/AWSLogs/1234/2020/04/04/1234.log.gz" + }, + "verdict": { + "type": "string", + "description": "Verdict from Config Scanner used for Create Alerts.", + "enum": [ + "PASS", + "FAIL" + ] + } + } + }, + "HistoryModel": { + "type": "object", + "properties": { + "alertTs": { + "type": "integer", + "format": "int64" + }, + "modifiedBy": { + "type": "string" + }, + "note": { + "type": "string" + }, + "reason": { + "type": "string", + "enum": [ + "RESOURCE_DELETED", + "RESOURCE_UPDATED", + "POLICY_UNAVAILABLE", + "POLICY_UPDATED", + "POLICY_DISABLED", + "POLICY_DELETED", + "ALERT_RULE_UPDATED", + "ALERT_RULE_DISABLED", + "ALERT_RULE_DELETED", + "ACCOUNT_GROUP_UPDATED", + "ACCOUNT_GROUP_DELETED", + "ANOMALY_CONFIG_CHANGED", + "REMEDIATED", + "USER_DISMISSED", + "USER_REOPENED", + "MDC_REOPEN_FOR_ACCIDENTAL_DELETE", + "NEW_ALERT", + "EXISTING_ALERT_RESOURCE_UPDATED", + "RESOURCE_POLICY_RESCOPED", + "NETWORK_DISMISSED_AUTO_REOPEN", + "SNOOZED_AUTO_REOPEN", + "RESOURCE_ADDED", + "POLICY_ENABLED", + "ACCOUNT_ENABLED", + "ACCOUNT_DISABLED", + "ACCOUNT_DELETED", + "ACCOUNT_ADDED", + "ALERT_RULE_ADDED", + "ALERT_RULE_UPDATED_DESCOPE", + "ALERT_RULE_UPDATED_UPSCOPE", + "MDC_UNDELETED", + "MDC_DELETE", + "ALERT_REMEDIATED", + "SNOOZE_EXPIRED", + "SCHEDULED", + "AUTO_REMEDIATED", + "MANUALLY_REMEDIATED" + ] + }, + "status": { + "type": "integer", + "format": "int32" + } + }, + "title": "HistoryModel" + }, + "JsonNode": { + "type": "object", + "properties": { + "array": { + "type": "boolean" + }, + "bigDecimal": { + "type": "boolean" + }, + "bigInteger": { + "type": "boolean" + }, + "binary": { + "type": "boolean" + }, + "boolean": { + "type": "boolean" + }, + "containerNode": { + "type": "boolean" + }, + "double": { + "type": "boolean" + }, + "empty": { + "type": "boolean" + }, + "float": { + "type": "boolean" + }, + "floatingPointNumber": { + "type": "boolean" + }, + "int": { + "type": "boolean" + }, + "integralNumber": { + "type": "boolean" + }, + "long": { + "type": "boolean" + }, + "missingNode": { + "type": "boolean" + }, + "nodeType": { + "type": "string", + "enum": [ + "ARRAY", + "BINARY", + "BOOLEAN", + "MISSING", + "NULL", + "NUMBER", + "OBJECT", + "POJO", + "STRING" + ] + }, + "null": { + "type": "boolean" + }, + "number": { + "type": "boolean" + }, + "object": { + "type": "boolean" + }, + "pojo": { + "type": "boolean" + }, + "short": { + "type": "boolean" + }, + "textual": { + "type": "boolean" + }, + "valueNode": { + "type": "boolean" + } + }, + "title": "JsonNode" + }, + "AlertTags": { + "title": "AlertTags", + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, + "NotificationMetadata": { + "title": "NotificationMetadata (/alert/v1/notification/metadata Response)", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "ErrorResponse": { + "title": "ErrorResponse", + "type": "object", + "required": true, + "properties": { + "error": { + "type": "object", + "required": true, + "$ref": "#/components/schemas/Error" + } + } + }, + "Error": { + "title": "Error", + "type": "object", + "required": true, + "properties": { + "code": { + "required": true, + "type": "string" + }, + "message": { + "required": true, + "type": "string" + }, + "target": { + "required": false, + "type": "string" + }, + "details": { + "required": false, + "type": "array", + "items": { + "$ref": "#/components/schemas/Error" + } + } + } + } + }, + "securitySchemes": { + "x-redlock-auth": { + "description": "The x-redlock-auth value is a JSON Web Token (JWT).", + "in": "header", + "name": "x-redlock-auth", + "type": "apiKey" + } + } + }, + "securitySchemes": { + "oauth_authcode": { + "description": "Authentication via OAuth2 with authorization code flow", + "type": "oauth2", + "flows": { + "authorizationCode": { + "authorizationUrl": "https://api-stage.prismacloud.io/_service/auth-server/api/v1/oauth", + "tokenUrl": "https://api-stage.prismacloud.io/_service/auth-server/api/v1/token_info" + } + } + } + }, + "servers": [ + { + "url": "https://api.prismacloud.io" + }, + { + "url": "https://api2.prismacloud.io" + }, + { + "url": "https://api3.prismacloud.io" + }, + { + "url": "https://api4.prismacloud.io" + }, + { + "url": "https://api.anz.prismacloud.io" + }, + { + "url": "https://api.eu.prismacloud.io" + }, + { + "url": "https://api2.eu.prismacloud.io" + }, + { + "url": "https://api.gov.prismacloud.io" + }, + { + "url": "https://api.prismacloud.cn" + }, + { + "url": "https://api.ca.prismacloud.io" + }, + { + "url": "https://api.sg.prismacloud.io" + }, + { + "url": "https://api.uk.prismacloud.io" + }, + { + "url": "https://api.ind.prismacloud.io" + }, + { + "url": "https://api.jp.prismacloud.io" + }, + { + "url": "https://api.fr.prismacloud.io" + } + ] +} diff --git a/openapi-specs/cspm/CommandCenterMicroService.json b/openapi-specs/cspm/CommandCenterMicroService.json index 6ce2aec11..826eac266 100644 --- a/openapi-specs/cspm/CommandCenterMicroService.json +++ b/openapi-specs/cspm/CommandCenterMicroService.json @@ -7,18 +7,166 @@ "tags": [ { "name": "Command Center", - "description": "The Command Center dashboard provides you with a unified view of the top cloud security incidents and risks uncovered across the assets monitored by Prisma™ Cloud. Use the following APIs to fetch the Command Center Dashboard details." + "description": "The Command Center dashboard provides you with a unified view of the top cloud security incidents and risks uncovered across the assets monitored by Prisma™ Cloud. Use the following APIs to fetch the Command Center Dashboard details.", + "x-public": "true", + "x-ga": "23.10.2" }, { "name": "Command Center Download Report APIs", "description": "Command Center Download Report APIs for downloading reports" }, + { + "name": "Command Center Support APIs" + }, { "name": "Command Center Swimlane APIs", "x-public": "true" + }, + { + "name": "Value Widgets Support APIs", + "x-public": "false" + }, + { + "name": "Widgets", + "x-public": "true", + "x-ga": "24.1.2" } ], "paths": { + "/api/v1/metrics/alert-count-by-resolution-reason": { + "post": { + "tags": [ + "Widgets" + ], + "summary": "Get Alerts Count By Resolution Reason", + "description": "The API returns number of resolved alerts grouped by the resolution reason. \nYou must have **system admin** role to access this endpoint.", + "operationId": "value-widgets-alert-metrics-resolution-reason", + "parameters": [ + { + "name": "x-redlock-auth", + "in": "header", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/WidgetApiRequestResolutionReasonFilterRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResolutionReasonResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "429": { + "description": "Too Many Requests" + } + }, + "security": [ + { + "x-redlock-auth": [] + } + ], + "x-public": "true", + "x-ga": "24.1.2" + } + }, + "/api/v1/metrics/alert-mean-resolution-time": { + "post": { + "tags": [ + "Widgets" + ], + "summary": "Get Mean Resolution Time", + "description": "The API returns the mean resolution time of the alert in days per severity based on the filters.\n You must have **system admin** role to access this endpoint.", + "operationId": "value-widgets-alert-metrics", + "parameters": [ + { + "name": "x-redlock-auth", + "in": "header", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/WidgetApiRequestMeanResolutionTimeFilterRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MeanResolutionResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "429": { + "description": "Too Many Requests" + } + }, + "security": [ + { + "x-redlock-auth": [] + } + ], + "x-public": "true", + "x-ga": "24.1.2" + } + }, "/api/v1/summary/{swimlane-type}": { "post": { "tags": [ @@ -91,7 +239,8 @@ "x-redlock-auth": [] } ], - "x-public": "true" + "x-public": "true", + "x-ga": "23.10.2" } }, "/api/v1/top-assets/{swimlane-type}": { @@ -166,7 +315,8 @@ "x-redlock-auth": [] } ], - "x-public": "true" + "x-public": "true", + "x-ga": "23.10.2" } }, "/api/v1/top-policies/{swimlane-type}": { @@ -241,7 +391,8 @@ "x-redlock-auth": [] } ], - "x-public": "true" + "x-public": "true", + "x-ga": "23.10.2" } }, "/v1/top-vulnerabilities": { @@ -333,6 +484,13 @@ "description": "Gets the summary data for all the vulnerable images and hosts, for the request time, accounts and account groups", "operationId": "command-center-list-total-vulnerable-images-hosts", "parameters": [ + { + "name": "prismaId", + "in": "query", + "schema": { + "type": "string" + } + }, { "name": "x-redlock-auth", "in": "header", @@ -381,12 +539,12 @@ "description": "Too Many Requests" } }, + "x-public": "true", "security": [ { "x-redlock-auth": [] } - ], - "x-public": "true" + ] } } }, @@ -476,6 +634,149 @@ ], "type": "string" }, + "LastScanInfo": { + "type": "object", + "properties": { + "id": { + "format": "int64", + "type": "integer" + }, + "lastAggregationTs": { + "format": "int64", + "type": "integer" + }, + "lastDeltaTs": { + "format": "int64", + "type": "integer" + }, + "status": { + "type": "string" + }, + "errorMsg": { + "type": "string" + }, + "lastUpdatedTs": { + "$ref": "#/components/schemas/LocalDateTime" + } + } + }, + "LastScanSupportInfo": { + "type": "object", + "properties": { + "lastScanTimestamp": { + "$ref": "#/components/schemas/LocalDateTime" + }, + "alertsInserted": { + "format": "int64", + "type": "integer" + }, + "lastScanInfoDetails": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LastScanInfo" + } + }, + "lastVulnerabilityScanTs": { + "$ref": "#/components/schemas/LocalDateTime" + }, + "vulnerabilitiesInserted": { + "format": "int64", + "type": "integer" + }, + "vulnerabilitiesRunDetails": { + "type": "array", + "items": { + "$ref": "#/components/schemas/VulnRunMetaSupportDetails" + } + } + } + }, + "LocalDateTime": { + "format": "date-time", + "type": "string", + "example": "2022-03-10T12:15:50.000Z" + }, + "MeanResolutionResponse": { + "type": "object", + "properties": { + "startTime": { + "format": "int64", + "description": "Start time of the time range", + "type": "integer" + }, + "endTime": { + "format": "int64", + "description": "End time of the time range", + "type": "integer" + }, + "lastScanTs": { + "format": "int64", + "description": "Last scan time of the backend job", + "type": "integer" + }, + "dataAvailableFrom": { + "format": "int64", + "description": "Time since when the data is aggregated in the response", + "type": "integer" + }, + "value": { + "description": "Alert metrics details", + "type": "array", + "items": { + "$ref": "#/components/schemas/MeanResolutionTimeMetric" + } + } + } + }, + "MeanResolutionTimeFilter": { + "enum": [ + "policy.severity", + "account.groupId", + "policy.complianceStandardId", + "cloud.type", + "policy.type", + "policy.id", + "policy.category", + "cloud.accountId" + ], + "type": "string" + }, + "MeanResolutionTimeFilterRequest": { + "type": "object", + "properties": { + "name": { + "description": "Filter name.", + "type": "string", + "allOf": [ + { + "$ref": "#/components/schemas/MeanResolutionTimeFilter" + } + ] + }, + "operator": { + "description": "Only operator allowed for this filter is '='.", + "type": "string" + }, + "value": { + "description": "Filter value.", + "type": "string" + } + } + }, + "MeanResolutionTimeMetric": { + "type": "object", + "properties": { + "severity": { + "description": "Severity name", + "type": "string" + }, + "numberOfDays": { + "format": "double", + "description": "Mean resolution time in days", + "type": "number" + } + } + }, "RelativeTimeDuration": { "type": "object", "properties": { @@ -506,6 +807,88 @@ } } }, + "ResolutionReasonCountMetric": { + "type": "object", + "properties": { + "resolutionReason": { + "description": "Reason for resolution", + "type": "string" + }, + "count": { + "format": "int32", + "description": "Alert count for the resolution reason", + "type": "integer" + } + } + }, + "ResolutionReasonFilter": { + "enum": [ + "alert.resolutionReason", + "policy.severity", + "account.groupId", + "policy.complianceStandardId", + "cloud.type", + "policy.type", + "policy.id", + "policy.category", + "cloud.accountId" + ], + "type": "string" + }, + "ResolutionReasonFilterRequest": { + "type": "object", + "properties": { + "name": { + "description": "Filter name.", + "type": "string", + "allOf": [ + { + "$ref": "#/components/schemas/ResolutionReasonFilter" + } + ] + }, + "operator": { + "description": "Only operator allowed for this filter is '='.", + "type": "string" + }, + "value": { + "description": "Filter value.", + "type": "string" + } + } + }, + "ResolutionReasonResponse": { + "type": "object", + "properties": { + "startTime": { + "format": "int64", + "description": "Start time of the time range", + "type": "integer" + }, + "endTime": { + "format": "int64", + "description": "End time of the time range", + "type": "integer" + }, + "lastScanTs": { + "format": "int64", + "description": "Last scan time of the backend job", + "type": "integer" + }, + "dataAvailableFrom": { + "format": "int64", + "description": "Time since when the data is aggregated in the response", + "type": "integer" + }, + "value": { + "description": "Alert metrics details", + "type": "array", + "items": { + "$ref": "#/components/schemas/ResolutionReasonCountMetric" + } + } + } + }, "SummaryResponse": { "type": "object", "properties": { @@ -539,6 +922,64 @@ } } }, + "SupportWidgetApiRequestMeanResolutionTimeFilterRequest": { + "required": [ + "timeRange" + ], + "type": "object", + "properties": { + "filters": { + "description": "List of filters that can be applied for the API", + "type": "array", + "items": { + "$ref": "#/components/schemas/MeanResolutionTimeFilterRequest" + } + }, + "timeRange": { + "description": "Time range for which the API is requested", + "type": "object", + "allOf": [ + { + "$ref": "#/components/schemas/WidgetRelativeTimeRangeConfig" + } + ] + }, + "prismaId": { + "format": "int64", + "description": "Prisma ID", + "type": "integer" + } + } + }, + "SupportWidgetApiRequestResolutionReasonFilterRequest": { + "required": [ + "timeRange" + ], + "type": "object", + "properties": { + "filters": { + "description": "List of filters that can be applied for the API", + "type": "array", + "items": { + "$ref": "#/components/schemas/ResolutionReasonFilterRequest" + } + }, + "timeRange": { + "description": "Time range for which the API is requested", + "type": "object", + "allOf": [ + { + "$ref": "#/components/schemas/WidgetRelativeTimeRangeConfig" + } + ] + }, + "prismaId": { + "format": "int64", + "description": "Prisma ID", + "type": "integer" + } + } + }, "SwimlaneApiRequest": { "required": [ "timeRange" @@ -600,7 +1041,8 @@ "enum": [ "hour", "week", - "month" + "month", + "year" ], "type": "string" }, @@ -801,6 +1243,17 @@ } } }, + "VulnRunMetaSupportDetails": { + "type": "object", + "properties": { + "metaData": { + "type": "string" + }, + "runTime": { + "$ref": "#/components/schemas/LocalDateTime" + } + } + }, "VulnerabilityCounts": { "type": "object", "properties": { @@ -872,6 +1325,93 @@ "type": "integer" } } + }, + "WidgetApiRequestMeanResolutionTimeFilterRequest": { + "required": [ + "timeRange" + ], + "type": "object", + "properties": { + "filters": { + "description": "List of filters that can be applied for the API", + "type": "array", + "items": { + "$ref": "#/components/schemas/MeanResolutionTimeFilterRequest" + } + }, + "timeRange": { + "description": "Time range for which the API is requested", + "type": "object", + "allOf": [ + { + "$ref": "#/components/schemas/WidgetRelativeTimeRangeConfig" + } + ] + } + } + }, + "WidgetApiRequestResolutionReasonFilterRequest": { + "required": [ + "timeRange" + ], + "type": "object", + "properties": { + "filters": { + "description": "List of filters that can be applied for the API", + "type": "array", + "items": { + "$ref": "#/components/schemas/ResolutionReasonFilterRequest" + } + }, + "timeRange": { + "description": "Time range for which the API is requested", + "type": "object", + "allOf": [ + { + "$ref": "#/components/schemas/WidgetRelativeTimeRangeConfig" + } + ] + } + } + }, + "WidgetRelativeTimeDuration": { + "type": "object", + "properties": { + "unit": { + "$ref": "#/components/schemas/WidgetTimeUnit" + }, + "amount": { + "format": "int32", + "type": "integer" + } + } + }, + "WidgetRelativeTimeRangeConfig": { + "type": "object", + "properties": { + "type": { + "description": "Type of time ranges supported: [relative]", + "type": "string" + }, + "value": { + "description": "Relative time supporting past 24 hour, 7 days, 1 month, 3 months, 6 months and 1 year. ", + "type": "object", + "allOf": [ + { + "$ref": "#/components/schemas/WidgetRelativeTimeDuration" + } + ] + } + } + }, + "WidgetTimeUnit": { + "enum": [ + "hour", + "week", + "month", + "year" + ], + "type": "string" } }, "securitySchemes": { diff --git a/openapi-specs/cspm/Policy.json b/openapi-specs/cspm/Policy.json index 6fa33f898..e521865ff 100644 --- a/openapi-specs/cspm/Policy.json +++ b/openapi-specs/cspm/Policy.json @@ -264,7 +264,20 @@ "ueba", "permissions", "network_config", - "identity" + "identity", + "sensitive_data_exposure", + "internet_exposure", + "injections", + "vulnerability_scanning", + "shellshock", + "known_bots", + "unknown_bots", + "virtual_patches", + "event", + "misconfig_and_event", + "misconfig", + "host", + "container_image" ], "type": "string" }, @@ -283,8 +296,10 @@ "iam", "workload_vulnerability", "workload_incident", - "waas_event", - "attack_path" + "api", + "attack_path", + "malware", + "grayware" ], "type": "string" }, @@ -608,7 +623,20 @@ "ueba", "permissions", "network_config", - "identity" + "identity", + "sensitive_data_exposure", + "internet_exposure", + "injections", + "vulnerability_scanning", + "shellshock", + "known_bots", + "unknown_bots", + "virtual_patches", + "event", + "misconfig_and_event", + "misconfig", + "host", + "container_image" ], "type": "string" }, @@ -627,8 +655,10 @@ "iam", "workload_vulnerability", "workload_incident", - "waas_event", - "attack_path" + "api", + "attack_path", + "malware", + "grayware" ], "type": "string" }, @@ -834,7 +864,20 @@ "ueba", "permissions", "network_config", - "identity" + "identity", + "sensitive_data_exposure", + "internet_exposure", + "injections", + "vulnerability_scanning", + "shellshock", + "known_bots", + "unknown_bots", + "virtual_patches", + "event", + "misconfig_and_event", + "misconfig", + "host", + "container_image" ], "type": "string" }, @@ -853,8 +896,10 @@ "iam", "workload_vulnerability", "workload_incident", - "waas_event", - "attack_path" + "api", + "attack_path", + "malware", + "grayware" ], "type": "string" }, diff --git a/openapi-specs/cspm/UVEDashboardMicroService.json b/openapi-specs/cspm/UVEDashboardMicroService.json index 1b610175f..a45b87044 100644 --- a/openapi-specs/cspm/UVEDashboardMicroService.json +++ b/openapi-specs/cspm/UVEDashboardMicroService.json @@ -220,6 +220,110 @@ ] } }, + "/uve/api/v2/dashboard/vulnerabilities/prioritised": { + "get": { + "summary": "Get Prioritized Vulnerabilities V2", + "description": "Returns the top-priority unique vulnerabilities which are aggregated based on the most urgent, exploitable, patchable, and vulnerable packages in use along with the number of assets they occur in\n:::info\nThis endpoint is available on the Prisma Cloud Darwin release only.\n:::\n", + "tags": [ + "Unified Vulnerability Explorer" + ], + "operationId": "prioritised-vulnerability-v2", + "parameters": [ + { + "name": "asset_type", + "description": "Type of Asset", + "in": "query", + "required": true, + "schema": { + "type": "string", + "enum": [ + "iac", + "package", + "deployedImage", + "serverlessFunction", + "host", + "registryImage", + "vmImage" + ] + } + }, + { + "name": "life_cycle", + "description": "Life Cycle stage", + "in": "query", + "required": true, + "schema": { + "type": "string", + "enum": [ + "code", + "build", + "deploy", + "run" + ] + } + } + ], + "responses": { + "200": { + "description": "Successful response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PrioritizedVulnerabilitiesV2" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorResponse" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorResponse" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorResponse" + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorResponse" + } + } + } + } + }, + "x-public": "true", + "x-ga": "24.1.2-darwin", + "security": [ + { + "x-redlock-auth": [] + } + ] + } + }, "/uve/api/v1/dashboard/vulnerabilities/impact-stage": { "get": { "summary": "Get Vulnerability Impact by Stage", @@ -631,6 +735,113 @@ } } }, + "OverviewWidgetV2": { + "type": "object", + "properties": { + "overviewSummary": { + "$ref": "#/components/schemas/OverviewSummary" + }, + "values": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TrendCount" + } + } + } + }, + "Values": { + "type": "array", + "properties": { + "values": { + "type": "object", + "items": { + "$ref": "#/components/schemas/TrendCount" + } + } + } + }, + "TrendCount": { + "type": "object", + "properties": { + "lastUpdatedDateTime": { + "type": "integer", + "format": "int64" + }, + "totalVulnerabilityCount": { + "type": "integer", + "format": "int64" + }, + "totalVulnerableAsset": { + "type": "integer", + "format": "int64" + }, + "totalRemediationCount": { + "type": "integer", + "format": "int64" + } + } + }, + "OverviewSummary": { + "type": "object", + "description": "Provides Summary of the vulnerability, remediated and asset counts in Runtime", + "properties": { + "totalVulnerableRuntimeAssets": { + "$ref": "#/components/schemas/VulnerableAssetByType" + }, + "totalVulnerabilitiesinRuntime": { + "$ref": "#/components/schemas/VulnerabilityCountBySeverity" + }, + "totalRemediatedinRuntime": { + "$ref": "#/components/schemas/VulnerabilityCountBySeverity" + } + } + }, + "VulnerableAssetByType": { + "type": "object", + "properties": { + "totalCount": { + "type": "integer", + "format": "int64" + }, + "deployedImageCount": { + "type": "integer", + "format": "int64" + }, + "serverlessFunctionCount": { + "type": "integer", + "format": "int64" + }, + "hostCount": { + "type": "integer", + "format": "int64" + } + } + }, + "VulnerabilityCountBySeverity": { + "type": "object", + "properties": { + "totalCount": { + "type": "integer", + "format": "int64" + }, + "criticalCount": { + "type": "integer", + "format": "int64" + }, + "highCount": { + "type": "integer", + "format": "int64" + }, + "mediumCount": { + "type": "integer", + "format": "int64" + }, + "lowCount": { + "type": "integer", + "format": "int64" + } + } + }, "Overview": { "type": "object", "properties": { @@ -673,6 +884,43 @@ } } }, + "PrioritizedVulnerabilitiesV2": { + "type": "object", + "properties": { + "lastUpdatedDateTime": { + "type": "integer", + "format": "int64" + }, + "totalVulnerabilities": { + "type": "integer" + }, + "urgent": { + "$ref": "#/components/schemas/VulnerabilityInfo" + }, + "patchable": { + "$ref": "#/components/schemas/VulnerabilityInfo" + }, + "exploitable": { + "$ref": "#/components/schemas/VulnerabilityInfo" + }, + "packageInUse": { + "$ref": "#/components/schemas/VulnerabilityInfo" + } + } + }, + "VulnerabilityInfo": { + "type": "object", + "properties": { + "vulnerabilityCount": { + "type": "integer", + "format": "int64" + }, + "assetCount": { + "type": "integer", + "format": "int64" + } + } + }, "TopPrioritizedVulnerabilities": { "type": "object", "properties": { diff --git a/openapi-specs/cspm/WidgetMicroService.json b/openapi-specs/cspm/WidgetMicroService.json index 389c09106..f35d5ca5e 100644 --- a/openapi-specs/cspm/WidgetMicroService.json +++ b/openapi-specs/cspm/WidgetMicroService.json @@ -68,7 +68,7 @@ "Widgets" ], "summary": "Get Discovered and Secured Resources", - "description": "Get resources detected by Cloud Discovery as well as the resources secured by deployed defenders.\n:::info\nThis endpoint is available on the Prisma Cloud Darwin release only.\n:::\n", + "description": "Get resources detected by Cloud Discovery as well as the resources secured by deployed defenders.", "operationId": "value-widgets-get-discovered-vs-secured", "requestBody": { "content": { @@ -112,7 +112,7 @@ "x-redlock-auth": [] } ], - "x-ga": "24.1.1-darwin", + "x-ga": "24.1.1", "x-public": "true", "x-codegen-request-body-name": "body" } @@ -123,7 +123,7 @@ "Widgets" ], "summary": "Get Vulnerabilities Trend", - "description": "Get vulnerabilities discovered and resolved over time across images, hosts, functions, and containers for the impacted resources.\n:::info\nThis endpoint is available on the Prisma Cloud Darwin release only.\n:::\n", + "description": "Get vulnerabilities discovered and resolved over time across images, hosts, functions, and containers for the impacted resources.", "operationId": "value-widgets-get-vulnerabilities-trend", "requestBody": { "content": { @@ -167,7 +167,7 @@ "x-redlock-auth": [] } ], - "x-ga": "24.1.1-darwin", + "x-ga": "24.1.1", "x-public": "true", "x-codegen-request-body-name": "body" } @@ -178,7 +178,7 @@ "Widgets" ], "summary": "Get Assets with Alerts", - "description": "Get the list of assets generating alerts.\n:::info\nThis endpoint is available on the Prisma Cloud Darwin release only.\n:::\n", + "description": "Get the list of assets generating alerts.", "operationId": "value-widgets-get-assets-with-alerts", "requestBody": { "content": { @@ -222,7 +222,7 @@ "x-redlock-auth": [] } ], - "x-ga": "24.1.1-darwin", + "x-ga": "24.1.1", "x-public": "true", "x-codegen-request-body-name": "body" } diff --git a/openapi-specs/cspm/consolidated_spec/all_endpoints.csv b/openapi-specs/cspm/consolidated_spec/all_endpoints.csv index 29a274c30..22908d825 100644 --- a/openapi-specs/cspm/consolidated_spec/all_endpoints.csv +++ b/openapi-specs/cspm/consolidated_spec/all_endpoints.csv @@ -52,6 +52,7 @@ "post","/alert/v1/policy","Get Alert Count of Policies","alert-Policy-List","Alerts","AlertsMicroServices.json" "post","/alert/v1/aggregate","Get Alert Count by Policy Groups","alert-Aggregation","Alerts","AlertsMicroServices.json" "get","/alert/v1/{id}/graph","Get Alert Evidence Graph","get-Alert-Evidence-Graph","Alerts","AlertsMicroServices.json" +"post","/alerts/api/v1/notification/ondemand","Create On Demand Notification","create-Ondemand-Notification","Alerts","AlertsNotificationMicroService.json" "get","/anomalies/trusted_list","Get Anomaly Trusted List","getAllWhitelistEntries","Anomalies","AnomaliesMicroService.json" "post","/anomalies/trusted_list","Add Entries to Anomaly Trusted List","addToTrustedList","Anomalies","AnomaliesMicroService.json" "get","/anomalies/trusted_list/{id}","Get Anomaly Trusted List Entry","getWhitelistEntryById","Anomalies","AnomaliesMicroService.json" @@ -161,6 +162,8 @@ "delete","/entitlement/api/v1/collection/{id}","Delete Collection","delete-collection-by-id","Collections","Monolith" "get","/entitlement/api/v1/collection","Get All Collections","get-all-collections","Collections","Monolith" "post","/entitlement/api/v1/collection","Create Collection","create-collection","Collections","Monolith" +"post","/api/v1/metrics/alert-count-by-resolution-reason","Get Alerts Count By Resolution Reason","value-widgets-alert-metrics-resolution-reason","Widgets","CommandCenterMicroService.json" +"post","/api/v1/metrics/alert-mean-resolution-time","Get Mean Resolution Time","value-widgets-alert-metrics","Widgets","CommandCenterMicroService.json" "post","/api/v1/summary/{swimlane-type}","List Total Alerts by Severity","command-center-list-total-alerts-by-severity","Command Center","CommandCenterMicroService.json" "post","/api/v1/top-assets/{swimlane-type}","List Top N Assets","command-center-list-top-assets","Command Center","CommandCenterMicroService.json" "post","/api/v1/top-policies/{swimlane-type}","List Top Policies","command-center-list-top-policies","Command Center","CommandCenterMicroService.json" @@ -428,6 +431,7 @@ "get","/check","Health Check","health-check","System","Monolith" "get","/uve/api/v1/dashboard/vulnerabilities/overview","Get Vulnerability Overview","vulnerability-dashboard-overview","Unified Vulnerability Explorer","UVEDashboardMicroService.json" "get","/uve/api/v1/dashboard/vulnerabilities/prioritised","Get Prioritized Vulnerabilities","prioritised-vulnerability","Unified Vulnerability Explorer","UVEDashboardMicroService.json" +"get","/uve/api/v2/dashboard/vulnerabilities/prioritised","Get Prioritized Vulnerabilities V2","prioritised-vulnerability-v2","Unified Vulnerability Explorer","UVEDashboardMicroService.json" "get","/uve/api/v1/dashboard/vulnerabilities/impact-stage","Get Vulnerability Impact by Stage","vulnerability-impact-by-stage","Unified Vulnerability Explorer","UVEDashboardMicroService.json" "get","/uve/api/v1/dashboard/vulnerabilities/prioritised-vuln","Get Top Impacting Vulnerabilities","top-prioritised-vulnerability","Unified Vulnerability Explorer","UVEDashboardMicroService.json" "get","/uve/api/v1/dashboard/vulnerabilities/cve-overview","Get CVE Overview","cve-overview","Unified Vulnerability Explorer","UVEDashboardMicroService.json"