openapi: 3.0.0

info:
    title: GreyNoise API
    description: GreyNoise API for IP noise analysis
    version: "v1"

servers:
    - url: https://api.greynoise.io

paths:
    /v3/community/{ip}:
        get:
            operationId: Look up IP address noise
            summary: Look up noise information on an IP address.
            description: |
                This endpoint allows you to check an IP address against the GreyNoise database.
                #ExamplePrompts Tell me about Ip address "118.25.6.39" using the GreyNoise database
                #ExamplePrompts Use the GreyNoise database to provide info on "118.25.6.39"
                #ExamplePrompts What does the GreyNoise database say about the IP address 180.126.219.127?
                #ExamplePrompts I'm curious about any GreyNoise records for the IP address 180.126.219.127. Can you look that up for me?
                #ExamplePrompts Can you provide me with information on any GreyNoise reports for the IP address 180.126.219.127?
                #ExamplePrompts I'd like to know if there are any GreyNoise entries for the IP address 180.126.219.127. Can you check that for me?
                #ExamplePrompts Could you give me an overview of the GreyNoise record for the IP address 180.126.219.127?
            parameters:
                - in: path
                  name: ip
                  schema:
                      type: string
                  required: true
                  description: The IP address to lookup
            responses:
                "401":
                    description: Unauthorized
                "404":
                    description: Not Found
                "429":
                    description: Rate Limit Exceeded
                "500":
                    description: Internal Server Error
                "200":
                    description: OK
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/LookupIpCommunityResponse"

components:
    schemas:
        LookupIpCommunityResponse:
            type: object
            properties:
                ip:
                    type: string
                    description: The IP address
                noise:
                    type: boolean
                    description: Indicates if the IP is considered an internet scanner
                riot:
                    type: boolean
                    description: Indicates if the IP is a common business service
                classification:
                    type: string
                    description: The classification of the IP
                name:
                    type: string
                    description: The actor or provider associated with the IP
                last_seen:
                    type: string
                    description: The last time the IP was seen
                link:
                    type: string
                    description: A link to the GreyNoise visualizer for the IP
