{
  "openapi": "3.0.1",
  "info": {
    "title": "CISA KEV Asset Remediation Report",
    "description": "Compare a bounded buyer-supplied asset inventory with the official CISA Known Exploited Vulnerabilities Catalog. Return conservative potential matches, CISA requiredAction and dueDate evidence, deadline alerts, and review handoffs. Matches are never assertions that an asset is vulnerable or compromi",
    "version": "0.1",
    "x-build-id": "V79hgp4cQhhlo8pQ2"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/taroyamada~cisa-kev-asset-remediation-report/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-taroyamada-cisa-kev-asset-remediation-report",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/taroyamada~cisa-kev-asset-remediation-report/runs": {
      "post": {
        "operationId": "runs-sync-taroyamada-cisa-kev-asset-remediation-report",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/taroyamada~cisa-kev-asset-remediation-report/run-sync": {
      "post": {
        "operationId": "run-sync-taroyamada-cisa-kev-asset-remediation-report",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "required": [
          "assets",
          "monitorKey",
          "initialRunMode",
          "generateReport",
          "emitPotentialMatches",
          "includeDeadlineAlerts",
          "emitUnchanged",
          "maxChargeUsd",
          "dryRun"
        ],
        "properties": {
          "assets": {
            "title": "Authorized asset inventory",
            "minItems": 1,
            "maxItems": 250,
            "type": "array",
            "description": "Buyer-supplied bounded inventory. Each item needs vendor+product or a CPE 2.3 application/hardware/OS value. Product-name matching is conservative and does not prove applicability.",
            "items": {
              "type": "object",
              "properties": {
                "assetId": {
                  "title": "Asset ID",
                  "type": "string",
                  "description": "Stable buyer-owned identifier used for state and review joins."
                },
                "vendor": {
                  "title": "Vendor",
                  "type": "string",
                  "description": "Vendor or project name from the buyer inventory."
                },
                "product": {
                  "title": "Product",
                  "type": "string",
                  "description": "Product name from the buyer inventory."
                },
                "aliases": {
                  "title": "Product aliases",
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "maxItems": 10,
                  "description": "Explicit buyer-supplied product aliases; aliases are not inferred."
                },
                "vendorAliases": {
                  "title": "Vendor aliases",
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "maxItems": 10,
                  "description": "Explicit buyer-supplied vendor aliases; aliases are not inferred."
                },
                "versions": {
                  "title": "Recorded versions",
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "maxItems": 20,
                  "description": "Recorded inventory versions; CISA KEV does not provide enough information for version compatibility proof."
                },
                "cpe": {
                  "title": "CPE 2.3",
                  "type": "string",
                  "description": "Optional CPE 2.3 value used as additional exact vendor/product evidence."
                },
                "environment": {
                  "title": "Environment",
                  "type": "string",
                  "description": "Optional buyer-defined environment such as production or staging."
                },
                "label": {
                  "title": "Display label",
                  "type": "string",
                  "description": "Optional buyer-defined label used only in the review output."
                }
              },
              "required": [
                "assetId"
              ]
            },
            "default": [
              {
                "assetId": "web-prod-01",
                "vendor": "Apache",
                "product": "Log4j2",
                "versions": [
                  "2.14.1"
                ],
                "environment": "production"
              }
            ]
          },
          "monitorKey": {
            "title": "Monitor key",
            "type": "string",
            "description": "Stable key for the saved baseline. Use a different key for an independent inventory.",
            "default": "production-asset-portfolio"
          },
          "initialRunMode": {
            "title": "Initial run mode",
            "enum": [
              "baseline_only",
              "emit_backfill"
            ],
            "type": "string",
            "description": "baseline_only always saves a validated snapshot with 0 rows/0 charge. emit_backfill emits current changed matches on the first completed run.",
            "default": "baseline_only"
          },
          "generateReport": {
            "title": "Generate report",
            "type": "boolean",
            "description": "Emit one report event when changed potential matches exist.",
            "default": true
          },
          "emitPotentialMatches": {
            "title": "Emit potential-match rows",
            "type": "boolean",
            "description": "Emit per-asset potential_match/review_required rows for changed matches.",
            "default": true
          },
          "includeDeadlineAlerts": {
            "title": "Include deadline alerts",
            "type": "boolean",
            "description": "Emit a deadline alert for a changed/new match due within the selected window or with a changed dueDate.",
            "default": true
          },
          "deadlineWithinDays": {
            "title": "Deadline window days",
            "minimum": 0,
            "maximum": 3650,
            "type": "integer",
            "description": "Emit deadline review alerts for changed matches due within this many days.",
            "default": 30
          },
          "emitUnchanged": {
            "title": "Emit unchanged rows",
            "type": "boolean",
            "description": "Compatibility field. Unchanged runs always produce 0 rows and 0 charge, even if true.",
            "default": false
          },
          "emitExport": {
            "title": "Generate export",
            "type": "boolean",
            "description": "Emit one dataset JSON handoff event after the report and alerts.",
            "default": false
          },
          "dryRun": {
            "title": "Dry run",
            "type": "boolean",
            "description": "Use deterministic fixture output without network, state writes, or charges.",
            "default": false
          },
          "maxChargeUsd": {
            "title": "Maximum charge USD",
            "minimum": 0,
            "maximum": 5000,
            "type": "number",
            "description": "The complete unique event plan must fit this cap before any dataset event is pushed.",
            "default": 50
          },
          "requestTimeoutSeconds": {
            "title": "Request timeout seconds",
            "minimum": 2,
            "maximum": 120,
            "type": "integer",
            "description": "Maximum time allowed for the official CISA catalog request.",
            "default": 30
          },
          "rateLimitMs": {
            "title": "Minimum request interval ms",
            "minimum": 0,
            "maximum": 10000,
            "type": "integer",
            "description": "Minimum delay before an official source retry.",
            "default": 250
          },
          "maxRetries": {
            "title": "Maximum retries",
            "minimum": 0,
            "maximum": 4,
            "type": "integer",
            "description": "Maximum retry count for transient official source failures.",
            "default": 2
          },
          "backoffBaseMs": {
            "title": "Backoff base ms",
            "minimum": 0,
            "maximum": 5000,
            "type": "integer",
            "description": "Initial exponential backoff delay after a transient source failure.",
            "default": 250
          },
          "maxBackoffMs": {
            "title": "Maximum backoff ms",
            "minimum": 0,
            "maximum": 15000,
            "type": "integer",
            "description": "Maximum exponential backoff delay between retries.",
            "default": 4000
          },
          "delivery": {
            "title": "Delivery mode",
            "enum": [
              "dataset",
              "webhook"
            ],
            "type": "string",
            "description": "Deliver to the default dataset or also copy the completed payload to an HTTPS webhook.",
            "default": "dataset"
          },
          "webhookUrl": {
            "title": "Webhook URL",
            "type": "string",
            "description": "Optional HTTPS copy after dataset event delivery."
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}