{
  "openapi": "3.0.1",
  "info": {
    "title": "CVE Monitor — New NVD Vulnerabilities for Your Watchlist",
    "description": "New CVEs from the official NIST NVD for the vendors and products you watch, with CVSS v3/v4 scores, CWEs, affected CPEs and CISA KEV status. Schedule it to get only vulnerabilities published or updated since the last run.",
    "version": "0.1",
    "x-build-id": "CqJz9NXCUXLgi9q0i"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/harvestworks~cve-monitor/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-harvestworks-cve-monitor",
        "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/harvestworks~cve-monitor/runs": {
      "post": {
        "operationId": "runs-sync-harvestworks-cve-monitor",
        "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/harvestworks~cve-monitor/run-sync": {
      "post": {
        "operationId": "run-sync-harvestworks-cve-monitor",
        "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",
        "properties": {
          "keywords": {
            "title": "Keywords",
            "maxItems": 25,
            "type": "array",
            "description": "Vendor or product names to watch, e.g. \"Apache Tomcat\", \"Fortinet\", \"WordPress\". Matched against the CVE description (case-insensitive). A phrase with several words matches only that exact phrase; a single word also matches longer words that start with it (\"tomcat\" matches \"tomcats\"). Keywords and CPE names together: up to 25 per run. Add at least one keyword or CPE name.",
            "items": {
              "type": "string"
            }
          },
          "cpeNames": {
            "title": "CPE names (optional)",
            "maxItems": 25,
            "type": "array",
            "description": "Precise product matching via NVD's CPE data, e.g. \"cpe:2.3:a:apache:tomcat\" (every version) or \"cpe:2.3:o:microsoft:windows_10:1607\" (one version, version ranges apply). Only CVEs NVD has already analyzed carry CPE data, so very new CVEs may show up here later than under keywords. Find CPE names at nvd.nist.gov/products/cpe/search.",
            "items": {
              "type": "string"
            }
          },
          "minSeverity": {
            "title": "Minimum severity",
            "enum": [
              "NONE",
              "LOW",
              "MEDIUM",
              "HIGH",
              "CRITICAL"
            ],
            "type": "string",
            "description": "Only CVEs whose CVSS v4.0 or v3.x base severity (whichever is higher) is at least this. CVEs without a score yet are left out when this is set; they are returned once scored if still inside the look-back window.",
            "default": "NONE"
          },
          "includeUpdated": {
            "title": "Include updated CVEs",
            "type": "boolean",
            "description": "Also return older CVEs that were modified in the look-back window (new score, CPEs, CISA KEV listing, references), and return a delivered CVE again when it changes. Off: only CVEs first published in the window.",
            "default": false
          },
          "lookbackDays": {
            "title": "Look back (days)",
            "minimum": 1,
            "maximum": 120,
            "type": "integer",
            "description": "Only CVEs published (or, with \"Include updated CVEs\", modified) in the last N days. 1-120; 120 days is the NVD API's limit.",
            "default": 7
          },
          "onlyNew": {
            "title": "Only new CVEs",
            "type": "boolean",
            "description": "Skip CVEs a previous run with the same keywords and CPE names already returned. On by default for API calls and schedules; unchecked in this form so a first try shows results. Turn it on when you schedule the Actor (e.g. daily) to get only new CVEs each time.",
            "default": true
          },
          "maxResults": {
            "title": "Max CVEs per run",
            "minimum": 1,
            "type": "integer",
            "description": "Stop after this many CVEs. With \"Only new CVEs\" on, the rest are returned on the next run.",
            "default": 1000
          },
          "nvdApiKey": {
            "title": "NVD API key (optional)",
            "type": "string",
            "description": "Your own free NVD API key (request one at nvd.nist.gov/developers/request-an-api-key). Without it, the Actor waits about 6.5 s between requests to stay under NVD's public limit of 5 requests per 30 seconds; with it, about 1 s. NVD's terms say a key must not be shared, so use your own."
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}