{
  "openapi": "3.0.0",
  "info": {
    "title": "GreyNoise Enterprise API",
    "description": "GreyNoise Enterprise API for IP noise analysis",
    "version": "2.0"
  },
  "servers": [
    {
      "url": "https://api.greynoise.io"
    }
  ],
  "paths": {
    "/v2/noise/context/{ip}": {
      "get": {
        "operationId": "Look up IP context",
        "summary": "Look up IP context from Greynoise database.",
        "description": "This endpoint allows you to check an IP context against the GreyNoise database.\n#ExamplePrompts Tell me about Ip address \"118.25.6.39\" using GreyNoise database\n#ExamplePrompts Find the GreyNoise IP Context for IP 183.221.243.13\n",
        "parameters": [
          {
            "name": "ip",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The IP address to get context for."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "400 response",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/v2/noise/quick/{ip}": {
      "get": {
        "operationId": "Look up IP quick",
        "summary": "Check if an IP is \"noise\" or not.",
        "description": "This endpoint provides a quick way to check if an IP is \"noise\" or not.\n#ExamplePrompts Use GreyNoise to do a quick check of IP 183.221.243.13\n#ExamplePrompts Find the GreyNoise for IP 183.221.243.13 using a quick lookup\n",
        "parameters": [
          {
            "name": "ip",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The IP address to check."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "400 response",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/v2/noise/multi/quick": {
      "post": {
        "operationId": "Look up multiple IPs",
        "summary": "Look up IP addresses in bulk.",
        "description": "This endpoint allows you to quickly lookup data on IPs in bulk\n#ExamplePrompts Lookup Multiple IPs using GreyNoise 183.221.243.13 and 8.8.8.8\n#ExamplePrompts I want to know about multiple IPs using GreyNoise. The IP addresses are 183.221.243.13 and 8.8.8.8.\n",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ips": {
                    "type": "string",
                    "items": {
                      "type": "string"
                    },
                    "description": "List of IP addresses to look up. i.e. [\"1.2.3.4\", \"5.6.7.8\", \"8.8.8.8\", \"123.123.123.123\"]"
                  }
                },
                "required": [
                  "ips"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "400 response",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/v2/riot/{ip}": {
      "get": {
        "operationId": "Look up IP riot",
        "summary": "Look up commonly whitelisted IPs.",
        "description": "This endpoint provides information about commonly whitelisted IPs.\n#ExamplePrompts Use GreyNoise to check the Riot information on IP 183.221.243.13\n#ExamplePrompts I want to know the GreyNoise riot information on IP 8.8.8.8\n",
        "parameters": [
          {
            "name": "ip",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The IP address to get information for."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "400 response",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/v2/experimental/gnql": {
      "get": {
        "operationId": "Look up GNQL",
        "summary": "Use the GreyNoise Query Language (GNQL) to query against the GreyNoise dataset.",
        "description": "This endpoint allows you to use the GreyNoise Query Language (GNQL) to make complex queries against the GreyNoise dataset.\n#ExamplePrompts Use GreyNoise to check the GNQL information on tags:\"RDP Scanner\"\n#ExamplePrompts Query GNQL for tags:\"RDP Scanner\"\n#ExamplePrompts Search for all IPs scanning sensors located in Germany with GNQL GreyNoise Enterprise destination_country:\"Germany\"\n",
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The GNQL query to execute."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "400 response",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/v2/experimental/gnql/stats": {
      "get": {
        "operationId": "Look up CVE stats",
        "summary": "Use the GreyNoise Query Language (GNQL) stats to query against the GreyNoise dataset for CVE information.",
        "description": "This endpoint allows you to use the GreyNoise Query Language (GNQL) stats endpoint to query for CVE stats information\n#ExamplePrompts Use GreyNoise to check stats on CVE-2017-17215\n#ExamplePrompts What does GreyNoise know about CVE-2017-17215\n",
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The CVE."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "400 response",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    }
  }
}